打字母游戏+贴图技术

来源:互联网 发布:服务网络占用硬盘 编辑:程序博客网 时间:2024/06/10 17:47

前面写了一篇C语言的打字母游戏的博客,但是未用上贴图,今天升级一下,加上贴图。即使是刚学完C语言也可以这种简单的方法做出高逼格的小游戏!

下面是源代码,关于其中一些从图形库中调用的函数,在前面讲“坦克大战地图”一篇博客中有讲解。

#include<stdio.h>#include<conio.h>//_kbhit()#include<graphics.h>#include<time.h>//srand()//播放音乐#include<mmsystem.h>#pragma comment(lib,"winmm.lib")//加载静态包,lib库IMAGE background;//背景IMAGE LB1, LB2;//LB1背景图,LB2屏蔽图int main(){initgraph(1000,600);//初始画布//加载图片loadimage(&background,"background.jpg",1000,600);loadimage(&LB1,"LB1.jpg",90,90);loadimage(&LB2, "LB2.jpg", 90, 90);//播放音乐mciSendString("open 1.mp3 alias music",0,0,0);//打开音乐mciSendString("play music repeat",0,0,0);//repeat循环播放音乐int x, y;//字母坐标char target;//字母int key;//获取用户按键值//char s[10] = { 0 };//输出分数//char f[10] = { 0 };//int score = 0;//int wrong = 0;srand((unsigned int)time(NULL));//生成随机种子//循环输出字母while (1){target = 65 + rand()%26;//随机生成字母x = rand() % 910;//字母随机在x轴出现的位置for (y = 0; y < 600; y++){BeginBatchDraw();//双缓冲,开始putimage(0, 0, &background);//贴背景图putimage(x,y,&LB2,SRCAND);//屏蔽图and运算putimage(x, y, &LB1, SRCPAINT);//背景图or运算setbkmode(TRANSPARENT);//设置背景混合模式,文字输出没有背景settextstyle(35,0,"黑体");//设置文字大小和字体outtextxy(x+38,y+48,target);//字母输出在萝卜上//判断用户是否按键if (_kbhit()){key = _getch();//获取用户按键值//判断用户按键值是否正确if (key == target || key == target + 32){break;//正确退出for循环}}EndBatchDraw();//双缓冲结束Sleep(15);//休眠15毫秒}}getchar();//防止闪屏closegraph();//关闭画布return 0;}

图片资源:




其中音乐可以自行选择

原创粉丝点击