基于AndroidStudio开发的扑克牌计算24点APP

功能实现

已知一副扑克牌有54张,去除大王和小王,剩余52张。在其中抽取4张牌,利用加减乘除进行计算得到24,除法必须能够除尽。编写程序从一副扑克牌,选择4张,进行计算是否能得到24。如果可以,排序列出可能的计算表达式,可能有多种计算形式。

设计思想

为每张扑克牌的视图都设置点击事件的函数chooseCard(),通过view.getId()可以知道对应的视图id,用switch和case来判断选择的扑克牌,并添加上扑克牌的取值信息。将已选区域的四个位置设成栈,遍历栈,如果当前位置是空的话,就将选择的牌进栈,同时通过view.setVisibility(View.INVISIBLE);语句,将扑克牌队列中相应的牌设置为不可见,用:

chooseCards.get(i).setBackground(getResources().getDrawable(curCardImage));语句在当前空位置上获得选中牌的ImageView,从而在已选区显示。

创建清空函数,将四个位置的背景信息重设成初始状态,并将他们获得的扑克牌值置为零,同时用栈弹出里面已选扑克牌的ImageView,来将这些ImageView设置成可见状态:

为Button “Calculate”设置点击事件弹窗函数,若为选满四张就点击,则提示"Please choose four cards!"。若有符合条件的24点表达式则遍历并显示出所有结果,并说明共有多少种结果。若不能产生24点则提示"Sorry! Your choice cannot make up to 24 points"。

关于24点的计算,先从四个数字中有序选择两个数进行加、减、乘、除,其中一种运算,得到的结果与剩下的两个数一起,再从这三个数中有序选择,得到的结果与剩下的数再运算,然后回溯所有情况,获得结果为24的情况。

程序结构

Java类


布局文件

程序流程图

运行结果展示

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值