一维数组学习之打地鼠小游戏

一、效果展示:

二、内容要求

游戏循环5次,每次展示洞穴时也展示第一行洞穴的序号
例如:
1 2 3 4 5 6 7 8 9
O O O O O O O O O

随机角标,地鼠随机出现为"X"  
例如:
1 2 3 4 5 6 7 8 9
O O O X O O O O O

提示玩家击打,玩家输入对应序号进行击打

判断是否打中

击中得2分,未击中扣1分(乱输入数字也视为没打中)

游戏结束,统计击中次数,未击中次数 和最后的得分

中途可以按99重新开始,按88退出游戏

三、详细代码:

public static void main(String[] args) {
		System.out.println("=====欢迎来到打地鼠游戏=====");
		System.out.println("=======================");
		System.out.println("洞穴数量初始化中");
		Random random = new Random();
		int num = random.nextInt(8)+2;
		System.out.println("洞穴数量: "+num );
		System.out.println("---------------------------------");
		char[] arr = new char[num + 1];
		for (int i = 0; i < arr.length -1; i++) {
			arr[i]='0';
		}
		for (int i = 0; i < num; i++) {
			System.out.print((i+1)+"   ");
		}
		System.out.println();
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]+"   ");
		}
		System.out.println();
		System.out.println("---------------------------------");
		int score = 0;
		int hit_count = 0;
		int miss_count = 0;
		
		while(true) {
			for (int k = 1;k <= 5; k++) {
				int get = random.nextInt(num);
				arr[get]='x';
				System.out.println("第【"+k+"】次,游戏,当前得分【"+score+"】");
				System.out.println("请注意,地鼠出现了");
				System.out.println("⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇");
				System.out.println("---------------------------------");
				
				for (int i = 0; i < num; i++) {
					System.out.print((i+1)+"   ");
				}
				System.out.println();
				for (int i = 0; i < arr.length; i++) {
					System.out.print(arr[i]+"   ");
				}
				System.out.println();
				System.out.println("---------------------------------");
				System.out.println("输入对应的序号击打,88-退出游戏 , 99-重新开始");
				System.out.println("请选择:");
				Scanner sc = new Scanner(System.in);
				int choose = sc.nextInt();
				if (choose == 88) {
					System.out.println("欢迎下次再来!");
					break;
				}
				if (choose == 99) {
					System.out.println("重新开始");
					
					score = 0;
					k =0 ;
					continue;
				}
				if (choose == (get+1)) {
					System.out.println("恭喜你,打中了,分数+2");
					score +=2;
					hit_count++;
					System.out.println("----------------------------");
				}else {
					System.out.println("很遗憾,没打中,分数-1");
					score --;
					miss_count++;
					System.out.println("----------------------------");
				}
				arr[get]='0';
			}
			System.out.println("游戏结束");
			System.out.println("击中【"+hit_count+"】");
			System.out.println("未击中【"+miss_count+"】");
			System.out.println("最终得分【"+score+"】");
			break;
		}
	}

四、总结

        这是一个由一维数组实现的简单练手项目——打地鼠小游戏,可以很好的锻炼自己的逻辑思维能力,以及代码的编写能力,是入门数组基础很好的一个锻炼机会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值