java实现简单⽯头剪⼑布⼩游戏
简介
⽯头剪⼑布游戏,进⼊游戏后,玩家需要输⼊玩家姓名。系统界⾯之后弹出欢迎界⾯,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳⽐较,输出猜拳结果。最后退出游戏后显⽰排⾏榜,输出总局数,胜率。
分析
通过while循环死循环模拟不断进⾏游戏,当⽤户输⼊0时break跳出while循环。
通过Random产⽣随机数模拟AI出拳
定义了⼀个choose⽅法,将⽤户输⼊和AI随机⽣成的数,转换成剪⼑、⽯头和布。
判断输赢逻辑:
1:⽯头 2:剪⼑ 3:布
变量userChoose中存储的是⽤户的出拳
变量ai中存储的是电脑的出拳
当userChoose - ai 等于-1或2时,⽤户赢
当userChoose - ai 等于0时,平局
当userChoose - ai 等于1或-2时,电脑赢
源代码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random r = new Random();
int count = 0; // 总局数
int win = 0; // 获胜局数
int result = 0; // 结果
int ai = 0; // 电脑出拳
System.out.print("请输⼊姓名:");
String name = sc.nextLine();
while(flag) {
System.out.println("************************************************");
System.out.println("欢迎"+ name + "进⼊猜拳游戏");
System.out.println("1.⽯头 2.剪⼑ 3.布 0.退出");
System.out.println("************************************************");
System.out.print("请输⼊数字:");
int userChoose = sc.nextInt(); // 玩家选择
if (userChoose == 0) { // 游戏结束
break;
}
// AI出拳
ai = r.nextInt(3)+1;
// 输出玩家和电脑的出拳
System.out.println("你的出拳是:" + choose(userChoose));
System.out.println("电脑出拳是:" + choose(ai));
// 判断输赢
switch(userChoose - ai) {
case -1: // 赢
case 2:
System.out.println("你赢了!╭(╯^╰)╮");
win++; // ⽤户赢,赢场计数器⾃增1
count++; // 局数计数器⾃增1
break;
case 0: // 平局
System.out.println("平局,再来⼀局~~~~~o(* ̄︶ ̄*)o");
count++;
break;
case 1: // 输
case -2:
System.out.println("你输了! O(∩_∩)O哈哈~");
count++;
break;
}
System.out.println("\n");
}
System.out.println();
System.out.println("\t\t\t\t排⾏榜");
System.out.println("************************************************");
System.out.println("姓名\t\t总局数\t\t赢场\t\t胜率");
System.out.println(name + "\t\t" + count + "\t\t\t" + win + "\t\t\t" + String.format("%.2f", (win*1.0/count)*100) + "%");
}
// 返回出拳
public static String choose(int choose) {
switch(choose) {
case 1:
return "⽯头";
case 2:
return "剪⼑";
简单的java游戏代码case 3:
return "布";
}
return "";
}
游戏截图
进⼊游戏输⼊姓名,显⽰菜单:
⽤户出⽯头:
⽤户出剪⼑:
⽤户出布:
输⼊0游戏结束:
总结
本程序是学习中的⼀个⼩案例,⽬前程序⽐较基础,只能记录⼀个玩家的信息,且数据不能存在本地。作者是在校的⼀名学⽣,⽬前技术有限,如有考虑不周,请各路⼤神批评指正,共同学习。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论