我正在進行井字棋遊戲,需要創建一個基於用戶輸入創建棋盤的功能。可以是3x3或更大我有這個到目前爲止,但是當我運行它打印內存位置。其中尺寸基於用戶輸入的井字棋板
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
// Array which creates boeard based on user input
int *drawboard(int width, int height)
{
int* board_data = new int[width * height];
int** board = new int* [width];
for (int i = 0; i < width; ++i)
{
board[i] = board_data + height * i;
}
return board_data;
}
void main()
{
int width = 0;
int height = 0;
cout << " Welcome to Tic Tac Toe v1! " << endl;
cout << " Choose your board size, enter width: " << endl;
cin >> width;
cout << " Choose your height: " << endl;
cin >> height;
cout << drawboard << endl;
int *board = drawboard(width, height);
delete[] board;
system("pause");
}
看起來像它應該那樣工作。你正在打印一個指針。 – Borgleader
是的,它的工作原理,但是當我輸入我的寬度和高度時,它打印歡迎來到Tic Tac Toe v1! 選擇您的板尺寸,輸入寬度:選擇您的高度: 00CB14A1 – Krowe3
正如我所說的,您正在將drawboard的函數指針傳遞給標準輸出。這樣做沒什麼意義,但輸出是我所期望的。即使你通過了drawboard的結果,你也會得到類似的結果。如果你想在一個漂亮的2D網格中打印實際的電路板,你必須爲它編寫代碼。我不確定你的問題在這裏,因爲你還沒有問過。 – Borgleader