栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用java实现猜拳游戏

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用java实现猜拳游戏

剪刀、石头、布又称“猜丁壳”,古老而简单,这个游戏的主要目的是为了解决争议,因为三者相互制约,因此不论平局几次,总会有胜负的时候。

游戏规则中,石头克剪刀,剪刀克布,布克石头。

根据以上简述我们可以设计一个简单的程序来完成它,首先设计一个猜拳类,设置其属性

class compete{
    int comguess ; //电脑猜值  0——拳 1——剪 2——布
    int manguess;  //玩家猜值
    int wincount;  //赢的次数
    int count;     //比赛次数
}

然后就是功能设计即方法 

1.要有电脑的猜拳结果,可以通过Radom方法获取 

 public int comnum(){  //定义电脑猜拳值
       Random  p =new Random();  //随机数获取
       comguess = p.nextInt(3);
       return comguess;
   }

2.玩家猜拳的输出,设置猜拳值范围

 public void manunm(int manguess){ //定义玩家猜拳值
       if(manguess >2 || manguess< 0){
           throw new IllegalArgumentException("输入有误");
       }
       this.manguess =manguess;
   }

3.比赛规则的设定,通过if-else来判断

public String winnum(){ //定义比赛规则
       if(manguess == 0 && comguess == 1){
           return "你赢了";
       }else if(manguess == 1 && comguess == 2){
           return "你赢了";
       }else if(manguess ==2 && comguess ==0){
           return "你赢了";
       }else if(manguess == comguess){
           return "平局";
       }else {
           return "你输了";
       }
   }

4.比赛结果的输出,通过count来计数

 //定义赢局次数
   public int wincount(String s){
      count ++;
      if(s.equals("你赢了")){
          wincount++;
      }
      return wincount;
   }

以上就是猜拳类的属性和方法,然后就是回到main方法中调用它

import java.util.Random;
import java.util.Scanner;

public class guess {
    public static void main(String[] args){
        compete p = new compete();
        int wincount = 0;
        //创建一个二维数组用来接收玩家和电脑的猜拳情况
        int arr1[][] =new int[3][3];
        int j=0;
        //创建一个一维数组用来接收输赢情况
        String arr[] = new String[3];
        Scanner print = new Scanner(System.in);
        for(int i=0;i<3;i++){
         //获取玩家猜拳数
            System.out.println("请输入你要猜的拳");
            int num = print.nextInt();
            p.manunm(num);
            int guess = p.manguess;
            arr1[i][j+1] =guess;
        //获取电脑出拳数
           int comnum = p.comnum();
            arr1[i][j+2]= comnum;
         //将玩家的数与电脑比较
         String iswin =p.winnum();
         arr[i] =iswin;  //一维数组接收输赢情况
         arr1[i][j]= p.count; //二维数组接收比赛次数
         //对每一局情况进行输出
            System.out.println("=============================");
            System.out.println("局数t玩家的出拳t电脑的出拳t输赢情况");
            System.out.println(p.count+"t"+num+"tt"+comnum+"tt"+iswin);
            System.out.println("=============================");
            System.out.println("nn");
            wincount =p.wincount(iswin);
        }
        //对游戏最终结果输出(即遍历二维数组)
        System.out.println("局数t玩家的出拳t电脑的出拳tt输赢情况");
        for(int a=0;a

然后下面是运行结果

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/860890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号