30/09/2018, 21:55

Cách đánh quân cờ vào bàn cờ được vẽ bằng C++

Em dùng C++ để làm game cờ vây chạy trên Console giữa 2 người chơi. Thật ra cũng chỉ muốn làm đơn giản thôi. Ví dụ như nhập size bàn cờ, in ra, rồi nhập tọa độ (vd: A A) thì sẽ xuất hiện quân cờ tại ô đó. Vấn đề là em đã vẽ được bàn cờ rồi. nhưng không biết làm thế nào để in ra quân cờ khi người chơi nhập vào. Em lên mạng search thì người ta dùng pointers rồi mảng 2 chiều này nọ. Nhưng em không hiểu là làm sao việc mình vẽ bảng độc lập với hàm in ra quân cờ, làm sao để hiện quân cờ lên trên cái bảng mình vẽ trước đó? Em viết văn dở nên nói hơi dài dòng. Mong mọi người giải thích và cho em ý kiến để giải quyết ạ. Còn đây là code e vẽ bàn cờ, em thấy hơi dở. Nhưng tại trình còn gà lắm ạ

char arr[20][20];

//ham ve bang
void drawBoard (void) {
    int N;
    do {
        cout << "Choose size of table (5,9,19): ";
        cin >> N;
    } while (N!=5 && N!=9 && N!=19);

    arr[0][1]=arr[1][0]='A';
    arr[0][2]=arr[2][0]='B';
    arr[0][3]=arr[3][0]='C';
    arr[0][4]=arr[4][0]='D';
    arr[0][5]=arr[5][0]='E';
    arr[0][6]=arr[6][0]='F';
    arr[0][7]=arr[7][0]='G';
    arr[0][8]=arr[8][0]='H';
    arr[0][9]=arr[9][0]='I';
    arr[0][10]=arr[10][0]='J';
    arr[0][11]=arr[11][0]='K';
    arr[0][12]=arr[12][0]='L';
    arr[0][13]=arr[13][0]='M';
    arr[0][14]=arr[14][0]='N';
    arr[0][15]=arr[15][0]='O';
    arr[0][16]=arr[16][0]='P';
    arr[0][17]=arr[17][0]='Q';
    arr[0][18]=arr[18][0]='R';
    arr[0][19]=arr[19][0]='S';

    for (int i=0; i<=N; i++) {
        for (int j=0; j<=N; j++) {
            if (i==0 && j==0)
                cout << "___|";
            else if (i==0 && (j>=1 && j<=N))
                cout << "__" << arr[0][j] << "|";
            else if (j==0 && (i>=1 && i<=N))
                cout << arr[i][0] << "__|";
            else cout << "___|";
        }
        cout << endl;
    }
Sơn viết 00:05 ngày 01/10/2018

Bạn dùng hàm gotoxy() nhé

#include <windows.h>
void gotoxy(int x, int y)
{
  static HANDLE h = NULL;  
  if(!h)
    h = GetStdHandle(STD_OUTPUT_HANDLE);
  COORD c = { x, y };  
  SetConsoleCursorPosition(h,c);
}
Tao Không Ngu. viết 00:08 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Bài liên quan
0