图形库项目之打字游戏"/>
easyx图形库项目之打字游戏
easyx图形库项目之打字游戏
以下为游戏界面:
游戏资源
链接:
提取码:ab12
源代码
#include<easyx.h>//图形库
#include<stdbool.h>
#include<stdio.h>
#include<stdlib.h>
#include<mmsystem.h>//加载音乐库
#pragma comment(lib,"winmm.lib")
#pragma comment(linker,"/subsystem:console /entry:mainCRTStartup")//定义图片
IMAGE apple1, apple2;
IMAGE bkPictrue;
//定义消息
ExMessage m; //加载资源
void loadResource(void);//单词数据结构体
typedef struct MYWORD
{char ch;//单词int x;//x轴位置int y;//y轴位置int speed;//下落速度int isSurvival;//为1存活,为0死亡
} MYWORD;int main(int argc, char* argv[])
{//加载资源loadResource();//初始化图形界面窗口initgraph(800, 500, EX_SHOWCONSOLE);// initgraph(800, 500);//开启批量绘图BeginBatchDraw();//设置背景模式 去除字体背景setbkmode(0); //定义单词对象MYWORD words;//初始化单词下落速度words.speed = 1;while (true){//放音乐mciSendString("play 告白气球.mp3", 0, 0, 0);//随机生成字母words.ch = rand() % 26 + 'A';//x位置随机words.x = rand() % 770;//初始化单词数据words.y = 0;words.isSurvival = 1;while (words.isSurvival){//贴背景图putimage(0, 0, &bkPictrue);//贴单词putimage(words.x, words.y, &apple1,SRCPAINT);putimage(words.x, words.y, &apple2,SRCAND);//输出字母outtextxy(words.x+20, words.y+20, words.ch);//刷新FlushBatchDraw();//接收键盘消息if(peekmessage(&m, EX_KEY)){//处理用户输入if (m.message == WM_KEYDOWN){if (m.vkcode == words.ch){//单词被杀死words.isSurvival = 0;}//如果输入1,加快下落速度else if (m.vkcode == '1') {words.speed += 1;printf("%d\n", words.speed);}//如果输入2,减小下落速度else if (m.vkcode == '2') {if (words.speed >= 2)words.speed -= 1;printf("%d\n", words.speed);}//如果输入0,则退出else if (m.vkcode == '0')goto END;}}//如果字母越界,就杀死它if (words.y > 800)words.isSurvival = 0;//更新单词位置words.y += words.speed;//休眠Sleep(10);}}END://关闭批量绘图EndBatchDraw();//关闭图形界面窗口closegraph();return 0;
}//加载资源
void loadResource(void)
{//加载背景图片loadimage(&bkPictrue, "bk.jpg",800,500,true);//加载苹果loadimage(&apple1, "apple0.jpg");loadimage(&apple2, "apple1.jpg");//加载音乐mciSendString("open 告白气球.mp3", 0, 0, 0);
}
更多推荐
easyx图形库项目之打字游戏
发布评论