C语言教程2 _蛇吃蛋游戏2.pptVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言教程2 _蛇吃蛋游戏2

C 语 言 教 程 _蛇吃蛋游戏2 中国福利会儿童计算机活动中心 例子:Box函数 例子:Box函数 四、蛇的运动 游戏程序中蛇开始有十节,用数组sx[]和sy[]表示蛇每一节在屏幕的位置,如果蛇向前进一步,采用位移法,则要移动十个位置的数据。而采用搬移法,将蛇尾那一节擦去,而在蛇头前进方向上加一节,同时将蛇头的数据搬移到擦去的那一节中,这样,只需移动一个位置的数据。 首先,为蛇每一节位置设置初始数据。若初始只有三节,那么 sx[1]=2;sy[1]=2; sx[2]=2;sy[2]=3; sx[3]=2;sy[3]=4 ; 此时蛇头位置 x=2;y=4 蛇尾 g=1记录其位置数值的下标值。 上述准备工作做好,按以下的程序步骤可以使蛇运动起来: (1) 如果不出界,向下进一步,位移计算得到蛇头新位置为: x=x+mx[4]=2+0=2 y=y+my[4]= 4+1=5 (2) 新的位置上画蛇头: gotoxy(x,y) ; putch(178); (3) 将蛇尾那一节擦去: gotoxy(sx[g],sy[g]) ; putch(32); (4) 新蛇头数据复制 : sx[g] = x ; sy[g] = y ; (5) 搬移下一节: g=g+1 ; 蛇 的 运 动 图示搬移法执行步骤: (1) (2) (3) (4) 初始状态 蛇头新位置 画新蛇头 新蛇头数据复制 擦去蛇尾 搬移下一节 蛇 的 运 动 [探索1]: (1) main函数中增加以下变量的说明,显示一条静卧的蛇: int sx[70],sy[70],g,u=10; for(g=1;g=10;g++) { gotoxy(2,g+2) ; putch(178) ; sx[g]=2 ; sy[g]=g+2 ; } x=2; y=12; g =1; r =1; (2) 依照上述搬移的步骤,请你自行填写好程序让蛇运动起来。 while(1) { r = inkey( r ) ; /* 获取方向数*/ ___________ ; __________ ; /* 计算得到蛇头新位置x与 y值*/ ___________ ; __________ ; getch(); /* 新的位置上画蛇头 */ ___________ ; __________ ; getch(); /* 将蛇尾那一节擦去 */ _________ ; ________ ; /* 新蛇头数据复制 */ __________ ; /* 搬移下一节 */ } 注意,这儿特意增加了两条getch()语句,是供调试程序时用来发现问题的(试用后应删去),试一下发现了什么问题没有? 蛇 的 运 动 [探索2]: 发现问题了没有?与同组的伙伴们一起探讨一下。运动到第几步出现了问题?是什么原因使蛇运动了几步后出现了问题 ? 原来,蛇身的长度是有限的,不能无限止的增加g的值。当g增加到蛇身长时,应返回到初始的第一节。这样,才能周而复始地搬移数据,使蛇不停地运动起来。 if (gu) g=1 这条语句应放置在何处? 这里比较长度时使用了变量u,变量u表示蛇当前有多少节长,开始设置了u=10,但以后蛇吃着蛋后还要长三节,因而采用变量u,可以适用以后蛇身增长时的情况。 蛇 的 运 动 五、蛇吃到蛋的判别 依据蛋的位置与蛇头运动位置是否相同,可判别蛇吃到蛋了没有。 上一次活动中大家完成了随机布置20只蛋在围墙范围内的练习,下面示例两种不同的方法: 方法1: m

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档