题目
编写一个猜拳游戏,进入新游戏需要输入用户的昵称,选择对手(对手随机出拳),然后进行游戏,游戏可以多局的形式,游戏中胜利分数加1,平局和输了不加分不减分,游戏结束告知游戏中的成绩返回游戏主界面,用户可以通过排行榜查看前10的分数(需要排序),通过退出可以结束游戏。游戏中的数据不需要永久保存,只有在本次运行中作短期的保存即可,也可以自主的写入一些伪数据。该游戏要注意界面的友好,代码的合理,必须符合代码的规范和代码的优化,尽自己所学避免程序发生异常现象。
游戏规则:石头剪刀布,石头赢剪刀,剪刀赢布,布赢石头
提示:
随机数使用
Random random = new Random();
int index = random.nextInt(2);//随机0~2之间的数
思路
很简单,考察Java多重if条件和循环,基础学的好都能写出来,使用random的目的是让程序生成随机数字,用随机数字代表拳头,然后判断用户输入和随机数生成的大小即可,再利用变量去存储局数,代码是上一年写的,当时不太会,可能会有代码沉余,敬请谅解
控制台输入图片
代码
package com.byydcxyax.game;
import java.util.Random;
import java.util.Scanner;
public class Game {
private static int a;
private static int b;
private static int sheng; //您胜利次数
private static int bai; //您失败次数
private static int ping;//平局次数
private static int ju;//局次数
public static void caidan() {
System.out.println("欢迎进入生死对决");
System.out.println("游戏规则:输入一个数字表示您的出拳,0是石头,1是剪刀,2是布,3是直接胜利!");
System.out.println("游戏即将开始!!!!");
}
public static void wanjia() {
Scanner sc = new Scanner(System.in);
//0-石头 1- 剪刀 2-布
System.err.print("请您出拳:");
a = sc.nextInt();
boolean panduan = false;
do {
switch (a) {
case 0:
System.out.println("您出的是石头");
panduan = false;
break;
case 1:
System.out.println("您出的是剪刀");
panduan = false;
break;
case 2:
System.out.println("您出的是布");
panduan = false;
case 3:
System.out.println("附加Buff开启,您直接取得胜利!");
panduan = false;
default:
System.out.println("您输入错误,请重新输入");
break;
}
}while(panduan);
}
public static void diannao() {
Random dian = new Random();
boolean panduan = false;
do {
b = dian.nextInt(3);
switch (b) {
case 0:
System.err.println("电脑出了石头");
panduan = false;
break;
case 1:
System.err.println("电脑出了剪刀");
panduan = false;
break;
case 2:
System.err.println("电脑出了布");
panduan = false;
default:
System.out.println("您的输入错误,请重新输入");
break;
}
}while(panduan);
}
public static void caipan (int a,int b) {
System.err.print("比赛结果");
if(a == b) {
System.err.println("平局,您和电脑打了个平手");
ping++;
}else if(a == 0 && b == 1) {
System.err.println("您赢了!还是您NB!");
sheng++;
}else if(a == 0 && b == 2) {
System.err.println("您输了,菜鸡人类!");
bai++;
}else if(a == 1 && b == 0) {
System.err.println("您输了,菜鸡人类!");
bai++;
}else if(a == 1 && b == 2) {
System.err.println("您赢了,还是您NB!");
sheng++;
}else if(a == 2 && b == 0) {
System.err.println("您赢了,还是您NB!");
sheng++;
}else if(a == 2 && b == 1) {
System.err.println("您输了,菜鸡人类!");
bai++;
}else if(a == 3) {
System.out.println("Buff开启,你直接取得胜利!");
sheng++;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
caidan();
boolean c = false;
do {
wanjia();
diannao();
caipan(a,b);
ju++;
System.out.println("是否继续?(Y/N)");
char d = sc.next().charAt(0);
if(d == 'y') {
System.out.println("继续游戏:");
c = true;
}else if(d == 'n') {
System.out.println("游戏结束~祝您生活愉快!");
System.out.println("----------战局统计----------");
System.out.printf("t总局数:%dn",ju);
System.out.printf("胜利:%d 失败:%d 平局:%dn",sheng,bai,ping);
c = false;
}else {
System.err.println("输入的什么玩意?来再来一局!别想跑!");
c = true;
}
}while(c);
}
}
以上是《用Java做一个简单的猜拳小游戏Console输入版》的全部内容,
感谢您对程序员阿鑫博客的支持!
版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!