0
私が間違っていることを教えてもらえないかと思っていました。ここには私が取り組んでいる戦艦ゲームの小さな断片がありますが、それは "="記号で満たされた2つの明確な配列を示すはずですが、私が得意とするのは混乱です。引数として配列を渡すC
#include <stdio.h>
int p_ship_count;
int e_ship_count;
#define EMPTY 0
#define BORDER 2
#define SHIP 1
#define HIT 4
#define MISS 3
#define SHOW 5
void print_boards(char *message,int e_board[][12],int p_board[][12])
{
int i;
int v,q;
printf("\t A B C D E F G H I J\n");
for(i=0,v=10,q=0;i<100;++i)
{
if(v==10)
{
if(q<9) printf("\n\t %i ", ++q);
else printf("\n\t%i ", ++q);
v=0;
}
++v;
if(e_board[v][q] == EMPTY) printf("= ");
if(e_board[v][q] == SHIP) printf("O ");
if(e_board[v][q] == BORDER) printf("+ ");
if(e_board[v][q] == MISS) printf("+ ");
if(e_board[v][q] == HIT) printf("@ ");
}
printf("\n\n\tenemy %i\n\t------------------------\n\tplayer %i\n\n\t A B C D E F G H I J\n",e_ship_count,p_ship_count);
for(i=0,v=10,q=0;i<100;++i)
{
if(v==10)
{
if(q<9) printf("\n\t %i ", ++q);
else printf("\n\t%i ", ++q);
v=0;
}
++v;
if(p_board[v][q] == EMPTY) printf("= ");
if(p_board[v][q] == SHIP) printf("O ");
if(p_board[v][q] == BORDER) printf("+ ");
if(p_board[v][q] == MISS) printf("+ ");
if(p_board[v][q] == HIT) printf("@ ");
if(p_board[v][q] == SHOW) printf("X ");
}
printf("\n\n\t");
for(i=0;message[i]!='\0';++i)
{
printf("%c",message[i]);
}
printf("\n\n");
}
int main()
{
int e_board[12][12];
int p_board[12][12];
print_boards("",e_board,p_board);
return 0;
}
タグを削除する 'c#' – SeM
なぜタグC++を使用していますか?これはCコードです –