C语言游戏程序及综合实例课件.doc

  1. 1、本文档共136页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言游戏程序及综合实例课件

C语言游戏程序及综合实例 1 贪吃蛇游戏 【游戏规则】 游戏开始时弹出初始菜单,游戏者按任意键进入游戏。游戏者用←↓→↑键来控制蛇在游戏场景内运动,每吃到一个食物,游戏者得10分,分数累加结果会在计分板上显示;与此同时蛇身长出一节。当贪吃蛇的头部撞击到游戏场景边框或者蛇的身体时游戏结束,并显示游戏者最后得分。 2 蓝黄棋游戏 【游戏规则】 游戏双方相互翻转对方棋子,以最后棋盘上棋子多者为胜。游戏使用一个8×8的方格棋盘,棋子下在空格中间,而不是像围棋一样下在交叉点上。开始时棋盘正中有两蓝、两黄四个棋子交叉放置,总是蓝方先下子。以所落棋子为中心,若横、竖、斜等八个方向内有一个自己的棋子时,则被夹在中间的对方棋子会全部被翻转成为己方棋子;而且只有在可以翻转对方棋子的地方才可以落子。当棋盘格子落满棋子时,游戏结束,或者游戏双方都无法继续落子翻转对方棋子时,游戏者可按Esc键来终止游戏,并输出当前的胜负信息。 3 五子棋游戏 【游戏规则】 五子棋是深受大家喜爱的游戏之一,游戏采用俗称的“黑先白后”规则,即总是黑方先走对局的第一步。黑白双方依次落子,在棋盘上横向、竖向,以及斜向等八个方向形成相同颜色的连续五个棋子称为“五连”。对局双方首先形成五连者为胜,在双方均认为不能形成五连时为和棋。 4 推箱子游戏 【游戏规则】 这是个模拟推箱子拾金币的游戏,进入每一个关卡后,你会发现有一些金币摆放在不同的位置,还有一些相同数量的箱子摆放在不同的位置,你可以通过键盘上的方向键,控制关卡中的搬运工人移动到不同位置上,并推动其前方的箱子移动,只要将箱子推倒金币所在位置上,就相当于将箱子前方金币装入了箱子内,将关卡内的全部金币都装入箱子内,就算是过了一关,可以进入下一关。注意,搬运工人推箱子只能在位于移动方向上箱子的后面才能推动箱子,而且关卡中的墙体可能会对你顺利地推动箱子造成障碍,如果你将箱子推倒了一个墙角,那么你可能就再也无法移动箱子了,所以你要像下棋一样全盘考虑,才能赢。 每个关卡都是由15行15列的数据组成,如图3-12所示,对应的关卡图形如图3-13所示。 图3-12 第10关的关卡数据 图3-13 图3-12中关卡数据对应的关卡图形 5 骑士游历问题 【问题描述】 给出一块具有n2个格子的n×n棋盘(如图3-14所示),一位骑士从初始位置(x0, y0)开始,按照“马跳日”规则在棋盘上移动。问:能否在n2(1步内遍历棋盘上的所有位置,即每个格子刚好游历一次,如果能,请找出这样的游历方案来。 6 八皇后问题 【问题描述】 在一个8×8的国际象棋棋盘上放置8个皇后,要求每个皇后两两之间不“冲突”,即没有一个皇后能“吃掉”任何其他一个皇后,简单的说就是没有任何两个皇后占据棋盘上的同一行或同一列或同一对角线,即在每一横列、竖列、斜列都只有一个皇后。 7 学生成绩管理 编写一个菜单驱动的学生成绩管理程序。要求如下: 能输入并显示n个学生的m门考试科目的成绩、总分和平均分。 按总分由高到低进行排序。 任意输入一个学号,能显示该学生的姓名、各门功课的成绩。 答案 1 贪吃蛇游戏 #include graphics.h #include stdlib.h #include time.h #include dos.h #define MAX_JOINTS 200 #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b #define MV_RIGHT 1 #define MV_LEFT 2 #define MV_UP 3 #define MV_DOWN 4 void InitGraph(void); /*图形驱动初始化函数*/ void DrawFence(void); /*绘制游戏场景*/ void GameOver(int score); /*结束游戏*/ void GamePlay(void); /*玩游戏具体过程*/ void PrScore(int score); /*输出成绩*/ struct Food /*食物的结构体定义*/ { int x; /*食物的横坐标*/ int y; /*食物的纵坐标*/ int addFood; /*判断是否要出现食物的变量*/ }; struct Snake /*蛇的结构体定义*/ { int x[MAX_JOINTS]; /*保存蛇身每一节位于屏幕上的列坐标*/ int y[MAX_JO

文档评论(0)

aena45 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档