Java语言算24点游戏

相关知识支撑:

Java三种结构:顺序;条件分支;循环去配合于java变量类型使用。

思考: 全局变量(确定);实现程序逻辑

编写前:

流程:1、系统产生四个随机数 1-13 J Q K 计算的内容是1

        四个随机数字是打印在屏幕上的(可以重复)  

     2、用户输入算式,算式结果是24

     3、由电脑计算算式的结果是否正确,如果正确,继续出4个数字,

  根据上一步来的,每一步都会有新的算式,

4、用户退出, 输入q可以退出  

或者发牌之前做用户询问,是否继续发牌.(y/n)

循环结构

找到循环变量,循环变量还需要初始化,判断出循环条件

可以用户确认发牌作为循环控制量,如果循环发牌变量为n,可以退出.

 Char s=’y’;

   While(s!=’n’){

}

 用for循环

for(char s=’y’;s!=’n’;){

}

这两种方式的编程,必须把变量控制的逻辑理清楚,才能控制流程。

 如果用char接收 nextChar,很可能会报错

遇到游戏类的编程,循环外层直接套一个死循环

(规定:游戏类退出一般都是主角生命值或者用户的某种操作决定,否则一直在游戏中)

 While(true){

空间做任何游戏逻辑

String ch=Scanner.next();

  If (ch.equals(“y”)){

}

}

编写游戏类程序的思维:

  1. 确定基本架构(游戏的架构:死循环中套用一个退出条件) 
  2. 确定全局变量

每个游戏类程序,都会有一个用户玩家名字, username全局

只要有交互的内容,Scanner ,直接把Scanner算作全局

  1. 实现逻辑

5 3 2 K

(5+2+K)*3

5 5 10 4

(+

  合法性:只能通过正则判断

  ^[(,),1-10,J,Q,K][1-10,J,Q,K,+,-,*,/]$

无法统一

两个

^([1-10,J,Q,K][+,-,*,/][1-10,J,Q,K][),1-10,J,Q,K]$

只要算式中有括号,很难判断合法性

数学方法: 先算括号里面,再算括号外面

 先找括号里面的找出来

字符串操作中,indexOf

计算括号里面的思维

根据流程(结合1+2+3+。。。。+100)的程序

目前来讲,程序记录

数字记录了,没有实现的累积运

通过1-100的和特点,循环外设置变量累积和,这里在循环记录表达式结果的值

Int num1=0;

在循环里实现累加

 前面加减乘除,num2为0限制住了

最后实现+9,     

if (num2==0){
    num1+=9;
}

 这里逻辑漏洞:

2*10  20

2*10

2*1-à0  +9

2+9=11

作业:

  1. 试完成逻辑
  2. 逻辑重要部分:算法
  1. 无括号,正序算完
  2. 带一个括号,可以算完

两种情况
(1)两个括号的逻辑

(2)不带括号,有乘除

 再考虑: 1输入A

对此感兴趣的话可以去Git找具体代码文件:Lazying/Java (gitee.com)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值