2016-10-31 7 views
-2

私は文字 'x'と 'o'を2次元配列に出力したいチェッカーゲームに取り組んでいます。しかし、私のコードは動作しません、代わりに別の文字を印刷します。私は助けが必要です。2d配列に文字を割り当てる[チェッカー]

ここに私のコードです:

#include <stdio.h> 


void message() 
{ 

char name[20],name2[20]; 

printf("Please enter the name for the first player : "); 
scanf("%s", &name); 
printf("Please enter the name for the second player : "); 
scanf("%s", &name2); 

printf("\nGood day %s and %s, let's start the game....all the best!!!\n\n", name, name2); 

} 

int gameboard(char board[8][8]) 
{ 

int x, y; 

for(x=0; x<8; x++) 
    { 
    for(y=0; y<8; y++) 
    { 
    printf("|%c "); 
    } 
    printf("|\n\n"); 
    } 



} 

void character(char board[8][8]) 
{ 
int i,j; 

for(i=0;i<8;i++){ 
    for(j=0;j<8;j++){ 
    if(i<3){ 

     if(i%2 == 0){ 
       if(j%2 == 0){ 
       board[i][j] = ' '; 

       } 
       if(j%2==1){ 
       board[i][j]= 'O'; 

       } 
     } 
     if(i%2 == 1){ 
       if(j%2 == 0){ 
       board[i][j] = 'O'; 
       } 
       if(j%2 ==1){ 
      board[i][j]= ' '; 

       } 
     } 

    } 
    if((i==3) || (i==4)) 
    {board[i][j] = ' ';} 
    if(i>4) 
    { 

      if(i%2 == 0){ 
        if(j%2 == 0){ 
        board[i][j] = ' '; 

        } 
        if(j%2 ==1){ 
        board[i][j]= 'X'; 

        } 
      } 

      if(i%2 == 1){ 
        if(j%2 == 0){ 
        board[i][j] = 'X'; 

        } 
        if(j%2 ==1){ 
        board[i][j]= ' '; 

        } 
      } 
    } 

    } 
    } 

} 


int main() 
{ 
    int x, y; 
    char bx[8][8]; 

    message(); 

    gameboard(bx); 

    character(bx); 


return 0; 

} 
+1

http://stackoverflow.com/a/40216407/971127 – BLUEPIXY

+0

@XxY:コメントがいくつかを持っているように見えるん有用なコード。それを見てください。 – CyprUS

答えて

0

それは印刷、それを前に、配列の値を設定することができるようにcharacter(bx)gameboard(bx)の順序は、変更する必要があります。

そして、以下のように特定の要素の値を表示するには、あなたのゲームボードの機能を変更します。

int gameboard(char board[8][8])                                            
{ 
      ... 

      printf("|%c ",board[x][y]); 

      ... 
} 
+0

それで解決できます、ありがとうございます。 – XxY

関連する問題