c++ 贪吃蛇 求求

huangxiaobo1991 2011-12-13 05:37:13
贪吃蛇是一款经典的小游戏,其规则无须多加介绍,请你用C++语言编制这样一个小游戏。使用字符模式实现(注: 请务必不要使用图形模式),效果见演示程序(这个演示程序中,使用W,A,S,D表示上下左右)。
以下是评分细则:
要求内容 分值
基本要求 实现基本功能*,没有明显的Bug 25
程序能做到模块化,使用多文件程序,代码风格好 15
文档格式规范,描述详细 10
进阶要求 使用链表存储程序中的动态数据 15
使用面向对象的设计方法 15
用户界面和显示方面的优化(如菜单选项,界面美化等) 10
游戏性的提升(如难度调节,增加障碍物等) 10

基本功能包括:
1. 蛇的移动,豆子的随机生成,吃豆后蛇身增长等基本功能。
2. 实现计分功能,并能将分数显示在屏幕上。
3. 实现失败条件判断,如撞墙,撞到自身等,并给出失败提示。


可能用到的几个函数如下:
int kbhit(); 返回1,表示有键盘按下,返回0,表示无键盘按下,与getch不同,它是非阻塞的,即这个函数不会使程序的执行中断。
int getch(void); getch有一个int型的返回值.当程序调用getch时.程序就等着用户按键.一旦用户按键,getch就读入一个字符.getch函数的返回值是用户输入的第一个字 符的ASCII码,如出错返回-1, 输入的字符不会回显在屏幕上, 需要#include <conio.h>。
void system(char* command); 调用系统命令,用system("cls")即可清除屏幕上的所有字符,需要#include <stdlib.h>。
void Sleep(unsigned milliseconds); 让程序暂停milliseconds 毫秒,需要#include <windows.h>。
另外,需要自行实现一个函数:void gotoxy(int x, int y); 用途为把光标移动到屏幕的制定位置,需要#include < windows.h>。实现代码如下:
void gotoxy(int x,int y)
{
COORD pos;
pos.X=x;
pos.Y=y;
::SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
具体原理不介绍,复制粘贴直接使用即可。

如果想进一步了解以上几个函数的具体使用,请使用搜索引擎。


此题和打字练习一题偏重工程实现,如果选择该题的同学用心,实际上有许多文章可作。这两题涉及到动画的实现,链表的实现,一些基本的算法以及大程序的规划和设计,有一定工作量,因此满分都是100分。特别注意,这两题的基本要求不高,但所占比重也不高,如果要得到高分,需要多用心改进程序。
...全文
501 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbzjzsb123 2011-12-13
  • 打赏
  • 举报
回复
你这样贴,谁给你做啊,你自己先做好了,有什么问题,再上来问啊
aszhinian 2011-12-13
  • 打赏
  • 举报
回复
应该不简单
bobye1230 2011-12-13
  • 打赏
  • 举报
回复
作业贴。。。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