java石头剪刀布的小游戏:尼古丁真&芙蓉王源&嘴硬华晨三人的猜拳比赛

嘛.......上第一节java课后写的个作业,因为之后不打算从事java学习,就干脆把这个发出来吧

游戏中华晨大法师其实我并不是很了解,但是觉得需要这个角色就百度下了嘴硬的明星,结果有华晨我就写了他的设定

目录

代码的大致结构

核心的主要类game

与角色相关的属性类character

与选择相关的类choose


代码的大致结构

核心的主要类game

import java.util.Random;
import java.util.Scanner;
public class game
{
    public static void  main (String[] args)
    {
        //通过Random类中的nextInt(int n)方法,生成1-3的随机数 1代表剪刀 2代表
        //石头 3代表布
        System.out.println("程序已启动");
        System.out.println("剪刀  石头  布");
        System.out.println("请选择您的角色");
        System.out.println("1.尼古丁真 HP:7:丁真十分的纯真,导致他的生命值比其他人多三点");
        System.out.println("2.芙蓉王源 HP:4:由于经常抽芙蓉王,赛过活神仙,攻击力比其他人高一点");
        System.out.println("3.嘴硬华晨 HP:4:十分的嘴硬,导致他能在两局已输的时候说自己没输并反咬一口");
        Scanner sc = new Scanner(System.in);
        //Scanner paly = new Scanner(System.in);
        character C=new character();
        int player=sc.nextInt();
        C.name=player;
        {   //character p1=new character();
            if(C.name==1)
            {
                C.HP=7;
            }
            //character p2=new character();
            if(C.name==2)
            {
                C.attack=2;
            }
            //character p3=new character();
            if(C.name==3)
            {
                C.cheat=2;
            }
        }
        System.out.println("机器人默认为尼古丁真,别问为什么,问就是懒");
        System.out.println("=========猜拳小游戏=========");
        character R=new character();
        R.HP=7;
        int a=1;
        for(;a==1;)
        {
                Random r=new Random();
                int diannao=r.nextInt(3)+1;
                Scanner s=new Scanner(System.in);
                System.out.println("请输入1、2、3,1代表剪刀,2代表石头,3代表布");
                int fangke=s.nextInt();
                if(diannao==1&&fangke==1)
                {System.out.println("电脑出的是剪刀,你出的是剪刀,平局");}
                if(diannao==1&&fangke==2)
                {
                    System.out.println("电脑出的是剪刀,你出的是石头,你赢了,电脑生命-1,"+"电脑当前生命为"+(R.HP-1));
                    R.HP--;
                    if(C.name==2)
                    { R.HP--;System.out.println("王源兴奋了!电脑生命再次减1");}
                    if(C.HP<=0)
                    { System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
                    if(R.HP<=0)
                    {   System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
                }
                if(diannao==1&&fangke==3)
                {
                    System.out.println("电脑出的是剪刀,你出的是布,电脑赢了,你的生命-1"+"你当前生命为"+(C.HP-1));
                    C.HP--;
                    if(C.cheat>0)
                    {C.cheat--;C.HP++;R.HP--;System.out.println("华晨发动嘴硬!免疫本次伤害,并使电脑生命再次减1");}
                    if(C.HP<=0)
                    { System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
                    if(R.HP<=0)
                    {   System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
                }
                if(diannao==2&&fangke==1)
                {
                    System.out.println("电脑出的是石头,你出的是剪刀,电脑赢了,你的生命-1"+"你当前生命为"+(C.HP-1));
                    C.HP--;
                    if(C.cheat>0)
                    {C.cheat--;C.HP++;R.HP--;System.out.println("华晨发动嘴硬!免疫本次伤害,并使电脑生命再次减1");}
                    if(C.HP<=0)
                    { System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
                    if(R.HP<=0)
                    {   System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
                }
                if(diannao==2&&fangke==2)
                {
                    System.out.println("电脑出的是石头,你出的是石头,平局");
                }
                if(diannao==2&&fangke==3)
                {
                    System.out.println("电脑出的是石头,你出的是布,你赢了,电脑生命-1"+"电脑当前生命为"+(R.HP-1));
                    R.HP--;
                    if(C.name==2)
                    { R.HP--;System.out.println("王源兴奋了!电脑生命再次减1");}
                    if(C.HP<=0)
                    { System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
                    if(R.HP<=0)
                    {   System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
                }
                if(diannao==3&&fangke==1)
                {
                    System.out.println("电脑出的是布,你出的是剪刀,你赢了,电脑生命-1"+"电脑当前生命为"+(R.HP-1));
                    R.HP--;
                    if(C.name==2)
                    { R.HP--;System.out.println("王源兴奋了!电脑生命再次减1");}
                    if(C.HP<=0)
                    { System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
                    if(R.HP<=0)
                    {   System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
                }
                if(diannao==3&&fangke==2)
                {
                    System.out.println("电脑出的是布,你出的是石头,电脑赢了,你的生命-1"+"你当前生命为"+(C.HP-1));
                    C.HP--;
                    if(C.cheat>0)
                    {C.cheat--;C.HP++;R.HP--;System.out.println("华晨发动嘴硬!免疫本次伤害,并使电脑生命再次减1");}
                    if(C.HP<=0)
                    { System.out.println("最后~~~电脑取得最终胜利,逊!");a=0;}
                    if(R.HP<=0)
                    {   System.out.println("最后~~~你取得最终胜利,勇!"); a=0;}
                }
                if(diannao==3&&fangke==3)
                {
                    System.out.println("电脑出的是布,你出的是布,平局");
                }
                if(fangke!=1&&fangke!=2&&fangke!=3)
                {
                    System.out.println("只能输入1、2、3");
                }
        }
    }
}

与角色相关的属性类character

public class character
{
     public static int name;
     public static int attack=1;
     int HP=4;
     public static int cheat=0;
}

与选择相关的类choose

public class choose
{
    public static void main(String[] args)
    {
        character p1=new character();
        if(p1.name==1)
        {
            p1.HP=7;
        }
        character p2=new character();
       // if(name==2)
        {
            p2.attack=2;
        }
        character p3=new character();
       // if(name==3)
        {
            p3.cheat=2;
        }
    }
}

后记:这个游戏角色之间的强度设定的只能说还行吧,考虑了点平衡度,不会出现一个角色超级强的情况

这个代码的剪刀石头布胜利与否的判断还有多种方法,各位可以在我基础上优化很多,最后祝各位前程似锦~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值