外部シンボル~~が出て何を言っているのかわかりません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
いりな

外部シンボル~~が出て何を言っているのかわかりません

#1

投稿記事 by いりな » 5年前

[*]学校の課題でゲームを作成しているのですが分割したプログラムをつなげるときに「外部シンボル 'sento(char, char, char, char, int, char)' が未解決」とでてつながりません。どうしたらつながりますか?
コードはこれです。


field.cpp

コード:

#include<stdio.h>
#include <time.h>
#include <stdlib.h>
#include<conio.h>
#define MAZE_ROW    40
#define MAZE_COLUMN 39

void clearscreen();
char sento(char n1,char n2,char nm1,char nm2,int ss,char n);


enum MazeKind{
	PATH=0,
	WALL,
	PL,
	KUSA,
	YABE,
	MODORU,
	START
};
//迷路の種類	//1は進めない。0は進める。2はプレイヤー。3は草むら。4は強モンスターいるかも。5はもとにもどる。6がスタート
enum MazeFlag { MIERU=0,MIENAI } ;
//MIERU見えるMIENAIは見えない
typedef struct
{
	enum MazeKind kind;
	enum MazeFlag flag;
}MazeBlock;
typedef struct
{
	int row;
	int column;
}MazePlayer;

int MazePlayerInit(int *playerRow, int *playerColumn, MazeBlock maze[MAZE_ROW][MAZE_COLUMN])
{
  int i, j;

  for(i = 0; i < MAZE_ROW ; i++) //行
  {
    for(j = 0;  j < MAZE_COLUMN; j++) //列
    {
      if(maze[i][j].kind == START) //スタート地点ならばプレイヤーの位置に設定する
      {
        *playerRow    = i;
        *playerColumn = j;
        return 0; //関数終了(プレイヤーを設定できれば残りの処理は必要ない)
      }
    }
  }

  //スタート地点がなければ、プレイヤーを設定できずここまでくる
  printf("スタートがありません\n");
  return -1;
}
void MazeDraw(int playerRow, int playerColumn, MazeBlock maze[MAZE_ROW][MAZE_COLUMN],char n1,char n2,char nm1,char nm2)
{
  int i, j,s,ss;
  char n,*nn1,*nn2,nnn1,nnn2;//nはキャラレベルnn〇はnnn〇はキャラレベル比較用
  *nn1=n1+1;
  *nn2=n2+1;
  n=*nn1;
  nnn1=n1;
  nnn2=n2;
	if(nnn1<nnn2){
		n=*nn2+1;
	}
  for(i = 0; i < MAZE_ROW; i++) //行
  {
    for(j = 0; j < MAZE_COLUMN; j++ ) //列
    {
      if(i == playerRow && j == playerColumn) //プレイヤー位置
      {
        printf("P");
      }
      else if(maze[i][j].flag == MIENAI) //ブロックが判明していない場合
      {
        printf("?");
      }
      else
      {
        switch(maze[i][j].kind)
        {
        case 1:
          printf("□");
		  
		   break; //壁
        case 5:
          printf("JP");
		  
		   break; //jp
		case 3:
		  printf("ww");
		 	 s=rand()%10+1;
			 switch(s){
			 	case 1:
				case 2:
				case 3:
				case 4:
				case 5:
					break;
				case 6:
				case 7:
				case 8:
				case 9:
				case 10:
					ss=1;
					sento(n1,n2,nm1,nm2,ss,n);
					break;
			 }
		   break;//草むら
		case 4:
			printf("X ");
			s=rand()%10+1;
			switch(s){
			 	case 1:
				case 2:
				case 3:
				case 4:
				case 5:
					break;
				case 6:
				case 7:
				case 8:
				case 9:
				case 10:
					ss=2;
					sento(n1,n2,nm1,nm2,ss,n);
					break;
			 }
			break;//tuetokoro
        default:
          printf("  "); 
		  s=rand()%10+1;
		  switch(s){
			 	case 1:
				case 2:
				case 3:
				case 4:
				case 5:
				case 6:
				case 7:
				case 8:
					break;				
				case 9:
				case 10:
					ss=3;
					sento(n1,n2,nm1,nm2,ss,n);
					break;
			 }
		  break; //その他(道、スタート)
        }
      }
    }
    printf("\n");
  }
}

enum MazeDirection{UP, DOWN, LEFT, RIGHT, Invalid}; 

void MazePlayerMove(int *playerRow,int *playerColumn,MazeBlock maze[MAZE_ROW][MAZE_COLUMN])
{
  char buf[100];
  int  direction = -1;
  printf("%d:上\n", UP);
  printf("%d:下\n", DOWN);
  printf("%d:左\n", LEFT);
  printf("%d:右\n", RIGHT);
  printf("数字を入力してください。:");
  
  fgets(buf, sizeof(buf), stdin);      //文字列で入力を読み込む
  sscanf(buf, "%d", &direction);        //数字にできる場合は変換(できなければ何もしない)
  
  while(direction < 0 || direction > (Invalid - 1)) //入力が正しい場合まで繰り返す
  {
  	gotoxy(110,110);
    printf("入力が不正です。再入力してください:");
    fgets(buf, sizeof(buf), stdin);
    sscanf(buf, "%d", &direction);
  }
  clearscreen();
  switch(direction){
    //上移動
	
  case UP:
  {
    if(*playerRow-1>=0) //迷路の範囲外でないことを確認
    {
     maze[*playerRow-1][*playerColumn].flag=MIERU; //ブロックの種類が判明
	 
      if(maze[*playerRow-1][*playerColumn].kind!=WALL) //壁かどうか確認
      {
        *playerRow -= 1; //移動
        printf("\n上に移動しました。\n");
      }
      else
      {
        printf("\n壁です。\n");
      }
    }
    else
    {
      printf("\n範囲外です\n");
	  
    }
  }
  break;
  
  //下移動
  case DOWN:
  {
    if(*playerRow + 1 < MAZE_ROW)
    {
      maze[*playerRow + 1][*playerColumn].flag = MIERU;
	  
      if(maze[*playerRow + 1][*playerColumn].kind != WALL)
      {
        *playerRow += 1;
        printf("\n下に移動しました。\n");
      }
      else
      {
        printf("\n壁です。\n");
      }
    }
    else
    {
      printf("\n範囲外です\n");
	  
    }
  }
  break;
  
  //左移動
  case LEFT:
  {
    if(*playerColumn - 1 >= 0)
    {
      maze[*playerRow][*playerColumn - 1].flag = MIERU;
	  
      if(maze[*playerRow][*playerColumn - 1].kind != WALL)
      {
        *playerColumn -= 1;

		printf("\n左に移動しました。\n");
      }
      else
      {
        printf("\n壁です。\n");
      }
    }
    else
    {

      printf("\n範囲外です\n");
	  
    }
  }
  break;
  
  //右移動
  case RIGHT:
  {
    if(*playerColumn + 1 < MAZE_ROW)
    {
		
      maze[*playerRow][*playerColumn + 1].flag = MIERU;
	  
      if(maze[*playerRow][*playerColumn + 1].kind != WALL)
      {
        *playerColumn += 1;
        printf("\n右に移動しました。\n");
      }
      else
      {
        printf("\n壁です。\n");
      }
    }
    else
    {
		
      printf("\n範囲外です\n");
	  
    }
  }
  break;
  }
}



