简单的随机游戏

石头剪刀布游戏

java实现随机数游戏

首先,建一个类MoraGame
1、封装属性

	public class MoraGame {
	private String playerName;// 玩家姓名
	private String computerName;// 电脑玩家姓名
	public static int playerScore;// 玩家分数
	public static int computerScore;// 电脑分数
	public static int playNumber;// 对战次数

2、选择对战的玩家

@SuppressWarnings("resource")
	public void fight() {
		// TODO Auto-generated method stub
		System.out.println("请选择对方角色(1.狗子1   2.狗子2   3.狗子3):");
		Scanner sc = new Scanner(System.in);
		int c=sc.nextInt();
		switch (c) {
		case 1:
			this.computerName = "狗子1";
			break;
		case 2:
			this.computerName = "狗子2";
			break;
		case 3:
			this.computerName = "狗子3";
			break;
		default:
			System.out.println("你的输入有误!");
			break;
		}
		System.out.println("请输入你的名字:");
		playerName = sc.next();
		System.out.println(playerName + "  VS  " + this.computerName);
	}

3、开始游戏

// 开始玩游戏
	@SuppressWarnings("resource")
	public void startPlay() {
		// TODO Auto-generated method stub
		System.out.println();
		System.out.println("要开始吗?(y/n):");
		Scanner sc = new Scanner(System.in);
		String start = sc.next();
		System.out.println("********************************");
		while (start.toLowerCase().equals("y")) {
			System.out.println("请出拳:1.剪刀   2.石头   3.布(输入相应数字):");
			int playerNumber = sc.nextInt();
			System.out.println();
			switch (playerNumber) {
			case 1:
				System.out.println("你出拳:剪刀");
				break;
			case 2:
				System.out.println("你出拳:石头");
				break;
			case 3:
				System.out.println("你出拳:布");
				break;
			default:
				System.out.println("你的输入有误");
				break;
			}
			System.out.println();
			int computerNumber = (int) ((Math.random() * 10) % 3 + 1);// 电脑产生随机数取值在1-3之间
			switch (computerNumber) {
			case 1:
				System.out.println(this.computerName + "出拳:剪刀");
				break;
			case 2:
				System.out.println(this.computerName + "出拳:石头");
				break;
			case 3:
				System.out.println(this.computerName + "出拳:布");
				break;
			}
			System.out.println();
			// 判断对局结果
			if (playerNumber == computerNumber) {

				System.out.println("啊,平局!");
				playNumber++;
			} else if (((playerNumber == 1) && (computerNumber != 2))
					|| ((playerNumber == 2) && (computerNumber != 3))
					|| ((playerNumber == 3) && (computerNumber != 1))) {

				System.out.println("哇,你赢了,好厉害!");
				playerScore++;
				playNumber++;
			} else {

				System.out.println("^_^!!!你输了,真笨!");
				computerScore++;
				playNumber++;
			}
			System.out.println();
			System.out.println("是否开始下一局(y/n):");
			start = sc.next();
			System.out.println();
			System.out.println("********************************");
		}
		this.gameEnd();
	}

4、游戏结束

	// 游戏结束
	public void gameEnd() {
		// TODO Auto-generated method stub
		System.out.println();
		System.out.println("********************************");
		System.out.println(playerName + "  VS  " + this.computerName);
		System.out.println("对战次数:" + playNumber);
		System.out.println("姓名\t\t得分");
		System.out.println(this.computerName + "\t\t" + computerScore);
		System.out.println(playerName + "\t\t" + playerScore);
		if (playerScore < computerScore) {
			System.out.println("呵呵,笨笨,下次加油!");
		} else if (playerScore == computerScore) {
			System.out.println("哇,竟然平局,我们下次一决胜负!");
		} else {
			System.out.println("哇,你好棒啊!");
		}
	}
	}

5、设置游戏标题(可以不写)

class Ui {
	public void theme() {
		// TODO Auto-generated method stub
		System.out.println("\t\t**********猜拳,开始*************");
		System.out.println();
		System.out.println("出拳规则:1.剪刀   2.石头   3.布");
	}
}

6、去到测试类MoraGameTest,进行测试

public class MoraGameTest {
	public static void main(String[] args) {
		MoraGame game = new MoraGame();
		Ui ui = new Ui();
		ui.theme();
		game.fight();
		game.startPlay();
	}
}

} 号可能数量不对,自己修改以下就好了。
有什么可以改进或者完善的功能点各位大佬可以指点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值