【问题标题】:memory game in javascriptjavascript中的记忆游戏
【发布时间】:2015-11-17 05:37:35
【问题描述】:

我正在尝试为我在Java 中的作业制作一个记忆游戏。我被困住了,所以我需要一些帮助。因此,我制作了一个菜单,您可以在其中选择游戏难度(简单、中等和困难)。不同的游戏模式给玩家不同的尝试次数。我被卡住了,因为我不知道如何让尝试次数循环,使尝试次数减少,因为用户猜错了。此外,我不知道如何翻转卡片以显示某个字母(目前还没有代码)。现在,我将游戏设置为“[--]”以模仿被翻转的卡片。如果你能给我一些关于计算尝试次数的算法提示,那就太好了!

import java.util.Scanner;

public class MemoryGame {

public static void main(String[] args) {
    Scanner in = new Scanner (System.in);
    System.out.print("Welcome to Single Memory Game!\n");
    System.out.println("Please choose a diffictulty:");
    System.out.println("1 - Easy\n2 - Medium\n3 - Hard\n0 - Exit ");

    System.out.println(">> ");
    int Option = in.nextInt();

    if (Option == 1)
    {
        Scanner cardGuess = new Scanner (System.in);
        int Guesses = 20;
        System.out.println("You have "+ Guesses + " guesses remaining!");
        System.out.println("Please select card one: ");
        int cardOne = cardGuess.nextInt();
        System.out.println("Please select card two: ");
        int cardTwo = cardGuess.nextInt();
    }
    else if (Option == 2)
    {
        Scanner cardGuess = new Scanner (System.in);
        int Guesses = 10;
        System.out.println("You have " + Guesses + " guesses remaining!");
        System.out.println("Please select card one: ");
        int cardOne = cardGuess.nextInt();
        System.out.println("Please select card two: ");
        int cardTwo = cardGuess.nextInt();
    }
    else if (Option == 3)
    {
        Scanner cardGuess = new Scanner (System.in);
        int Guesses = 5;
        System.out.println("You have " + Guesses + " guesses remaining!");
        System.out.println("Please select card one: ");
        int cardOne = cardGuess.nextInt();
        System.out.println("Please select card two: ");
        int cardTwo = cardGuess.nextInt();
    }
    else 
    {
        System.out.println("Goodbye!");
    }
    int[] randomNumbers; 
       randomNumbers = new int[11]; //All 19 cards 

       for(int index = 0; index < 11; index++) //Makes 9 indexes in the array
       {
           randomNumbers[index] = (int)(Math.random()*10); //Gives random values to index       
       }
       for(int index = 1; index < 11; index++)
       {
           randomNumbers[index] += randomNumbers[index-1];
       }

       for(int index = 0; index < 11; index++)
       {
           System.out.printf("[%3d] = [--]\n",index,randomNumbers[index]);
       }
}
}

【问题讨论】:

  • Java != JavaScript

标签: java arrays loops memory


【解决方案1】:

我建议您使用ArrayList(易于处理)并随机播放(摆脱随机的东西)。

ArrayList<Character> list = new ArrayList();

for(int i = 0; i < numOfCards; ++i)
 list.add((char) (i + 'a'));

System.out.println("Before shuffle : " + list);

Collections.shuffle(list);

System.out.println("After shuffle : " + list);

这样你就可以每次都打乱整个arrayList,每次都得到不同的数组。

Before shuffle : [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
After shuffle : [z, m, s, t, j, o, v, b, u, q, f, n, x, w, k, c, e, y, i, d, r, h, g, l, p, a]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-14
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    相关资源
    最近更新 更多