斗地主系列之扑克描述
1.斗地主的一个界面:
2.一张Card的重要属性
坐标位置相关:
int x;-------------------x坐标
int y;-------------------y坐标
int width;-------------------宽
int height;-------------------高
boolean clicked;-------------------是否选中
界面图案相关:
Bitmap bitmap;-------------------图片
boolean rear;-------------------是否是背面
牌的名字:
String name; -------------------Card的名称,这其中包含了牌的花色和牌值
牌的花色和牌值这个一个值的探讨的问题:
牌的花色:
diamond-------方块=1
club-------------梅花=2
heart------------红色=3
spade----------黑色=4
jester------------大小王=5
牌值:
牌值
牌 3 4 5 6 7 8 9 1 0 J Q K A 2 小 王 大 王 牌 值 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7
表示牌有二种方式:
(1)一般表示
a1_3 a1_4 -------------------- a1_12 a1_13 a1_14 a1_15 (梅花3 梅花4 -------------------- 梅花Q 梅花K 梅花A 梅花2 )
a2_3 a2_4 -------------------- a2_12 a2_13 a2_14 a2_15 (方块3 方块4 -------------------- 方块Q 方块K 方块A 方块2 )
a3_3 a3_4 -------------------- a3_12 a3_13 a3_14 a3_15 (红色3 红色4 -------------------- 红色Q 红色K 红色A 红色2 )
a4_3 a4_4 -------------------- a4_12 a4_13 a4_14 a4_15 (黑色3 黑色4 -------------------- 黑色Q 黑色K 黑色A 黑色2 )
a5_16 a5_17--------------------(小王,大王)
(2)第二种表示:
牌的花色为:value/16,牌的大小值:value%16
17,18,19,----------------,26,27,28,29 (梅花3 梅花4 -------------------- 梅花Q 梅花K 梅花A 梅花2 )
33,34,35,---------------,42,43,44,45 (方块3 方块4 -------------------- 方块Q 方块K 方块A 方块2 )
49,50,51,---------------,58,59,60,61 (红色3 红色4 -------------------- 红色Q 红色K 红色A 红色2 )
65,66,67,---------------,74,75,76,77 (黑色3 黑色4 -------------------- 黑色Q 黑色K 黑色A 黑色2 )
81,82-------------------------(小王,大王)
3.这是一个参考的Card类:
public class Card {int x; //横坐标int y; //纵坐标 int width; //宽度int height; //高度 Bitmap bitmap;//图片 String name; //Card的名称boolean rear;//是否是背面boolean clicked;//是否被点击public Card(int width,int height,Bitmap bitmap){this.x = 0;this.y = 0;this.width=width;this.height=height;this.bitmap=bitmap;this.rear = true;this.clicked = false;}public void setLocation(int x,int y){this.x=x;this.y=y;}public void setName(String name){this.name=name;}public Rect getSRC(){return new Rect(0,0,width,height);}public Rect getDST(){return new Rect(x, y,x+width, y+height);}
}
4.参考资料:
1.斗地主算法的设计与实现(一)--项目介绍&如何定义和构造一张牌
http://blog.csdn.net/fansunion/article/details/12516411
斗地主系列之扑克描述相关推荐
- 小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
题目描述: 小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌.打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略.但是小明暂时不 ...
- UFS系列7:描述符、标识和属性
UFS中也有吉祥三宝,那就是描述符(Descriptors).标识(Flags)和属性(Attributes),主机通过这三宝,来控制与管理UFS设备. 描述符 描述符是一块或者一页参数用以描述一个U ...
- 斗地主系列之洗牌和发牌
1.一些说明: 大家都知道,斗地主的一副牌有54张,三位玩家,每位17张牌,3张底牌(17*3+3 = 54). 所以,我们定义一个List: List cards = new ArrayList&l ...
- 软件测试面试题_每天一道软件测试面试题系列 (八)_描述一次测试用例设计的完整的过程 怎样估计测试工作量?进行测试时产生了哪些文档或记录?
1.描述一次测试用例设计的完整的过程 回答技巧: 这个问题是考验你在工作前半段是否真的针对你业务进行过测试用例设计,所以回答的时候一定要仔细,并且要从开头讲,也就是从立项会开始讲 答案: ...
- leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
- Leecode31. 下一个排列——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode22. 括号生成——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode20. 有效的括号——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode 21. 合并两个有序链表——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...
最新文章
- 什么?我要对AI礼貌?人机交互面临的道德漏洞
- Linux网络监控工具--netstat及网络连接分析
- linux 发送邮件
- 程序员面试题精选100题(34)-数组中只出现一次的数字[算法]
- 怎么解决python Non-ASCII character错误
- php后门 佛像,35张活的再久,也未必见过的照片,图2是佛像通过CT扫描后内部照...
- 怎样把输入的文本转换成html代码存入数据库啊
- leetcode —— 面试题 04.03. 特定深度节点链表
- postgresql 使用pg_restore时显示role root does not exist的解决办法
- Kafka性能测试实例
- 分治法解决组合总和问题(leetcode216)
- [转载] python int 幂函数_Python中对数和幂函数的不精确结果
- 算法习题---4-5IP网络(Uva1590)
- html之页面元素印射
- 全国重点城市建筑物矢量数据合集一(Shp格式+带高度)
- 操作系统--虚拟内存
- 苹果电脑安装双系统教程(使用bootcamp手动完成/MacOS X+Windows10双系统)
- 如何使用PPT制作风靡朋友圈的九宫格照片,两种方法供你选择
- 高德地图自定义点标记大小_高德地图 自定义点标记 图标大小
- Css margin和pandding的上下左右
热门文章
- Linux通过curl下载jdk
- 基于全过程通道相关像素值顺序的彩色图像可逆数据隐藏
- python求10000以内的质数_python找出10000以内的质数_【Python学习】打印10000以内的所有素数...
- VMware P2V---从物理机到虚拟机(二)
- 回到1989年,用java成为网络皇帝
- 前端一键安装脚本工具
- 视频打卡机是否可以应用了?
- 云里黑白第十回——win11、重装或者迁移系统到11代CPU你需要关注RAID IRST驱动
- 任意人数的循环赛日程表 分治 非分治 c++
- 计算机时间戳转换时间在线,时间戳,Unix时间戳,时间戳转换