java实现简单石头剪刀布小游戏
程序员文章站
2022-03-09 22:44:15
简介石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,输出猜拳结果。最后退出游戏后显示排行榜,输出总局数,胜率。分...
简介
石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,输出猜拳结果。最后退出游戏后显示排行榜,输出总局数,胜率。
分析
通过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 "剪刀"; case 3: return "布"; } return ""; }
游戏截图
进入游戏输入姓名,显示菜单:
用户出石头:
用户出剪刀:
用户出布:
输入0游戏结束:
总结
本程序是学习中的一个小案例,目前程序比较基础,只能记录一个玩家的信息,且数据不能存在本地。作者是在校的一名学生,目前技术有限,如有考虑不周,请各路大神批评指正,共同学习。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。