题目
编写一个猜拳游戏,进入新游戏需要输入用户的昵称,选择对手(对手随机出拳),然后进行游戏,游戏可以多局的形式,游戏中胜利分数加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输入版》的全部内容,
感谢您对博客的支持!