一、效果展示:
二、内容要求
游戏循环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;
}
}
四、总结
这是一个由一维数组实现的简单练手项目——打地鼠小游戏,可以很好的锻炼自己的逻辑思维能力,以及代码的编写能力,是入门数组基础很好的一个锻炼机会。