首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CS初学者尝试用java制作一个绞刑者游戏

绞刑者游戏是一款基于文本界面的猜词游戏,玩家通过猜测一个隐藏的单词来逐步揭示出该单词的字母。每次猜测会告知玩家猜测的字母是否在单词中以及其位置。游戏中有一个绞刑架,每次猜错字母,绞刑架上的图案会渐渐完整,直到完全画出来,表示游戏失败。

下面是一个简单的Java代码实现绞刑者游戏:

代码语言:txt
复制
import java.util.Scanner;

public class HangmanGame {
    private static final String[] WORDS = {"apple", "banana", "orange", "watermelon"};  // 隐藏单词列表
    private String word;  // 当前隐藏单词
    private StringBuilder guessedLetters;  // 玩家已猜测的字母
    private int attemptsLeft;  // 剩余尝试次数
    private boolean gameWon;  // 游戏是否胜利

    public HangmanGame() {
        word = WORDS[(int) (Math.random() * WORDS.length)];
        guessedLetters = new StringBuilder();
        attemptsLeft = 6;
        gameWon = false;
    }

    public void play() {
        Scanner scanner = new Scanner(System.in);

        while (attemptsLeft > 0 && !gameWon) {
            System.out.println("Current word: " + getMaskedWord());
            System.out.println("Attempts left: " + attemptsLeft);

            System.out.print("Guess a letter: ");
            String guess = scanner.nextLine().toLowerCase();

            if (guess.length() != 1 || !Character.isLetter(guess.charAt(0))) {
                System.out.println("Invalid input! Please enter a single letter.");
                continue;
            }

            char letter = guess.charAt(0);
            if (guessedLetters.toString().contains(guess)) {
                System.out.println("You've already guessed this letter.");
                continue;
            }

            guessedLetters.append(letter);

            if (word.contains(guess)) {
                System.out.println("Correct guess!");
                if (getMaskedWord().equals(word)) {
                    gameWon = true;
                }
            } else {
                System.out.println("Wrong guess!");
                attemptsLeft--;
            }
            System.out.println();
        }

        if (gameWon) {
            System.out.println("Congratulations! You won!");
        } else {
            System.out.println("Game over! The word was: " + word);
        }

        scanner.close();
    }

    private String getMaskedWord() {
        StringBuilder maskedWord = new StringBuilder();
        for (int i = 0; i < word.length(); i++) {
            char letter = word.charAt(i);
            if (guessedLetters.toString().contains(Character.toString(letter))) {
                maskedWord.append(letter);
            } else {
                maskedWord.append("_");
            }
            maskedWord.append(" ");
        }
        return maskedWord.toString();
    }

    public static void main(String[] args) {
        HangmanGame game = new HangmanGame();
        game.play();
    }
}

这是一个基本的绞刑者游戏实现,随机从预设的单词列表中选择一个隐藏单词,玩家通过输入字母来猜测隐藏单词,程序会给出反馈并更新游戏状态,直到玩家猜对单词或者用尽所有尝试次数。

这个游戏可以用Java编程语言进行开发,运行在Java虚拟机上。它涵盖了前端开发(控制台输出)、后端开发(游戏逻辑处理)、软件测试(错误输入和游戏状态测试)、数据库(隐藏单词列表)、网络通信(控制台输入)、多媒体处理(文字显示)、移动开发(可以在移动设备上运行Java程序)等方面的知识。

该游戏不涉及云计算、云原生、人工智能、物联网、区块链等专业领域,因此无需特定的云计算产品推荐。

如果你对云计算、IT互联网领域的任何名词词汇有疑问,可以继续提问,我将尽力为您解答。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券