网站大量收购独家精品文档,联系QQ:2885784924

新Java游戏编程原理与实践教程 教学课件 陈锐 夏敏捷 葛丽萍 Java游戏编程原理与实践教程课件 第7章 陈锐 夏敏捷主编.ppt

新Java游戏编程原理与实践教程 教学课件 陈锐 夏敏捷 葛丽萍 Java游戏编程原理与实践教程课件 第7章 陈锐 夏敏捷主编.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游戏界面和相关图片素材 游戏界面和相关图片素材 7.2.2 识别牌的点数 如何识别牌的点数,这里采用count表示。游戏中采用以下代码计算点数: if(value==J||value==Q||value== K) this.count=10; else if(value==A) this.count=1; else this.count=Integer.parseInt(value); 7.2.3 Dealer(庄家)要牌智能实现 Dealer(庄家)要牌过程是电脑自动实现的,这里设计比较简单,仅仅判断点数和是否已超过17,如果超过则不要牌了。当然读者可以设计更复杂的游戏逻辑。 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: Java游戏编程原理与实践教程 主编 陈锐 夏敏捷 人民邮电出版社 二十一点游戏是玩家要取得比庄家更大的点数总和,但点数超过二十一点即为输牌。J、Q、K算10点,A可算1点,其余按牌面值计点数。开始时每人发两张牌,一张明,一张暗,凡点数不足二十一点,可选择继续要牌。 本章开发21点扑克牌游戏。游戏运行结果如图7-1所示。为简化起见,游戏有两方,一方为Dealer(庄家)和一个方Player(玩家),都发明牌。Dealer(庄家)要牌过程由程序自动实现。能够判断玩家输赢。 第7章 21点扑克牌游戏 7.2.1 扑克牌面绘制 g.drawImage方法绘制扑克牌面。 private Image cardImage; //图片 //画牌面 protected void paint(Graphics g) { g.drawImage(cardImage,x,y,null); } //画牌面 protected void paint(Graphics g,JPanel i) { g.drawImage(cardImage,x,y, (ImageObserver)i); } 7.2.4 游戏规则的算法实现 游戏开始时,我们首先要取一副牌(Poker类实现),然后将牌洗好,xipai()洗牌时取得2个54以内随机数,将对应Card顺序对调,重复500次可以达到洗牌效果。 发牌时从第1张牌开始发起。两家的牌就保存在ArrayList列表中,所以“开始”时首先清空ArrayList列表,同时清空积分(点数和)和输赢标志。得分(点数和)及输赢判断如下: calcComputerScore()计算电脑得分(点数和)。通过遍历存储电脑手中牌的ArrayList列表Computercards,获取每张牌的点数c.count从而得到电脑得分(点数和)。 public void calcComputerScore() public void calcComputerScore() { Computerscore = 0; for (int i = 0; i Computercards.size(); i++) { Card c = (Card) Computercards.get(i); Computerscore += c.count; } } 7.2.4 游戏规则的算法实现 calcComputerScore()计算玩家得分(点数和)。通过遍历存储玩家手中牌的ArrayList列表Mycards,获取每张牌的点数c.count从而得到玩家得分(点数和)。 public void calcMyScore() { Myscore = 0; for (int i = 0; i Mycards.size(); i++) { Card c = (Card) Mycards.get(i); Myscore += c.count; } } 7.2.4 游戏规则的算法实现 shuying()计算两家的得分,不超过21点情况下比较点数判断输赢。 public void shuying() { calcComputerScore(); calcMyScore(); if (Computerlose == false) //超过21点情况下 JOptionPane.showMessageDialog(null, 电脑输了, 提示, JOptionPane.ERROR_MESSAGE); if (Mylose == false) //超过21点情况下 JOptionPane.showMessageDialog(null, 玩家输了, 提示, JOptionPa

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档