2014-11-17 2 views
0

Итак, я работаю над совместным заданием, в котором я должен создать частичную шахматную доску. Это необходимо сделать, используя консольное окно и должно быть 8x8. Мой друг проектирует доску, пока я создаю функцию для перемещения только красной части. Его часть кода будет посылать мне матрицу платы координат [ряды] [столбцы], а движение означает движение = 1 вверху слева, движение = 2 вверху справа и т. Д. У меня возникают проблемы с пониманием того, как штуки должны двигаться.Как переместить фигуру в шашки

Вот мой код:

int movered(int movement, int board[][8]) 
{ 
    int x; 
    int y; 
    int piece; 

    for (x=0; x == movement; x++) 
    { 
     x = movement - x; 
     for (y=0; y == movement; y++) 
     { 
      y = movement - y; 
     } 
    } 

    piece = board[x][y]; 

    board[x][y] = 0; 

    DrawBoard(piece, board); 

    return piece; 
} 

ответ

1

Я новичок в этом, но мой выстрел на это было бы что-то вроде этого.

int moved(int xPos, int yPos, int moveSelect, int board[][8]) 
{ 
     int teamCheck; 

     if(board[xPos][yPos] == 1) 
       teamCheck = 1;//else = 2 

     if(moveSelect == 1) // && xPos >= 0, etc... Moves can't go off board 
     {  
       board[xPos][yPos] = 0; //then set new position on board to equal a 1 or 2 depending on team chip is on 
       return 1; 
     } 
     //elseif - do rest of moveSelections 

     else 
       return 0; //Returning value indicates a success or failure in move 
} 
+0

Я попробую вашу идею, когда у меня появится такая возможность, но проверка стола выглядит так, как будто она будет работать и является фиктивным доказательством. Спасибо, я посмотрю, будет ли решение работать, когда я нахожусь в моем коде. –

+0

@RieKumar Хорошо, не забудьте принять ответ, если он решил вашу проблему –

Смежные вопросы