int Maze5check(int playerRow, int playerColumn, MazeBlock maze[MAZE_ROW][MAZE_COLUMN])
{
	
  if(maze[playerRow][playerColumn].kind == 5) //プレイヤー位置が5地点に等しい
  {
  	
    return 1;
  }
  return 0;
}


char field(char *n1,char *n2,char *nm1,char *nm2)
{
	
	MazePlayer player;
	clearscreen();
	srand(time(NULL));
	MazeBlock maze[MAZE_ROW][MAZE_COLUMN]={
		{{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{MODORU,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{START,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{PATH,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{WALL,MIERU},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIERU}},
		{{WALL,MIERU},{MODORU,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{KUSA,MIERU},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{WALL,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{YABE,MIENAI},{MODORU,MIERU},{WALL,MIERU}},
		{{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU},{WALL,MIERU}}
	};
	  //プレイヤー初期化
  if(MazePlayerInit(&player.row, &player.column, maze) == -1)
  {
    //関数MazePlayerInitが-1を返すとき初期化に失敗している
    //よって、この時点でプログラムを終了し、迷路の表示は行わない
    return 0;
  }

  while(Maze5check(player.row, player.column, maze) != 1) //ゴールするまで移動を繰り返す
  {
    //迷路表示
    MazeDraw(player.row, player.column, maze,*n1,*n2,*nm1,*nm2);
    //プレイヤー移動
    MazePlayerMove(&player.row, &player.column, maze);
	
  }
	
	
    return 0;
 
}



int rupu(char *n1,char *n2,char *nm1,char *nm2){
	while(1){
		field(n1, n2, nm1, nm2);
		printf("スタート地点に戻ったよ!");
	}
}


boss.cppのAAはまだ表示する段階ですらないのでつながっていればいいです。
よろしくお願いします。

いりな

Re: 外部シンボル~~が出て何を言っているのかわかりません

#2

投稿記事 by いりな » 5年前

mise.cpp

コード:

#include<stdio.h>
#include<conio.h>
#include<windows.h>



char mise(int shoji)
{
	int item=1,kosu,mon,kai,mina,sentaku;
	clearscreen();
	printf("モンスターキャッチャー          ");//アイテムの説めい
	printf("カイフクのくすり          ");
	printf("げんきのみなもと\n");
	printf("(説明)                        ");
	printf("(説明)                  ");
	printf("(説明)\n");
	printf("  冒険に行ったとき、              モンスターを              死んでしっまた\n");
	printf("  モンスターを                    かいふくさせる            モンスターを\n");
	printf("  捕まえる                        くすり                    HP半分でかいふく\n");
	printf("  ボール的なやつ\n\n\n");
	printf("モンスターキャッチャー          500en\n\n");
	printf("カイフクのくすり               1000en\n\n");
	printf("げんきのみなもと               5000en\n\n");
	printf("--------------------------------------------------------------------------------\n");//横線
	printf(" ミ リ オ ン |                                            所持金    %7den\n",shoji);
	printf("-------------");
	printf("\n\n\t何個買う?\n\n");
	printf("\r          1  モンスターキャッチャー    ←\n");
	printf("\r          2  カイフクのくすり                \n");
	printf("\r          3  げんきのみなもと                \n");
	printf("\r          4  お店から出る                    \n");
		
		while(1){
			if(GetAsyncKeyState(VK_DOWN)&&item==1){
				gotoxy(11,21);
				printf("\r          1  モンスターキャッチャー         \n");
				printf("\r          2  カイフクのくすり          ←\n");
				printf("\r          3  げんきのみなもと                \n");
				printf("\r          4  お店から出る                    \n");
				item=2;
				Sleep(3*100);
			}
			if(GetAsyncKeyState(VK_DOWN)&&item==2){
				gotoxy(11,21);
				printf("\r          1  モンスターキャッチャー         \n");
				printf("\r          2  カイフクのくすり               \n");
				printf("\r          3  げんきのみなもと          ←\n");
				printf("\r          4  お店から出る                    \n");
				item=3;
				Sleep(3*100);
			}
			if(GetAsyncKeyState(VK_DOWN)&&item==3){
				gotoxy(11,21);
				printf("\r          1  モンスターキャッチャー	      \n");
				printf("\r          2  カイフクのくすり      	      \n");
				printf("\r          3  げんきのみなもと               \n");
				printf("\r          4  お店から出る              ←\n");
				item=4;
				Sleep(3*100);
			}
			if(GetAsyncKeyState(VK_UP)&&item==4){
				gotoxy(11,21);
				printf("\r          1  モンスターキャッチャー	      \n");
				printf("\r          2  カイフクのくすり      	      \n");
				printf("\r          3  げんきのみなもと          ←\n");
				printf("\r          4  お店から出る                   \n");
				item=3;//4も作る
				Sleep(3*100);
			}
			if(GetAsyncKeyState(VK_UP)&&item==3){
				gotoxy(11,21);
				printf("\r          1  モンスターキャッチャー	      \n");
				printf("\r          2  カイフクのくすり          ←\n");
				printf("\r          3  げんきのみなもと               \n");
				printf("\r          4  お店から出る                   \n");
				item=2;
				Sleep(3*100);
			}
			if(GetAsyncKeyState(VK_UP)&&item==2){
				gotoxy(11,21);
				printf("\r          1  モンスターキャッチャー    ←\n");
				printf("\r          2  カイフクのくすり      	      \n");
				printf("\r          3  げんきのみなもと               \n");
				printf("\r          4  お店から出る                   \n");
				item=1;
				Sleep(3*100);
			}
			if(GetAsyncKeyState(VK_RETURN)&&item!=4){
				if(item==1){
					gotoxy(9,19);
					printf("何個買う?");
					scanf("%d",&kosu);
					mon=500*kosu;
					if(shoji>=mon){
						printf("\r           500×%d=%d                           \n",kosu,mon);
				    	printf("\r                です。ありがとうございます。           \n");
						printf("\r                                                       \n");
						printf("\r          お店でる?  ←                               \n");
						printf("\r          他に買う?                                   \n");
							while(1){
								if(GetAsyncKeyState(VK_DOWN)&&sentaku==1){
									gotoxy(11,21);
									printf("\r           500×%d=%d                           \n",kosu,mon);
						    		printf("\r                です。ありがとうございます。           \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?                                   \n");
									printf("\r          他に買う?  ←                               \n");
									sentaku=2;
									Sleep(3*100);
								}
								if(GetAsyncKeyState(VK_UP)&&sentaku==2){
									gotoxy(11,21);
									printf("\r           500×%d=%d                           \n",kosu,mon);
						    		printf("\r                です。ありがとうございます。           \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?  ←                               \n");
									printf("\r          他に買う?                                   \n");
									sentaku=1;
									Sleep(3*100);
								}
							}
					}
					if(shoji<mon){
						printf("\r           500×%d=%d                           \n",kosu,mon);
						printf("\r                あwwwお金ないの?www                   \n");
						printf("\r                                                       \n");
						printf("\r          お店でる?                                   \n");
						printf("\r          他に買う?  ←                               \n");	
							while(1){
								if(GetAsyncKeyState(VK_DOWN)&&sentaku==1){
									gotoxy(11,21);
									printf("\r           500×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?                                   \n");
									printf("\r          他に買う?  ←                               \n");
									sentaku=2;
									Sleep(3*100);
								}
								if(GetAsyncKeyState(VK_UP)&&sentaku==2){
									gotoxy(11,21);
									printf("\r           500×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?  ←                               \n");
									printf("\r          他に買う?                                   \n");
									sentaku=1;
									Sleep(3*100);
								}
							}
					}
				}
				if(item==2){
					gotoxy(9,19);
					printf("何個買う?");
					scanf("%d",&kosu);
					kai=1000*kosu;
					if(shoji>=kai){
						printf("\r          1000×%d=%d                           \n",kosu,kai);
				    	printf("\r                です。ありがとうございます。           \n");
						printf("\r                                                       \n");
						printf("\r          お店でる?                                   \n");
						printf("\r          他に買う?  ←                               \n");
							while(1){
								if(GetAsyncKeyState(VK_DOWN)&&sentaku==1){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?                                   \n");
									printf("\r          他に買う?  ←                               \n");
									sentaku=2;
									Sleep(3*100);
								}
								if(GetAsyncKeyState(VK_UP)&&sentaku==2){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?  ←                               \n");
									printf("\r          他に買う?                                   \n");
									sentaku=1;
									Sleep(3*100);
								}
							}
					}
					if(shoji<kai){
						printf("          1000×%d=%d                           \n",kosu,kai);
						printf("                あwwwお金ないの?www                    \n");
						printf("                                                        \n");
						printf("\r          お店でる?                                  \n");
						printf("\r          他に買う?  ←                              \n");
							while(1){
								if(GetAsyncKeyState(VK_DOWN)&&sentaku==1){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?                                   \n");
									printf("\r          他に買う?  ←                               \n");
									sentaku=2;
									Sleep(3*100);
								}
								if(GetAsyncKeyState(VK_UP)&&sentaku==2){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?  ←                               \n");
									printf("\r          他に買う?                                   \n");
									sentaku=1;
									Sleep(3*100);
								}
							}
					}
				}
				if(item==3){
					gotoxy(9,19);
					printf("何個買う?");
					scanf("%d",&kosu);
					mina=5000*kosu;
					if(shoji>=mina){
						printf("\r          5000×%d=%d                           \n",kosu,mina);
				    	printf("\r                です。ありがとうございます。           \n");
						printf("\r                                                       \n");
						printf("\r          お店でる?                                   \n");
						printf("\r          他に買う?  ←                               \n");
							while(1){
								if(GetAsyncKeyState(VK_DOWN)&&sentaku==1){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?                                   \n");
									printf("\r          他に買う?  ←                               \n");
									sentaku=2;
									Sleep(3*100);
								}
								if(GetAsyncKeyState(VK_UP)&&sentaku==2){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?  ←                               \n");
									printf("\r          他に買う?                                   \n");
									sentaku=1;
									Sleep(3*100);
								}
							}
					}
					if(shoji<mina){
						printf("\r          5000×%d=%d                           \n",kosu,mina);
						printf("\r                あwwwお金ないの?www                   \n");
						printf("\r                                                       \n");
						printf("\r          お店でる?                                   \n");
						printf("\r          他に買う?  ←                               \n");
							while(1){
								if(GetAsyncKeyState(VK_DOWN)&&sentaku==1){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?                                   \n");
									printf("\r          他に買う?  ←                               \n");
									sentaku=2;
									Sleep(3*100);
								}
								if(GetAsyncKeyState(VK_UP)&&sentaku==2){
									gotoxy(11,21);
									printf("\r          1000×%d=%d                           \n",kosu,mon);
						    		printf("\r                あwwwお金ないの?www                   \n");
									printf("\r                                                       \n");
									printf("\r          お店でる?  ←                               \n");
									printf("\r          他に買う?                                   \n");
									sentaku=1;
									Sleep(3*100);
								}
							}
					}
				}
			}
			if(GetAsyncKeyState(VK_RETURN)&&item==4){
				printf("ご来店ありがとうございました。\n");
				Sleep(5*1000);
				break;
			}
		}
		if(item==1){
			if(shoji>=mon){
				gotoxy(59,16);
				printf("所持金    %7d\n",shoji-mon);
			}
		}
		if(item==2){
			if(shoji>=kai){
				gotoxy(59,16);
				printf("所持金    %7d\n",shoji-kai);
			}
		}
		if(item==3){
			if(shoji>=mina){
				gotoxy(59,16);
				printf("所持金    %7d\n",shoji-mina);
			}
		}
	return 0;
}


sento.cpp

コード:

#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<time.h>

char *tekisyu(char n,char ss);
char wazayo(char *nakamaname);
char sento(char *nakama1[],char *nakama2[],char *nakamaM1[],char *nakamaM2[],int ss,char n)
{
	int hp,mp,b;
	int nakamaerabi=0;
	char *teki[4];
	char *tekiM[4]={"teki","0","0","100"};
	*tekiM[0]=*teki[0];
	*tekiM[2]=*teki[2];
	char nakamaname[2];
	char waza[2];
	if(ss==1){
		*teki=tekisyu(n,ss);
	}
	else if(ss==2){
		*teki=tekisyu(n,ss);
	}
	else if(ss==3){
		*teki=tekisyu(n,ss);
	}
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを出す?\n");
		printf("\r   %s  ← \n\n",nakama1[0]);
		printf("\r   %s      \n",nakama2[0]);
		nakamaerabi=1;
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",nakama1[0]);
		printf("\r   %s  ←   \n",nakama2[1]);	
		nakamaerabi=0;
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	if(nakamaerabi==0){
	*nakamaname=*nakama1[0];
	waza[0]=wazayo(nakamaname);
	waza[1]=wazayo(nakamaname);
	
	gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %s/%s           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %s/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	  
	  
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %s/%s           ┃\n",nakama1[3],nakamaM1[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %s/100           ┃\n",nakama1[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,17);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	    gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ←\n\n",waza[0]);
		printf("\r   %s    \n",waza[1]);
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ← \n\n",waza[0]);
		printf("\r   %s      \n",waza[1]);
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",waza[0]);
		printf("\r   %s  ←   \n",waza[1]);	
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	 	
	 gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %d/%c           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %d/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %d/%c           ┃\n",nakama1[3],nakamaM1[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %d/100           ┃\n",nakama1[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,16);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	  }
	  
	  
	  else if(nakamaerabi==1){
	  	*nakamaname=*nakama2[0];
	waza[0]=wazayo(nakamaname);
	waza[1]=wazayo(nakamaname);
	
	gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %s/%s           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %s/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	  
	  
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %s/%s           ┃\n",nakama2[3],nakamaM2[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %s/100           ┃\n",nakama2[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,17);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	    gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ←\n\n",waza[0]);
		printf("\r   %s    \n",waza[1]);
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ← \n\n",waza[0]);
		printf("\r   %s      \n",waza[1]);
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",waza[0]);
		printf("\r   %s  ←   \n",waza[1]);	
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	 	
	 gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %d/%c           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %d/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %d/%c           ┃\n",nakama2[3],nakamaM2[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %d/100           ┃\n",nakama2[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,16);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	  }
	
	return 0;
}
boss.cpp

コード:

#include<stdio.h>//BOSS
#include<conio.h>
#include<windows.h>
#include<time.h>

char wazayo(char *nakamaname);
void clearscreen();

char boss(char *nakama1[],char *nakama2[],char *nakamaM1[],char *nakamaM2[])
{
	int nakamaerabi=0;
	char *boss[]={"れっどあいずほわいとどらごん","50","6000","100"};
	char *bossM[]={"れっどあいずほわいとどらごん","50","6000","100"};
	char nakamaname[2];
	char waza[2];
	*nakamaname=*nakama1[0];
	waza[0]=wazayo(nakamaname);
	waza[1]=wazayo(nakamaname);
	
	
	
	printf("⊂_ヽ\n");
	printf("  \\\n");  
	printf( "   \(´Д`)\n");
	printf("     > ⌒ヽ\n");
	printf("    /   へ\\n");
	printf("    /  / \\\n");
	printf("    レ ノ   ヽ_つ\n");
	printf("   / /\n");
	printf("   / /|\n");
	printf("  ( (ヽ\n");
	printf("  | |、\\n");
	printf("  | 丿 \ ⌒)\n");
	printf("  | |  ) /\n");
	printf("  ノ )  Lノ\n");
	printf(" (_/\n");
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを出す?\n");
		printf("\r   %s  ← \n\n",nakama1[0]);
		printf("\r   %s      \n",nakama2[0]);
		nakamaerabi=1;
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",nakama1[0]);
		printf("\r   %s  ←   \n",nakama2[1]);	
		nakamaerabi=0;
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	
	if(nakamaerabi==0){
		
	gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %c/%c           ┃\n",boss[3],bossM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %c/100           ┃\n",boss[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	  
	  
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %c/%c           ┃\n",nakama1[3],nakamaM1[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %c/100           ┃\n",nakama1[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,17);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	    gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ←\n\n",waza[0]);
		printf("\r   %s    \n",waza[1]);
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ← \n\n",waza[0]);
		printf("\r   %s      \n",waza[1]);
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",waza[0]);
		printf("\r   %s  ←   \n",waza[1]);	
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	 	
	 gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %d/%c           ┃\n",boss[3],bossM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %d/100           ┃\n",boss[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %d/%c           ┃\n",nakama1[3],nakamaM1[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %d/100           ┃\n",nakama1[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,16);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	  
	}
	else if(nakamaerabi==1){
		gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %c/%c           ┃\n",boss[3],bossM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %c/100           ┃\n",boss[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	  
	  
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %c/%c           ┃\n",nakama2[3],nakamaM2[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %c/100           ┃\n",nakama2[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,17);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	    gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ←\n\n",waza[0]);
		printf("\r   %s    \n",waza[1]);
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ← \n\n",waza[0]);
		printf("\r   %s      \n",waza[1]);
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",waza[0]);
		printf("\r   %s  ←   \n",waza[1]);	
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	 	
	 gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %d/%c           ┃\n",boss[3],bossM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %d/100           ┃\n",boss[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %d/%c           ┃\n",nakama2[3],nakamaM2[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %d/100           ┃\n",nakama2[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,16);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	 
		
	}
	
	
	return 0;
}

いりな

Re: 外部シンボル~~が出て何を言っているのかわかりません

#3

投稿記事 by いりな » 5年前

clearscreen.cpp

コード:

#include<stdio.h>
#include<windows.h>

void  clearscreen()
{
	fflush(stdout);
	system("cls");
}

wazayo.cpp

コード:

#include<stdio.h>
#include <time.h>
#include <stdlib.h>
#include<conio.h>

char wazayo(char *nakamaname)
{
	int s;
	char wazaname;
	s=rand()%5+1;
	if(nakamaname=="ばなな"||nakamaname=="ちょこばなな"||nakamaname=="だいばなな"){
		if(s==1){
			wazaname=2;
		}
		else if(s==2){
			wazaname=5;
		}
		else if(s==3){
			wazaname=30;
		}
		else if(s==4){
			wazaname=31;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="わんだる"||nakamaname=="もるたる"||nakamaname=="ざんじばる"){
		if(s==1){
			wazaname=3;
		}
		else if(s==2){
			wazaname=6;
		}
		else if(s==3){
			wazaname=15;
		}
		else if(s==4){
			wazaname=23;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="ぐれーとばりありーふ"||nakamaname=="えくせれんとばりありーふ"||nakamaname=="ぱーふぇくとばりありーふ"){
		if(s==1){
			wazaname=4;
		}
		else if(s==2){
			wazaname=8;
		}
		else if(s==3){
			wazaname=14;
		}
		else if(s==4){
			wazaname=28;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="ぺかねずみ"||nakamaname=="ぺかかねずみ"||nakamaname=="らいねずみ"){
		if(s==1){
			wazaname=18;
		}
		else if(s==2){
			wazaname=1;
		}
		else if(s==3){
			wazaname=12;
		}
		else if(s==4){
			wazaname=11;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="れもんてぃー"||nakamaname=="にるぎり"){
		if(s==1){
			wazaname=24;
		}
		else if(s==2){
			wazaname=26;
		}
		else if(s==3){
			wazaname=4;
		}
		else if(s==4){
			wazaname=10;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="あこす"||nakamaname=="あるたいる"){
		if(s==1){
			wazaname=1;
		}
		else if(s==2){
			wazaname=2;
		}
		else if(s==3){
			wazaname=3;
		}
		else if(s==4){
			wazaname=4;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="せんとびんせんと"||nakamaname=="ぐれなでぃーん"){
		if(s==1){
			wazaname=5;
		}
		else if(s==2){
			wazaname=6;
		}
		else if(s==3){
			wazaname=7;
		}
		else if(s==4){
			wazaname=8;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="せめだいん"||nakamaname=="でくせりあるず"){
		if(s==1){
			wazaname=9;
		}
		else if(s==2){
			wazaname=10;
		}
		else if(s==3){
			wazaname=11;
		}
		else if(s==4){
			wazaname=12;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="なんか"||nakamaname=="すてきなさむしんぐ"){
		if(s==1){
			wazaname=13;
		}
		else if(s==2){
			wazaname=14;
		}
		else if(s==3){
			wazaname=15;
		}
		else if(s==4){
			wazaname=17;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="にーと"||nakamaname=="でぃおげねす"){
		if(s==1){
			wazaname=18;
		}
		else if(s==2){
			wazaname=19;
		}
		else if(s==3){
			wazaname=20;
		}
		else if(s==4){
			wazaname=21;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="りぼん"||nakamaname=="ぐろぐらん"){
		if(s==1){
			wazaname=22;
		}
		else if(s==2){
			wazaname=23;
		}
		else if(s==3){
			wazaname=24;
		}
		else if(s==4){
			wazaname=25;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="ちくわ"||nakamaname=="ちくわだいみょうじん"){
		if(s==1){
			wazaname=26;
		}
		else if(s==2){
			wazaname=27;
		}
		else if(s==3){
			wazaname=28;
		}
		else if(s==4){
			wazaname=29;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="うおみー"||nakamaname=="かいちょう"){
		if(s==1){
			wazaname=30;
		}
		else if(s==2){
			wazaname=31;
		}
		else if(s==3){
			wazaname=32;
		}
		else if(s==4){
			wazaname=33;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="みるくてぃー"||nakamaname=="だーじりんおるたむなる"){
		if(s==1){
			wazaname=34;
		}
		else if(s==2){
			wazaname=24;
		}
		else if(s==3){
			wazaname=1;
		}
		else if(s==4){
			wazaname=2;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="ごーごーろく"||nakamaname=="はちいちぜろ"){
		if(s==1){
			wazaname=3;
		}
		else if(s==2){
			wazaname=4;
		}
		else if(s==3){
			wazaname=25;
		}
		else if(s==4){
			wazaname=26;
		}
		else{
			wazaname=16;
		}
	}
	if(nakamaname=="あろんあるふぁ"||nakamaname=="あるんあるふあ"){
		if(s==1){
			wazaname=25;
		}
		else if(s==2){
			wazaname=5;
		}
		else if(s==3){
			wazaname=30;
		}
		else if(s==4){
			wazaname=31;
		}
		else{
			wazaname=16;
		}
	}
	return wazaname;
}
tekisyu

コード:

#include<stdio.h>
#include <time.h>
#include <stdlib.h>
#include<conio.h>

char *tekisyu(char n,char ss){
	int s,tekisyu;
	char *teki[4]={"teki","0","0","100"};
	
	tekisyu=rand()%12+1;
	if(ss==1){
		s=0;
	}
	if(ss==2){
		s=rand()%5;
	}
	if(ss==3){
		s=0;
	}
	switch(tekisyu){
		case 1:
			teki[0]="せめだいん";
			teki[2]="60";
			break;
		case 2:
			teki[0]="なんか";
			teki[2]="60";
			break;
		case 3:
			teki[0]="にーと";
			teki[2]="60";
			break;
		case 4:
			teki[0]="りぼん";
			teki[2]="100";
			break;
		case 5:
			teki[0]="ちくわ";
			teki[2]="100";
			break;
		case 6:
			teki[0]="うおみー";
			teki[2]="100";
			break;
		case 7:
			teki[0]="みるくてぃー";
			teki[2]="46";
			break;
		case 8:
			teki[0]="ごーごーろく";
			teki[2]="46";
			break;
		case 9:
			teki[0]="あろんあるふぁ";
			teki[2]="46";
			break;
		case 10:
			teki[0]="れもんてぃー";
			teki[2]="105";
			break;
		case 11:
			teki[0]="あこす";
			teki[2]="105";
			break;
		case 12:
			teki[0]="せんとびんせんと";
			teki[2]="105";
			break;
	}
	  	*teki[1]=n+s;

	return *teki;
}
main.cpp

コード:

#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include"clearscreen.cpp"
#include"field.cpp"
#include"boss.cpp"
#include"mise.cpp"
#include"sento.cpp"
#include"tekisyu.cpp"
#include"wazayo.cpp"



int main(void)
{
	int st,shoji=3000,ima=0,saisyuu=0,ju=1,wa;
	
	char b;
	char *filename="セーブデータ.txt";
	char a[100];
	char *nakama1[]={"ばなな","1","0","70","100"};
	char *nakama2[]={"empty","Lv","Exp","HP","100"};
	char *nakamaM1[]={"ばなな","1","0","100","100"};//bの値によってフィールド、ボス、店の選択画面でループ。
	char *nakamaM2[]={"empty","Lv","Exp","MHP","100"};
	clearscreen();
	gotoxy(9,4);
	printf("ミリモン~1mmのキセキ~\n\n\n");
	printf("          はじめから  ←\n\n");
	printf("          つづきから\n");
	st=0;
	while(1){
		if(GetAsyncKeyState(VK_DOWN))
		{
			gotoxy(11,7);
			printf("\r          はじめから     \n\n");
			printf("\r          つづきから  ←\n");
			st=1;
		}
		if(GetAsyncKeyState(VK_UP))
		{
			gotoxy(11,7);
			printf("\r          はじめから  ←\n\n");
			printf("\r          つづきから     \n");
			st=0;
		}
		if(GetAsyncKeyState(VK_RETURN))
		{
			break;
		}
	}
	clearscreen();
	if(st==0){//はじめからの場合のみキャラ選択画面
	
		
		
		
		
		
		if ( remove(filename) == 0 ) {
			gotoxy(1,20);
			printf("新しいセーブデータを作成しました<%s>",filename);
			
			Sleep(10*50);
		}
		else{
			gotoxy(1,20);
			printf("新しいセーブデータの作成に失敗しました。製作者を呼んでください。");
			
		}
		FILE *fp1=fopen("セーブデータ.txt","w");
		if(fp1==NULL){
			printf("失敗しちゃったテヘ、画面を削除し、製作者を呼んでください。");
			return 0;
		}
		fclose(fp1);
		FILE *fp2=fopen("セーブデータ.txt","w");
		fprintf(fp2,"%s %s %s %s %s ",nakama1[0],nakama1[1],nakama1[2],nakama1[3],nakama1[4]);
		fprintf(fp2,"%s %s %s %s %s ",nakama2[0],nakama2[1],nakama2[2],nakama2[3],nakama2[4]);
		fprintf(fp2,"%s %s %s %s %s ",nakamaM1[0],nakamaM1[1],nakamaM1[2],nakamaM1[3],nakamaM1[4]);
		fprintf(fp2,"%s %s %s %s %s ",nakamaM2[0],nakamaM2[1],nakamaM2[2],nakamaM2[3],nakamaM2[4]);
		fclose(fp2);
		
		
		
		
		gotoxy(2,2);
		printf("ばなな (喜)説明\n\n");
		printf(" 基礎ステータスが高いが\n レベルアップの恩恵が少ない");
		
		gotoxy(38,2);
		printf("わんだる (怒)説明");
		gotoxy(38,4);
		printf("攻撃力が高い分");
		gotoxy(38,5);
		printf("防御力に乏しい");
		gotoxy(2,9);
		printf("ぐれーとばりありーふ (哀)説明\n\n");
		printf(" 防御面に特化しているが\n 攻撃が遅い");
		gotoxy(38,9);
		printf("ぺかねずみ (楽)説明");
		gotoxy(38,11);
		printf("攻撃速度に特化している分");
		gotoxy(38,12);
		printf("攻撃力が少ない");
		gotoxy(1,17);
		printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
		gotoxy(1,18);
		printf("オーガワ博士|\n━━━━━━━\nこの中から好きなモンスターを選ぶんじゃ                            \n");
		printf("  ばなな  ←\n");
		printf("  わんだる  \n");
		printf("  ぐれーとばりありーふ  \n");
		printf("  ぺかねずみ  \n");
		fflush(stdout);
		while(1){
			Sleep(1*100);
			if(GetAsyncKeyState(VK_DOWN)<0&&ima==0)
			{
				gotoxy(1,21);
				printf("\r  ばなな        \n");
				printf("\r  わんだる  ←  \n");
				printf("\r  ぐれーとばりありーふ    \n");
				printf("\r  ぺかねずみ    \n");
				ima=1;
				Sleep(5*10);
				continue;
			}
			if(GetAsyncKeyState(VK_DOWN)<0&&ima==1)
			{
				gotoxy(1,21);
				printf("\r  ばなな          \n");
				printf("\r  わんだる        \n");
				printf("\r  ぐれーとばりありーふ  ←  \n");
				printf("\r  ぺかねずみ      \n");
				ima=2;
				Sleep(5*10);
				continue;
			}
			if(GetAsyncKeyState(VK_UP)<0&&ima==1)
			{
				gotoxy(1,21);
				printf("\r  ばなな  ←    \n");
				printf("\r  わんだる      \n");
				printf("\r  ぐれーとばりありーふ    \n");
				printf("\r  ぺかねずみ    \n");
				ima=0;
				Sleep(5*10);
				continue;
			}
			if(GetAsyncKeyState(VK_DOWN)<0&&ima==2)
			{
				gotoxy(1,21);
				printf("\r  ばなな        \n");
				printf("\r  わんだる      \n");
				printf("\r  ぐれーとばりありーふ    \n");
				printf("\r  ぺかねずみ  ←\n");
				ima=3;
				Sleep(5*10);
				continue;
			}
			if(GetAsyncKeyState(VK_UP)<0&&ima==2)
			{
				gotoxy(1,21);
				printf("\r  ばなな        \n");
				printf("\r  わんだる  ←  \n");
				printf("\r  ぐれーとばりありーふ    \n");
				printf("\r  ぺかねずみ    \n");
				ima=1;
				Sleep(5*10);
				continue;
			}
			if(GetAsyncKeyState(VK_UP)&&ima==3)
			{
				gotoxy(1,21);
				printf("\r  ばなな        \n");
				printf("\r  わんだる      \n");
				printf("\r  ぐれーとばりありーふ  ←\n");
				printf("\r  ぺかねずみ    \n");
				ima=2;
				Sleep(5*10);
				continue;
				}
				
			if(GetAsyncKeyState(VK_RETURN))
			{
				if(ima==1){
					nakama1[0]="わんだる";
				}
				else if(ima==2){
					nakama1[0]="ぐれーとばりありーふ";
				}
				else if(ima==3){
					nakama1[0]="ぺかねずみ";
				}
				else if(ima==0){
					nakama1[0]="ばなな";
				}
				gotoxy(1,20);
				printf("\r  あなたが選んだのは<%s><Lv%s>でよろしいですか?\n",nakama1[0],nakama1[1]);
				printf("\r                                         \n\r                                    \n");
				printf("\r                                         \n\r                                    \n");
				gotoxy(1,21);
				printf("  はい  ←\n");
				printf("  選びなおす    \n");
				Sleep(10*10);
				while(1){
					if(GetAsyncKeyState(VK_DOWN)&&saisyuu==0){
						gotoxy(1,21);
						printf("\r  はい    \n");
						printf("\r  選びなおす  ←\n");
						saisyuu=1;
						Sleep(5*10);
					}
					if(GetAsyncKeyState(VK_UP)&&saisyuu==1){
						gotoxy(1,21);
						printf("\r  はい  ←\n");
						printf("\r  選びなおす    \n");
						saisyuu=0;
						Sleep(5*10);
					}
					if(GetAsyncKeyState(VK_RETURN)){
						break;
						//saisyuuをみて判断する
					}
				}
				
				if(saisyuu==0){
					break;
				}
				else{
					gotoxy(1,18);
					printf("オーガワ博士|\n━━━━━━━\nこの中から好きなモンスターを選ぶんじゃ                            \n");
					printf("  ばなな  ←\n");
					printf("  わんだる          \n");
					printf("  ぐれーとばりありーふ  \n");
					printf("  ぺかねずみ  \n");
					ima=0;
					saisyuu=0;
				}
				
			}
		}
		printf("3");
		
	}
	else{
		
	}
	//町に行く
	clearscreen();
	gotoxy(1,17);
	printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
	gotoxy(5,3);
	printf("フィールドに出る\n\n    モンスターを狩って\n    レベルを上げよう!");
	gotoxy(30,3);
	printf("お店に行く");
	gotoxy(30,5);
	printf("アイテムをそろえて");
	gotoxy(30,6);
	printf("戦いを有利にしよう!");
	gotoxy(55,3);
	printf("ボスと戦う");
	gotoxy(55,5);
	printf("世界を救おう!");
	gotoxy(1,19);
	printf("フィールドに出る    ←\n");
	printf("お店に行く      \n");
	printf("ボスを倒す      ");
	while(1){
		while(1){
			Sleep(10*10);
			if(GetAsyncKeyState(VK_DOWN)&&ju==1){
				gotoxy(1,19);
				printf("\rフィールドに出る      \n");
				printf("\rお店に行く    ←\n");
				printf("\rボスを倒す      ");
				ju=2;
				Sleep(5*10);
			}
			if(GetAsyncKeyState(VK_DOWN)&&ju==2){
				gotoxy(1,19);
				printf("\rフィールドに出る      \n");
				printf("\rお店に行く      \n");
				printf("\rボスを倒す    ←");
				ju=3;
				Sleep(5*10);
			}
			if(GetAsyncKeyState(VK_UP)&&ju==2){
				gotoxy(1,19);
				printf("\rフィールドに出る    ←\n");
				printf("\rお店に行く      \n");
				printf("\rボスを倒す      ");
				ju=1;
				Sleep(5*10);
			}
			if(GetAsyncKeyState(VK_UP)&&ju==3){
				gotoxy(1,19);
				printf("\rフィールドに出る      \n");
				printf("\rお店に行く    ←\n");
				printf("\rボスを倒す      ");
				ju=2;
				Sleep(5*10);
				
			}
			if(GetAsyncKeyState(VK_RETURN)){
				break;
			}
		}
		if(ju==1){
			b=rupu(nakama1[0],nakama2[0],nakamaM1[0],nakamaM2[0]);
		}
		else if(ju==2){
			b=mise(shoji);
		}
		else if(ju==3){
			b=boss(&nakama1[0],&nakama2[0],&nakamaM1[0],&nakamaM2[0]);
		}
		
	}
}


アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 外部シンボル~~が出て何を言っているのかわかりません

#4

投稿記事 by みけCAT » 5年前

呼び出している関数は

コード:

char sento(char n1,char n2,char nm1,char nm2,int ss,char n);
ですが、提示されたコード中にsentoという名前の関数の定義は

コード:

char sento(char *nakama1[],char *nakama2[],char *nakamaM1[],char *nakamaM2[],int ss,char n)
しか無いようです。
C++は関数のオーバーロードに対応しており、同じ名前でも引数の型が違う関数は違う関数とみなされます。
呼び出している関数

コード:

char sento(char n1,char n2,char nm1,char nm2,int ss,char n);
の定義を作成し、コンパイル(・アセンブル)・リンク対象に加えるといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 外部シンボル~~が出て何を言っているのかわかりません

#5

投稿記事 by みけCAT » 5年前

コードをよく読むと、そんな単純な話ではないかもしれません。
まず、関数呼び出しの構造は
main→rupu→field→MazeDraw→sento
となっています。
このうち、rupu関数とfield関数は引数としてchar*型のデータを受け取り、
MazeDraw関数は引数としてchar型のデータを受け取ります。
そして、main関数ではrupu関数にマルチバイト文字を含む文字列へのポインタを渡しています。
rupu関数ではこのポインタをそのままfield関数に渡し、
field関数ではこのマルチバイト文字の1バイト目をMazeDraw関数に渡しています。

表示のため、文字列全体、もしくは文字列へのポインタの配列全体を渡したいと推測でき、
マルチバイト文字の1バイト目のみを渡すというのはおかしいでしょう。

さらに、現在提示されているsento関数の定義は、
文字列リテラルの書き換えおよび未初期化のポインタのデリファレンス(いずれも未定義動作)を含み、
環境によっては強制終了してしまうでしょう。
さらに、printfの書式%dや%cにchar型へのポインタを渡している部分もあり、
これも未定義動作になります。

これらを踏まえ、行うべき修正として考えられるのは例えば
  • rupu関数、field関数、MazeDraw関数、MazeDraw関数から見えるsento関数の宣言について、
    現状のsento関数の定義に合わせて渡している引数の一部をchar型へのポインタの配列にする
  • sento関数を適切に修正する
でしょう。
また、HPやMPを文字列ではなく整数型で管理するなど、
より適切な実装への修正も考えられるでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

いりな

Re: 外部シンボル~~が出て何を言っているのかわかりません

#6

投稿記事 by いりな » 5年前

>みけCATさん
詳しい解説ありがとうございます。
試してみます!

いりな

Re: 外部シンボル~~が出て何を言っているのかわかりません

#7

投稿記事 by いりな » 5年前

printfの書式%dや%cにchar型へのポインタを渡している部分もあり、
これも未定義動作になります。

ここは理解できました。
sento.cpp

コード:

#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<time.h>

char *tekisyu(char n,char ss);
char wazayo(char *nakamaname);
void sento(char *nakama1[],char *nakama2[],char *nakamaM1[],char *nakamaM2[],int ss,char n)
{
	int hp,mp,b;
	int nakamaerabi=0;
	char *teki[4];
	char *tekiM[4]={"teki","0","0","100"};
	*tekiM[0]=*teki[0];
	*tekiM[2]=*teki[2];
	char nakamaname[2];
	char waza[2];
	
	if(ss==1){
		
		*teki=tekisyu(n,ss);
	}
	else if(ss==2){
		*teki=tekisyu(n,ss);
	}
	else if(ss==3){
		*teki=tekisyu(n,ss);
	}
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを出す?\n");
		printf("\r   %s  ← \n\n",nakama1[0]);
		printf("\r   %s      \n",nakama2[0]);
		nakamaerabi=1;
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",nakama1[0]);
		printf("\r   %s  ←   \n",nakama2[1]);	
		nakamaerabi=0;
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	if(nakamaerabi==0){
	*nakamaname=*nakama1[0];
	waza[0]=wazayo(nakamaname);
	waza[1]=wazayo(nakamaname);
	
	gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %s/%s           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %s/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	  
	  
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %s/%s           ┃\n",nakama1[3],nakamaM1[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %s/100           ┃\n",nakama1[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,17);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	    gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ←\n\n",waza[0]);
		printf("\r   %s    \n",waza[1]);
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ← \n\n",waza[0]);
		printf("\r   %s      \n",waza[1]);
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",waza[0]);
		printf("\r   %s  ←   \n",waza[1]);	
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	 	
	 gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %s/%s           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %s/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %s/%s           ┃\n",nakama1[3],nakamaM1[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %s/100           ┃\n",nakama1[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,16);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	  }
	  
	  
	  else if(nakamaerabi==1){
	  	*nakamaname=*nakama2[0];
	waza[0]=wazayo(nakamaname);
	waza[1]=wazayo(nakamaname);
	
	gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %s/%s           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %s/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	  
	  
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %s/%s           ┃\n",nakama2[3],nakamaM2[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %s/100           ┃\n",nakama2[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,17);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	    gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ←\n\n",waza[0]);
		printf("\r   %s    \n",waza[1]);
	
	while(1){
		if(GetAsyncKeyState(VK_UP)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s  ← \n\n",waza[0]);
		printf("\r   %s      \n",waza[1]);
	   }
	    if(GetAsyncKeyState(VK_DOWN)){
		gotoxy(1,18);
		printf("どちらを選ぶ?\n");
		printf("\r   %s      \n\n",waza[0]);
		printf("\r   %s  ←   \n",waza[1]);	
	    }
		if(GetAsyncKeyState(VK_RETURN)){
			break;
		}
	}
	 	
	 gotoxy(2,4);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(2,5);
	  printf("┃ HP       %s/%s           ┃\n",teki[3],tekiM[3]);
	 gotoxy(2,6);
	  printf("┃ MP       %s/100           ┃\n",teki[4]);
	 gotoxy(2,7);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,12);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(45,13);
	  printf("┃ HP       %s/%c           ┃\n",nakama2[3],nakamaM2[3]);
	 gotoxy(45,14);
	  printf("┃ MP       %s/100           ┃\n",nakama2[4]);
	 gotoxy(45,15);
	  printf(" ━━━━━━━━━━━━━━━\n");
	 gotoxy(1,16);
	  printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
	  }
	
	return ;
}
ですが



このうち、rupu関数とfield関数は引数としてchar*型のデータを受け取り、
MazeDraw関数は引数としてchar型のデータを受け取ります。
そして、main関数ではrupu関数にマルチバイト文字を含む文字列へのポインタを渡しています。
rupu関数ではこのポインタをそのままfield関数に渡し、
field関数ではこのマルチバイト文字の1バイト目をMazeDraw関数に渡しています。

表示のため、文字列全体、もしくは文字列へのポインタの配列全体を渡したいと推測でき、
マルチバイト文字の1バイト目のみを渡すというのはおかしいでしょう。

さらに、現在提示されているsento関数の定義は、
文字列リテラルの書き換えおよび未初期化のポインタのデリファレンス(いずれも未定義動作)を含み、


1バイトだけ送っているというのもわかりましたが
その他の部分が僕の脳ではいまいち理解できません。

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#8

投稿記事 by Math » 5年前

私はC++で色々処理系を持っているけど
Windows10 VS2017Communityでみると

main.cpp

コード:

#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include"clearscreen.cpp"
#include"field.cpp"
#include"boss.cpp"
#include"mise.cpp"
#include"sento.cpp"
#include"tekisyu.cpp"
#include"wazayo.cpp"
となっていますが
環境
OS
C++コンパイラー
は何を使っていますか?

いりな

Re: 外部シンボル~~が出て何を言っているのかわかりません

#9

投稿記事 by いりな » 5年前

c++ではなく普通のCなんですけど

cpadというものを使ってます


Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#11

投稿記事 by Math » 5年前

失礼
bcpad231 をインストールして 最新の C++Builder1.3 で動きました。

http://www2.koyoen.birdview.co.jp/~abcx ... -19-a-.PNG

http://www2.koyoen.birdview.co.jp/~abcx ... -19-b-.PNG

C++Builder は Borland C++Compiler の後継でそれが使えると書いてありました。

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#12

投稿記事 by Math » 5年前

[ 学校で使われるみたいですね。そういえば ずっと以前 C# の勉強に CSCpadを使いました。
いろんな言語に使えるようですね。]

アバター
usao
記事: 1887
登録日時: 11年前

Re: 外部シンボル~~が出て何を言っているのかわかりません

#13

投稿記事 by usao » 5年前

オフトピック
「分割」方法の力技感

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#14

投稿記事 by Math » 5年前

もう一度確認します。
OSはWindows10でしょうか。

CPad は bcpad231 でしょうか。



ーーー
>「分割」方法の力技感

使える訳ないだろ!

いりな

Re: 外部シンボル~~が出て何を言っているのかわかりません

#15

投稿記事 by いりな » 5年前

cpadはバージョンは書いてません。
ウインドウズ7です
あと学校指定です


Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#17

投稿記事 by Math » 5年前

make のサンプルをダウンロードして実行しました。

http://www2.koyoen.birdview.co.jp/~abcx ... -19-c-.PNG

http://www2.koyoen.birdview.co.jp/~abcx ... -19-d-.PNG

まず Makefile
ヘッダファイル

の理解が必要です。
わかりにくいところがあったら聞いてください。

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#18

投稿記事 by Math » 5年前

CPad の 作者の言葉(^^;

好きな言葉:
「本当に自分を大切にする人は、他人をおろそかになんかしない。他人が自分にとって如何に大切であるかを知っているから。」
http://hp.vector.co.jp/authors/VA017148 ... eware.html

いいね!


アバター
あたっしゅ
記事: 663
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: 外部シンボル~~が出て何を言っているのかわかりません

#20

投稿記事 by あたっしゅ » 5年前

http://cpad.michikusa.jp/
CPad ダウンロードページ (一時退避場)
BCPad と CSCPad が Vector からダウンロードできなくなっているため、 当面はこちらからダウンロードしてください。(by 稀杜)

とのことです。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#21

投稿記事 by Math » 5年前

main.cpp

コード:

#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include"clearscreen.cpp"
#include"field.cpp"
#include"boss.cpp"
#include"mise.cpp"
#include"sento.cpp"
#include"tekisyu.cpp"
#include"wazayo.cpp"
誰にこんな愉快な( デタラメな )プログラムを教わったのですか?

まずここなどを読んで基本から勉強し直す必要があります。
http://www.asahi-net.or.jp/~yf8k-kbys/c14.html

アバター
usao
記事: 1887
登録日時: 11年前

Re: 外部シンボル~~が出て何を言っているのかわかりません

#22

投稿記事 by usao » 5年前

オフトピック
実装が書かれたファイルをincludeしようが,
(わかってやってるなら,だけど)「デタラメ」ではないと思うので,「力技」と称した.

課題で「分割コンパイルしなさい」とか指定されている場合にはまずいかな.

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#23

投稿記事 by Math » 5年前

ん、viewtopic.php?f=3&t=20540の方は
力技 でしたね。

ソースファイルをinclude してできるのかな?
そんなの見たことないね。業務で何万行のC言語コード書いたけど…

Math

Re: 外部シンボル~~が出て何を言っているのかわかりません

#24

投稿記事 by Math » 5年前

学校の先生に確認してください。

Cpadの作者の例は make を使う普通の方法を想定しています。
(サンプルはCpadの作者さんのものですよ)

返信

“C言語何でも質問掲示板” へ戻る