猜数字游戏

本文介绍了一个使用Java编写的简单游戏,玩家需要在给定的数字范围内猜测一个随机数,猜对后得分并计算每个玩家的最终得分。
摘要由CSDN通过智能技术生成

package jsu.jk2.htj;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class NumGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

    // 输入数字范围
    System.out.println("请输入数字范围:");

    int rangeStart = scanner.nextInt(); // 范围开始
    int rangeEnd = scanner.nextInt(); // 范围结束

    // 输入玩家名称和数量
    System.out.println("请输入玩家数量:");
    int playerNum = scanner.nextInt();
    scanner.nextLine(); // 需要在nextInt()之后使用nextLine()换行符才能读取正常名称

    // 初始化玩家分数
    Map<String, Integer> playerScores = new HashMap<>();
    for (int i = 1; i <= playerNum; i++) {
        System.out.println("请输入玩家" + i + "的名称:");
        String playerName = scanner.nextLine();
        playerScores.put(playerName, 0);
    }

    // 随机生成一个数字
    Random random = new Random();
    int targetNum = random.nextInt(rangeEnd - rangeStart + 1) + rangeStart;

    // 循环让每个玩家循环输入猜测的数字
    boolean isGameEnded = false;
    while (!isGameEnded) {
        for (String playerName : playerScores.keySet()) {
            System.out.println(playerName + ",请猜测一个数字:");
            int guessNum = scanner.nextInt(); // 玩家猜测的数字

            if (guessNum == targetNum) { // 如果猜对了,该玩家得分加 1,游戏结束
                playerScores.put(playerName, playerScores.get(playerName) + 1);
                isGameEnded = true;
                break; // 跳出循环
            } else { // 猜错了,输出提示信息
                String hint = guessNum < targetNum ? "小了" : "大了";
                System.out.println("猜错了," + hint + "!");
            }
        }
    }

    // 输出每个玩家的分数
    System.out.println("游戏结束!");
    for (String playerName : playerScores.keySet()) {
        System.out.println(playerName + "得分:" + playerScores.get(playerName));
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值