手机游戏编程基础—手机棋牌类游戏
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
扑克游戏,玩法简单,文娱性强,老少皆宜。该 游戏由三个人玩,用一副牌,共54张,每局牌有 一个玩家是“地主”,地主为一方,其他两家农 民为一方,双方对战,先出完牌的人所代表的一 方获胜。由于每一局“地主”、“农民”都会有 变化,所以对立性和配合性都很强。斗地主,包 括普通斗地主、特征CT斗地主和超级斗地主,在 游戏里参加了特征任务,玩家在游戏中完成规则 的任务,还有额外的奖励奉送,任务有运气,有 技术,其乐无量。
人类玩家Q BasePlayer
游戏视图 GameView
人类玩家B 玩家A BasePlayer 电脑玩家C
ComputerPlayer
注意事项 屏幕的问题,3格,4格,5格,6格,7格 状态量的问题,多了容易乱
牌类游戏——斗地主 敬请期待……
handroid@yeah.net @博主韩磊
没有规矩不成方圆——规则类
游戏规则ChessRule
游戏规则的类,主要约束棋的走法
ChessRule
private int[][] map;//棋盘的布局 private int fromX; private int fromY; private int toX; private int toY; private int moveChessID;//起始位置是什么棋子 private int targetID;//目的地是什么棋子或空地
经典游戏——麻将 麻将来源于中国,属皇家和王公贵族的游 戏,其历史可追溯到三四千年前。麻将的 游戏人数为4人,分别为东、南、西、北, 其中一家为庄家,其他为旁家。每人手里 抓13张牌,经过吃牌、碰牌、杠牌等方式, 使手牌依照相关规则的牌型条件和牌,先 和牌者胜出。CT麻将,添加了麻将的文娱 性和兴趣性,更有哈尔滨麻将和上海麻将 等中央特征麻将。
Int playerID 玩家的角色 boolean isEnable是否有控制权
Void selectPoint()选择棋子 Void runPoint() 走棋 Void regretPoint() 悔棋
Void selectPoint()选择棋子 Void runPoint() 走棋 Void regretPoint() 悔棋
游戏视图GameView
游戏规则
棋走法的规则ChessRule
人工智能
人工智能AIPlayer
以人为本——游戏玩家需要什么 玩家类BasePlayer、ComputerPlayer
玩家的类,拥有一个玩家所具有的一系列属性和动作
BasePlayer Int playerID 玩家的角色 boolean isEnable是否有控制权 ComputerPlayer
Void win() 赢棋
Void win() 赢棋
后备充足——游戏场景提供各种杂货
游戏视图GameView
游戏视图的类,主要提供画图方法和处理点击事件
GameView Int[ ][ ] map 棋盘的布局
void drawChessBoard(Canvas canvas) 画棋盘 void drawQiZi(Canvas canvas) 画棋子 int[] getPos(MotionEvent e) 根据点击屏幕获得棋子
有个棋盘(场景,舞台) 黑白棋子(玩家,演员) 一套规则(算法,剧情)
牌类游戏什么样子? 桌子,展示扑克 地主和农民以及手中的牌 地主农民的身份区别以及大小牌规则
棋类游戏学习案例——兵将棋
游戏简介 “兵将棋”源于山东民间棋 牌游戏,是乡村闲暇之时最 受欢迎的棋牌游戏之一。农 闲之时,众人齐聚大街之上, 以石为凳以地为盘,其乐无 穷。现对其进行整理,重新 命名为“兵将棋”。兵者, 难敌将,只能采用人海战术, 把将包围住即可胜利。将者, 武艺高强,手持利刃远可斩 兵,歼灭兵为赢,然近却施 展不开,有被兵包围的危险。 虽然简单几个棋子,但是其 中可有千万种变化,可施展 无数战术,内涵绝不逊于围 棋象棋之属。
棋牌类游戏的分类 棋盘游戏:
中国象棋、四国军旗、飞行棋、跳子棋、五子 棋、围棋、国际象棋。
其中牌类游戏中又分扑克和麻将:
扑克游戏:斗地主、跑的快、晋级、拱猪、锄 大地、跑胡子、三打一、桥牌、打滚子、干瞪 眼、双扣。 麻将游戏:四川麻将、国际麻将、台湾麻将、 欢乐麻将、二八杠。
经典游戏——斗地主
经典游戏——扑克 扑克的来源众口一词,但它却是盛行于全 世界的一种文娱游戏。玩法多种多样,休 闲文娱,精彩刺激。 至尊五张不只需求技 巧更靠运气,可谓是理想人生的缩影。 德 州扑克,易学难精,被称为是“学一时, 精一世”的经典扑克游戏。 十三支,在理 牌的过程中不但充溢乐趣,也是对玩家理 牌技术和实力的考验。 更有智勇三张、角 斗士、晋级和锄大地,缤纷游戏,不容错 过。
ChessMove searchAGoodMove(int[][] qizi, int chessRole) 选择一个最优的走法
游戏构架分析
棋走法规则 ChessRule
人工智能 AIPlayer 不是人为选择,而是电脑选择
人类玩家A 玩家A BasePlayer
可以走 改变视图 判断输赢 停止玩家A 解锁玩家B
经典游戏——象棋 “运筹帷幄之中,决胜千里之外”的中国 象棋,是棋艺的比拼,更是一种把握棋局 的才能。中国象棋,给玩家一个愈加公平 的对弈空间。四国军旗,由于不能看棋子, 使其更具有应战性。军旗游戏支持四国大 战,相对的两家协作与左右方玩家对立, 配合战役的乐趣更是其他游戏不能领会的。
棋类游戏什么样子?
Boolean canMove() 能不能走
与电脑对战——人工智能类
人工智能类AIPlayer
人工智能的类,主要用于人机对战时电脑的思考走棋
AIPlayer int[][] qizi 当前棋局的信息
List<ChessMove> allPossibleMoves(int[][] map, int chessRole) 获得所有走法
http://www.mumayi.com/android-292001.html
先分析兵将棋的游戏规则
一、将(白棋)正常每次可走一格,不 可跳跃任一方棋子,如果与兵(黑棋) 隔一空格即可吃掉兵(黑棋),吃光为 赢。被兵(黑棋)困住无路可走为输。 二、兵(黑棋)每次可走一格,不可跳 跃任一方棋子,以围堵将(白棋)为目 的,把将(白棋)团团堵住为赢,被吃 光为输。
三、游戏分为单人游戏(人机对战)和 多人游戏(人人对战),角色可选。游 戏没有时间限制,游戏进行中,任意时 刻可以开始新局,悔棋。一旦游戏结束, 悔棋会失效,重新开始游戏方可使用。
确定游戏编程模块 游戏玩家
玩家基础类BasePlayer 电脑玩家的类ComputerPlayer
游戏场景
手机游戏编程基础(一)
第一讲:棋牌类游戏基础原Hale Waihona Puke Baidu 主讲人:韩磊
主要内容 棋牌游戏的简介 棋类游戏的运行原理 棋类游戏的代码构架,兵将棋示例
什么是棋牌游戏? 棋盘游戏和牌类统称棋牌游戏。棋牌类从 明清开端一度昌盛,触及赌博等。现代棋 牌游戏以休闲为主,在华语区影响较深的 主要有扑克、斗地主、麻将、中国象棋、 中国跳棋、军棋、黑白棋、五子棋等。