C语言快快吃豆游戏
C语言——快快吃豆游戏
使用说明
运行程序时,首先进入到是游戏开始界面,根据提示,按键,决定是否进入游戏。运行效果如图7.1所示。
图7.1 进入游戏界面
按两下任意键,进入到快快吃豆游戏,游戏的初始界面如图7.2所示。
图7.2 游戏初始界面
在吃豆过程中,游戏的界面如图7.3所示,大部分的黄豆已被成功吃掉。
图7.3 弹力球游戏第二关界面
当黄豆全部被吃光,则进入赢的画面,效果如图7.4所示。
图7.4 快快吃豆赢的界面
当遇到敌人时,则游戏结束,显示游戏结束界面。运行效果如图7.5所示。
图7.5 游戏结束界面
代码部分
#include
#include
#include
#include
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define UP 0x4800
#define DOWN 0x5000
#define ESC 0x011b
#define ENTER 0x1c0b
/*2墙壁,1可以移动地方,3自己,4敌人*/
int a[15][20]={2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,2,
2,1,2,2,2,1,1,2,1,1,0,0,0,1,1,4,1,1,0,2,
2,1,1,0,2,1,1,2,0,1,1,2,2,2,2,2,0,0,0,2,
2,4,1,0,2,1,1,2,1,1,1,0,1,1,1,1,0,1,1,2,
2,1,2,1,2,1,1,2,1,3,2,2,1,1,1,1,2,2,1,2,
2,1,2,1,2,1,1,1,1,1,1,1,1,0,0,0,1,1,1,2,
2,1,2,1,0,1,1,1,1,2,1,0,1,2,2,2,1,1,1,2,
2,1,0,1,0,1,2,1,1,2,1,0,1,2,1,1,4,1,1,2,
2,1,0,2,0,1,2,1,1,2,1,0,1,2,1,1,1,1,1,2,
2,1,0,2,1,1,2,1,1,2,1,0,2,2,1,0,0,0,1,2,
2,1,1,2,1,1,2,1,1,2,1,0,2,1,1,2,2,1,1,2,
2,1,2,2,1,2,2,1,1,1,1,0,1,4,1,2,0,0,1,2,
2,1,0,0,0,0,0,4,0,1,1,0,1,1,1,1,0,0,1,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2};/*数组就是地图*/
struct play /*游戏中人物的结构体*/
{
int x;
int y;
};
struct play you,them[5];
int sum=0;/*统计吃的豆子个数,吃满50颗就算胜利*/
int xx[5][2];/*判定敌人方向用的结构体*/
int false=0;
void init();
void begin();
void play();
void win();
void fun(struct play *them);
void movethem(struct play *them);
void loseyes();
void drawblackdou(int x,int y);
void lose();
/*游戏玩法:当任意按下键时,游戏启动,敌人随机移动,自己开始躲避敌人和墙壁,尽可能多的吃豆豆*/
void play()
{
int key,i;
while(1)
{ key=bioskey(2);
while(!kbhit())/*当无按键时敌人自己移动 */
{
setcolor(GREEN);/*重画敌人*/
for(i=0;i<5;i++)
circle(them[i].y*20+100,them[i].x*20+100,9);
sleep(1);
fun(them);/*处理敌人*/
for(i=0;i<5;i++)
if(them[i].