Java实现石头剪刀布
玩家电脑进行石头剪刀布的游戏
规则:
- 0-剪刀 1-石头 2-布
- 游戏是五局三胜
- 玩家控制台输入数据与电脑随机产生的数据进行石头剪刀布对应数据的比较
- 最终判断谁是最后赢家
方法调用:
此方法调用Scanner 控制台输入包与Random 随机生成数字包
主要使用数组遍历、while的循环遍历、If分支判断
代码实现:
import java.util.Random;
import java.util.Scanner;
public class GameTest {
public static void main(String[] args) {
//五局三胜
//创建随机数与扫描器工具类
Scanner sc=new Scanner(System.in);
Random r=new Random();
//输出欢迎语句
System.out.println("猜拳游戏");
int countPc=0;
int countPlay=0;
int count=0;
while(true) {
//输出游戏规则
System.out.println("请输入: 0-剪刀 1-石头 2-布");
//电脑随机生成数据
int pc=r.nextInt(3);
//获取玩家控制台输入数据
int player=sc.nextInt();
//根据输入数据输出对应字符串
//声明数组在对应索引处保存数据
String[] strs= {"剪刀","石头","布"};
System.out.print("你出的是:"+strs[player]);
System.out.print(" 电脑出的是:"+strs[pc]);
//判断结果
if(pc==player) {
System.out.println(" 平局");
count++;
}else if(player>pc) {
if(player-pc==1) {
System.out.println(" 你赢了");
countPlay++;
}else {
System.out.println(" 你输了");
countPc++;
}
count++;
}else {
if(pc-player==1) {
System.out.println(" 电脑赢了");
countPc++;
}else {
System.out.println(" 你赢了");
countPlay++;
}
count++;
}
System.out.println("电脑分数:"+countPc);
System.out.println("你的分数:"+countPlay);
if(count==5||countPlay==3||countPc==3) {
if(countPlay>countPc) {
System.out.println("你获胜了");
break;
}else if(countPc>countPlay){
System.out.println("电脑获胜了");
break;
}else {
System.out.println("平局");
break;
}
}
}
}
public static void main1(String[] args) {
//将使用的工具类对象创建
Scanner sc=new Scanner(System.in);
Random r=new Random();
//输出欢迎语句
System.out.println("猜数字游戏");
//输出规则
System.out.println("请输入1~100以内的整数");
//计算机随机生成1-100数字
int number=r.nextInt(100)+1;
//创建变量保存执行次数
int count=0;
while(true) {
count++;
//获取玩家控制台输入数据
int player=sc.nextInt();
//判断结果
if(number==player) {
System.out.println("猜中了");
System.out.println("一共猜了"+count+"次");
break;
}else if(player>number) {
System.out.println("猜大了");
}else {
System.out.println("猜小了");
}
}
}
}