java演练 猜奇偶小游戏开发 DB游戏必输的设计
阶段一,视频
https://www.ixigua.com/6870390946270446088?logTag=J_BVJOm_LIpQ-hWYYF4eI
阶段一,流程图的绘制
阶段二,视频
https://www.ixigua.com/6870396051078152717?logTag=TjxlSM6IdhE7wHXSuuaud
阶段二,代码编写游戏架构
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// 游戏初始化
System.out.println("游戏加载中,loading.......");
// 思考需要哪些变量?
// 是否继续
String is_continue;
// 玩家余额
int money = 20;
// 游戏次数
int play_num = 0;
// 赢亏金额
int win_money = 0;
// 玩家猜的结果,用户选择
int player_choice;
// 随机数
int rand_num;
// Scanner对象
Scanner ipt = new Scanner(System.in);
// 差不多就是这些,想到了再补充
// 程序主体开始
System.out.println("是否要开始游戏:y-开始/其它键-退出");
is_continue = ipt.nextLine();
// 循环准备
while ("y".equals(is_continue)) {
System.out.println("开始了一局游戏。。。");
System.out.println("游戏结束了。。。。");
// 程序主体开始
System.out.println("是否要开始游戏:y-开始/其它键-退出");
is_continue = ipt.nextLine();
}
// 退出语句
System.out.println("你一共玩了多少局,当前余额是多少,寨见!");
}
}
阶段三,实现具体的功能
循环内的逻辑
先扣钱
玩家猜奇还是偶,接收键盘输入
电脑随机一个数
判断这个数是奇还是偶
如果判断的结果和玩家一样,就加分
如果不一样,就不加分
阶段三,视频
扣款
https://www.ixigua.com/6870398027262067213?logTag=SnCsVMAP5XDNBUu4osGt2
数据生成与比对
https://www.ixigua.com/6870407009179533838?logTag=3QKSsEYtQBJYmQbrPJYLq
优化数据判断
https://www.ixigua.com/6870407032676024846?logTag=vhd2CKTyxAazu3IjuE8Ph
赢亏数据 余额判定
https://www.ixigua.com/6870414058244440589?logTag=d4h_TJqAfeSnmWVMyEj9y
收尾工作
https://www.ixigua.com/6870414159956312583?logTag=E4lyKqeN9UOV-vBbA7JZ0
阶段四,视频
https://www.ixigua.com/6870414236581888520?logTag=lkKPT-3wp04GDWLxprk1u
阶段四,玩家必输的算法
最终代码
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// 游戏初始化
System.out.println("游戏加载中,loading.......");
// 思考需要哪些变量?
// 是否继续
String is_continue;
// 玩家余额
int money = 20;
// 游戏次数
int play_num = 0;
// 赢亏金额
int win_money = 0;
// 玩家猜的结果,用户选择 1 或者 0
int player_choice;
// 随机数
int rand_num;
// Scanner对象
Scanner ipt = new Scanner(System.in);
// 一局游戏的消耗
int coast = 5;
// 胜钊奖金
int win_price = 10;
// 玩家是否猜对
boolean is_right = false;
// 差不多就是这些,想到了再补充
// 程序主体开始
System.out.println("是否要开始游戏:y-开始/其它键-退出");
is_continue = ipt.nextLine();
// 循环准备,如果输入y就继续,同时如果余额大于一局游戏才可以继续
while ("y".equals(is_continue) && (money - coast) > 0) {
// 扣款
System.out.println("游戏开始拉:当前余额为:" + money);
money -= coast;
System.out.println("扣除一局的消耗,剩余款为:" + money);
// 游戏次数+1
play_num++;
// 数据处理
// 接收用户的数据
System.out.println("猜一猜是奇数还是偶数:1-奇数,0-偶数");
player_choice = ipt.nextInt();
do {
// 电脑生成一个随机数(假设数据在0-9之间)
rand_num = (int) (Math.random() * 10);
System.out.println("被你猜中了,这次不算,再给你出个号,嚸嘿嘿!!");
// 做怪的算法开始
if (rand_num % 2 == player_choice) {
is_right = true;
} else {
is_right = false;
}
} while (is_right == true);
System.out.println("随机数是:" + rand_num);
// 奇偶判断
if (rand_num % 2 == player_choice) {
System.out.println("答对了");
// 答对得奖金
money += win_price;
win_money += win_price;
} else {
System.out.println("猜错了");
win_money -= coast;
}
System.out.println("当前余额--->" + money + "\t赢亏--->" + win_money);
// 程序主体开始
System.out.println("是否要开始游戏:y-开始/其它键-退出");
is_continue = ipt.next();
}
// 退出语句
System.out.println("你一共玩了" + play_num + "局,当前余额是" + money + "赢亏是" + win_money);
System.out.println("再见!");
}
}
可更进一步优化
- 用户输入的内容进行范围判断
- 作弊功能只在用启赢了一定金额的情况下