程序员的见识不如诗人,但他们不会吟诗,不会作曲,也不会写出“明月几时来,向天要酒”的千古诗篇。
没有什么比高级官员们花费数百万美元装饰庭院、挂满灯笼和装饰品、提供丰盛的月饼和水果来享受中秋节更盛大的庆祝活动了。
但,
程序员的中秋节是有代码相伴的,一行行代码如诗,显示的效果也令人惊叹。
,让我们看看程序员如何用代码来庆祝中秋节。
我们今天要实施的月饼计划的实际效果如下。
中秋节你想念月饼吗?其中,月饼有多种口味,包括绿豆味月饼、柠檬味月饼、蛋黄味月饼、莲饼味月饼等。
这是玉兔吃月饼的游戏。里面,各种月饼会随机从上面掉下来。点击每个月饼并吃它即可为楚楚赚取积分。中秋节期间,和兄弟姐妹一起玩吃家里做的月饼的游戏是个好主意。
但在正式开始输入代码之前,您还需要做一些准备工作。
编译器:VS2023/2023【VC6.0、VScode选项(需要根据自己的环境调整)】
图形库插件:easyX图形库插件(可直接从粉丝团文件下载)
您需要准备的照片+音频材料:(文末有)
准备好后,让我们编写一些代码!
以上是您需要使用的一些头文件。确保您的程序不会由于缺少头文件而报告错误。
下面是所有源代码的视图。
#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #pragma comment(lib,\’winmm.lib\’) //加载静态库#define MAX 15IMAGE background;IMAGE Moon[2];int count[4 ]; struct Moon{int x;//字符的x坐标int y;//字符的y坐标int type;//保存当前字符int Speed;}; struct Moon MoonCake[MAX];voidloadResource() {loadimage(background, \’ img/background.jpg\’);loadimage(moon+0, \’img/mooncake_y.jpg\’, 300, 300);loadimage(moon+1, \’img/mooncake.jpg\’, 300, 300 ); } voiddrawMoonCake(struct MoonmoonCake) {int j=moonCake.type%2;inti=moonCake.type/2;intw=moon[i].getwidth()/2;inth=moon[i].getheight( )/2; int xx=j; * w;int yy=i * h;putimage(moonCake.x,moonCake.y,w,h,moon + 0,xx,yy,SRCAND);putimage(moonCake.x,moonCake.y,w , h, 月亮+ 1, xx, yy, SRCPAINT);}void initMoonCake(struct Moon MoonCake[], int Index){moonCake[index].x=rand() % 6*200 + 200;moonCake[index]. ) % 401 – 600;moonCake[index].type=rand()%4;moonCake[index].speed=rand() % 15 + 1;}void outtextxy_result(int) x, int y, int count[]) {settextstyle(25, 0, \’FZZJ-XHFTJW\’);setbkmode(TRANSPARENT);const char* p[4]={{\’水果月饼数量: 个\’}, {\’柠檬味月饼数量: 个\’},{ \’绿豆味月饼数量: 个\’},{\’豆沙味月饼数量: 个\’}};for (int i=0; i 4; i++) {char str[50]=\’\’ ;sprintf( str, \’%s%d\’, p[i], count[i]);outtextxy(x, y, str);y +=30;}}DWORD WINAPI playMusic( LPVOID lpvoid){mciSendString(\’ close img/Explosion. mp3\’, 0, 0, 0);mciSendString(\’打开img/Explosion.mp3\’, 0, 0, 0);mciSendString(\’播放img/Explosion.mp3等待)\’, 0, 0, 0);mciSendString ( \’close img/Explosion.mp3\’, 0, 0, 0);return 0;}int Timer(int period) {static int start=0;int end=Clock() ;if (end – start period) {start=end;return 1;}return 0;}void keyDown(){BeginBatchDraw();//enum MoonType {fruit,lemmon,nun,puree};while(1){putimage(0,0,background);for(int i=0; i ++){drawMoonCake(moonCake[i]);if (moonCake[i].y=background.getheight()){initMoonCake(moonCake, i );}}if (计时器(50)) {for (int i=0; i MAX; i++){moonCake[i].y +=MoonCake[i].speed;}}if (_kbhit()){int userKey=_getch();案例\’F\’:案例\’f\’:userKey=0;break;案例\’L\’:case\’l\’:userKey=1;break;案例\’N\’:case\’n\’:userKey=2;break;案例\’P\’:case\’p\’ :userKey=3;break;}//暂停if (userKey==\’ \’){//进入无限循环输入,直到下次按空格while (_getch() !=\’ \’); }//结束if (userKey==\’\\r\’){break;}//玩游戏for (int i=0; i MAX; i++){if (userKey==MoonCake[i].type) {initMoonCake(moonCake, i) ;count[userKey]++;CreateThread(NULL, NULL, playMusic, NULL, NULL, NULL);break;//一次只删除一个}}} outtextxy_result(1200, 600 ,count);FlushBatchDraw(); EndBatchDraw();}int main(){//srand(80);含义从80开始的正整数,用于确定范围srand((unsigned int)time (NULL));//随机函数绑定时间loadResource( );initgraph (background.getwidth(), background.getheight()); //创建窗口//初始化每个字符的属性(int i=0 ; i MAX) ; i++){initMoonCake(moonCake, i);} keyDown(); //需要在系统启动时保存closegraph(); //关闭窗口return 0;} 实现“月饼”,请按照源代码进行操作。如果你想好好学习C/C++,“战争”!
为了帮助您轻松高效地学习C语言/C++,我将分享我收集的资源,从基础开始。
帮助大家克服学习C语言的障碍。
分享编程学习书籍:
编程学习视频分享:
整理分享(历年学习的源码、项目实操视频、项目笔记、基础入门教程)
最重要的是,你可以在群内交流,提出有关编程的问题。
如果你对C/C++感兴趣,请关注小编并后台私信我:【编程交流】我们一起学习吧!
领取C/C++项目学习视频资料赠送!设置了关键字自动回复,自动获取即可!
本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/643347.html