9206-1118-周三 猜拳小游戏一次性版本

9206-1118-周三 猜拳小游戏一次性版本

源码

https://cloud.189.cn/t/NV7Njin2MBby(访问码:gr3w)

先建好相关文件

在这里插入图片描述

入口文件入口函数中的代码

在这里插入图片描述

在入口函数中

实例化一个游戏对象

让游戏对象运行起来

在这里插入图片描述

在这里插入图片描述

测试游戏的运行

在这里插入图片描述

完善start方法

在这里插入图片描述

运行入口文件,测试运行效果

在这里插入图片描述

初始化游戏对象 loading方法

功能:

初始化游戏中需要使用一些变量

本例中需要有

玩家

电脑

裁判

定义loading方法

在这里插入图片描述

调用loading方法

start方法中调用loading方法

在这里插入图片描述

运行结果

在这里插入图片描述

完善loading方法中的功能

定义类的属性

我们希望产生的对象可以具有更广的生命周期

所以会把变量的定义,写在class层级

变量的定义
在这里插入图片描述

loading的全代码

在这里插入图片描述

start方法中调用loading方法

在这里插入图片描述

程序运行效果

在这里插入图片描述

玩善主逻辑

完善前的代码

在这里插入图片描述

完善后的代码

在这里插入图片描述

对象的方法细节

在对象的方法中,我们使用了一行输出语句进行占位

在这里插入图片描述

运行测试效果

在这里插入图片描述

电脑出拳的方法细节

先写内容进行占位

在这里插入图片描述
在这里插入图片描述

电脑出拳代码


    /**
     * 电脑的出拳方法
     */
    public String chuQuan() {
        System.out.println("npc思考中。。。。");

        // 生成随机数
        int randNum = 1 + (int) (Math.random() * (3 - 1 + 1));

        // 根据不同的随机数,对应上不同的字符串
        String quan="";
        switch (randNum) {
            case 1:
                quan = "石头";
                break;
            case 2:
                quan = "剪刀";
                break;
            case 3:
                quan = "布";
                break;
        }

        // 返回字符串
        return quan;
    }

运行效果

在这里插入图片描述

方法的调用

在这里插入图片描述

玩家出拳

玩家出拳方法的代码

在这里插入图片描述

运行效果

在这里插入图片描述

start方法中的调用

在这里插入图片描述

裁判评判逻辑

收到出拳的结果后

评判

if语句

以玩家立场来进行评判

平局的情况:
玩家拳==电脑拳

胜利的情况:
玩家=石头 电脑=剪刀
玩家=剪刀 电脑=布
玩家=布 电脑=石头

其它:
失败的情况

部分代码

在这里插入图片描述

完整的裁判代码

public class CaiPan {
    public void pingFen(String npcQuan, String wjQuan) {

        // 对双方的出拳进行一个判断
        // 假定0是平局,1胜利,-1失败
        int is_win = 0;

        if ((wjQuan.equals("石头") && npcQuan.equals("剪刀")) || (wjQuan.equals("布") && npcQuan.equals("石头")) || (wjQuan.equals("剪刀") && npcQuan.equals("布"))) {
            is_win = 1;
        } else if (wjQuan.equals(npcQuan)) {
            is_win = 0;
        } else {
            is_win = -1;
        }
        System.out.println("电脑拳:" + npcQuan + "\t玩家出拳" + wjQuan);
        System.out.println("胜负状态" + is_win);
    }
}

运行效果

在这里插入图片描述

裁判方法的最终改良

public class CaiPan {
    public void pingFen(String npcQuan, String wjQuan) {

        // 对双方的出拳进行一个判断
        // 假定0是平局,1胜利,-1失败
        int is_win = 0;

        if ((wjQuan.equals("石头") && npcQuan.equals("剪刀")) || (wjQuan.equals("布") && npcQuan.equals("石头")) || (wjQuan.equals("剪刀") && npcQuan.equals("布"))) {
            is_win = 1;
        } else if (wjQuan.equals(npcQuan)) {
            is_win = 0;
        } else {
            is_win = -1;
        }

        // 胜负的输出
        System.out.println("电脑拳:" + npcQuan + "\t玩家出拳:" + wjQuan);
        switch (is_win) {
            case -1:
                System.out.println("电脑胜利");
                break;
            case 0:
                System.out.println("平局");
                break;
            case 1:
                System.out.println("玩家胜利");
                break;
        }

    }
}

运行效果

在这里插入图片描述

游戏的进阶

需求:

1,让游戏可以反复运行

每一次游戏结束后询问一下

是否退出游戏

如果用户输入的是n

那么就退出游戏,退出的时候,输出一下,用户一共玩了几局

否则

重新再开一轮

电脑要重新随机一个数,重新产生一个拳

2,进阶

每一个游戏过后

谁胜利,谁加分

当用户选择退出游戏时

除了显示用户一共玩了几局

还要显示双方的得分

3,进阶

五局三胜

游戏不停的循环

谁获得三分,游戏自动退出

退出时显示双方得分

显示比赛的的胜利者

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值