人机猜拳游戏

news/2024/11/24 13:45:17/

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

public class Homework14{
    public static void main(String[] args){
        
        //随机数使用方法
        // Random r = new Random();
        // System.out.println(r.nextInt(3));
        System.out.println("游戏开始,共进行5局猜拳");//提示游戏已开始
        Game myGuessGame = new Game();//给myGuessGame开空间
        myGuessGame.guessGame();//使用猜拳方法
        

           
    }
}
class Tom{//定义一个Tom类
    //用tomNum表示Tom出的拳
    int tomNum;
    //用winNum表示Tom赢得次数
    int winNum;
    //再用一个gameNum表示比赛的次数
    int gameNum;
    public Tom(int gameNum){//用构造器来定义比赛次数
        this.gameNum = gameNum;
    }
    
}
class Computer{//定义一个Computer类
    //用comNum表示电脑随机出的拳
    int comNum;
    //定义一个让电脑出拳的方法computerNum
    public int computerNum(){
        Random r = new Random();
        return r.nextInt(3);
    }

}
class Game{
    //创建一个猜拳游戏方法,用int的形式返回Tom赢的次数
    Scanner myScanner = new Scanner(System.in);
    Tom t = new Tom(5);//括号内表示玩家意愿的比赛次数
    Computer c = new Computer();
    //创建一个方法表示游戏规则
    public int gameRule(){//返回1表示赢,0表示平,-1表示输
           
        t.tomNum = myScanner.nextInt();//接收玩家出的拳
        c.comNum = c.computerNum();//接收电脑出的拳
        //以下将两者出的拳进行输赢判断(return100用来1.表示输入错误 2.避免方法无返回值)
        if (t.tomNum == 0){
            if (c.comNum == 0){
                return 0;
            }
            else if (c.comNum == 1){
                return 1;
            }
            else if (c.comNum == 2){
                return -1;
            }else{
                return 100;
            }
        }
        else if (t.tomNum == 1){
                if (c.comNum == 0){
                    return -1;
                }
                else if (c.comNum == 1){
                    return 0;
                }
                else if (c.comNum == 2){
                    return 1;
                }
                  else{
                    return 100;
                 }
        }
        else if (t.tomNum == 2){
                if (c.comNum == 0){
                    return 1;
                }
                if (c.comNum == 1){
                    return -1;
                }
                if (c.comNum == 2){
                    return 0;
                }
                else{
                    return 100;
                }
        }else{
            System.out.println("你输入有误,游戏结束");
            return 100;
        }

    }
    //创建游戏主执行方法
    public void guessGame(){        
        int temp ;//创建一个临时变量保存游戏结果
        int i;
        for( i = 1; i <= t.gameNum; i++){
            System.out.println("请出拳");
            temp = gameRule();//使用gameRule方法并将结果赋给temp
            if(temp == 100){//输入有误时
                break;
            }else if(temp == 1){//当玩家输入正确且赢时
                t.winNum++;
                System.out.println("===============\n出拳情况如下\n===============\n你出了" 
                                + t.tomNum + "\n电脑出了" + c.comNum + "\n===============");
             }else {//剩余情况(只可能是-1和0)时
                 System.out.println("===============\n出拳情况如下\n===============\n你出了" 
                                + t.tomNum + "\n电脑出了" + c.comNum + "\n===============");
             }
        }
        if (i == 6){
            System.out.println(t.gameNum + "局中,你赢了" + t.winNum + "局");
        }else{
        }
    }
}


http://www.ppmy.cn/news/877762.html

相关文章

RPG模拟格斗

RPG模拟格斗 兄弟们&#xff0c;废话不多说&#xff0c;直接上代码! package Fan;import java.util.Random;class Hero{private String name;private String [] skill;private int[] skillHurts;private double hp;public String getName(){return name;}public void setName…

Python比赛获奖作品。双人格斗游戏

演示视频 游戏演示视频 作者大一时参加比赛的参赛作品&#xff0c;欢迎各位同仁指点。 也可以关注我之后私信我留个邮箱留言要哪个源码&#xff0c;我会把源码 免费发送到你的邮箱。 源码以开源&#xff1a; gitee源码链接&#xff1a;https://gitee.com/sf2129876388/pyga…

铁甲格斗机器人制作

教程 格斗机器人 2018KOB全球机器人格斗大赛机器人建造规则羽量级.PDF 外壳制作 参考&#xff1a;3D建模软件 专业的软件太费时间&#xff0c;还要买很贵的电脑才能跑起来&#xff0c;也完全没有必要&#xff0c;所以&#xff0c;选最简单的软件就行。 tinkercad fusion36…

Ae:人偶工具

人偶工具 Puppet Tools根据控点&#xff08;也称“操控点” Pin&#xff09;位置&#xff0c;对图像的不同部位进行拉伸、挤压、伸展及其它变形处理&#xff0c;类似于 Ps 中的“操控变形”命令。 快捷键&#xff1a;Ctrl P 人偶工具组中有五个工具&#xff0c;每种工具对应一…

格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。

package train2;import java.util.Random;//创建基础框架 public class test {private String name;private int blood;public test(String name, int blood) {this.name name;this.blood blood;}public String getName() {return name;}public void setName(String name) {t…

git cherry-pick 多个commit操作

经常需要从一个分支选择性的合并commit到另一个分支&#xff0c;具体可使用cherry-pick实现&#xff1a; 1.单个commit合并&#xff08;同一个分支或者两个不同的分支都可以&#xff09; git cherry-pick commit_id2.多个连续commit合并&#xff08;即使是从其他分支pick-out…

悬浮球

悬浮球可左右靠边悬浮&#xff0c;可停止保留原来位置&#xff0c;可控制 数值可更改自己想要的 //子组件 <template><view><view id"_drag_button" class"drag" :style"left: left px; top: top px;" touchstart"t…

苹果悬浮球_使用iPhone手机,还不知道悬浮球功能?难怪被说成土鳖

苹果手机推出的新款iPhone11跳水价3000多&#xff0c;跟安卓的旗舰机型一个价位&#xff0c;有史以来发布的一款最便宜的苹果手机&#xff0c;性价比响当当的&#xff0c;很多朋友都愿意花3000多块钱体验一下iOS系统。 跳出安卓舒适圈投入iOS的怀抱&#xff0c;iPhone设备与安卓…