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,进阶
五局三胜
游戏不停的循环
谁获得三分,游戏自动退出
退出时显示双方得分
显示比赛的的胜利者