-2
我想编码一个4x4内存匹配有8个相同数字对的游戏。所有面朝下的牌都标有星号。然后用户输入(1,1)和(1,2)作为猜测,如果正确,他们仍然正面朝上,游戏继续。Java基本内存匹配游戏
我的问题:我有大部分的代码完成,但我的方法游戏运行游戏我无法弄清楚如何设置它。任何意见,将不胜感激。
我的代码:
//Welcome Prompt
System.out.println("Welcome to the memory matching game!");
System.out.println("Enter the card coordinate for each card when promted to.");
System.out.println("For Example, 11 = Card 1 and 12 = Card 2.\n\n");
board();
}
//print the board
public static void board() {
int[][] cards = new int[4][4];
boolean upDown[][] = new boolean[4][4];
cards = randomizer(); //Shuffle cards
System.out.println(" 1 2 3 4 ");
System.out.println("---+---------");
for (int i = 0; i < 4; i++) {
System.out.print(" " + (i + 1) + " | ");
for (int a = 0; a < 4; a++) {
System.out.print("* ");
upDown[i][a] = false;
}
System.out.println();
}
System.out.println();
game(upDown, cards); // calls the game
}
public static int[][] randomizer() {
int num[] = {1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
int cards[][] = new int[4][4];
Random random = new Random();
int temp, t;
for (int j = 0; j <= 20; j++) {
for (int x = 0; x < 16; x++) { //Randomize the card order
t = random.nextInt(1000) % 15;
temp = num[x];
num[x] = num[t];
num[t] = temp;
}
t = 0;
for (int r = 0; r < 4; r++) // Cards receive Numbers
{
for (int s = 0; s < 4; s++) {
cards[r][s] = num[t];
t = t + 1;
}
}
}
return cards;
}
//Start the Game
public static void game(boolean[][] upDown, int[][] cards) {
}
//shuffle the cards
public static int[][] shuf() {
int start[] = {1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
int cards[][] = new int[4][4];
Random ran = new Random();
int tmp, i;
for (int s = 0; s <= 20; s++) {
for (int x = 0; x < 16; x++) //randomize the card placements
{
i = ran.nextInt(100000) % 15;
tmp = start[x];
start[x] = start[i];
start[i] = tmp;
}
}
i = 0;
for (int r = 0; r < 4; r++) // put values in cards here
{
for (int c = 0; c < 4; c++) {
cards[r][c] = start[i];
i = i + 1;
}
}
return cards;
}
}
看起来像功课转储。此外,我们不在这里为您编写代码。我们只回答关于您已经编写的代码的问题。 – Spencer4134