赞
踩
视频教程在B站“蒸汽小毛”
该程序在VS2013上可完美运行。
- #include<stdio.h>
- #include<graphics.h> //图形库头文件
- #include<Windows.h>
- #define WIDTH 1615//960
- #define HEIGTH 1006//640
- #define STR_SIZE 20 //数字雨数组最大存储
- #define STR_NUM 128 //数字雨的串数
- #define STR_WIDTH 15 //字符串
- struct Rain //雨的结构
- {
- int x; //数字雨横向位置
- int y; //y坐标
- int speed; //下降速度
- char str[STR_SIZE]; //数字雨数组
- }rain[STR_NUM];
- char CreateCh()
- {
- char temp = 0;
- int flag = rand() % 3;//0 1 2
- if (flag == 0)
- {
- temp = rand() % 26 + 'a';
- }
- else if (flag == 1)
- {
- temp = rand() % 26 + 'A';
- }
- else
- {
- temp = rand() % 10 + '0';
- }
-
- return temp;
- }
- void GameInit()
- {
- //初始化基础数据
- for (int i = 0; i < STR_NUM; i++)
- {
- rain[i].x = i*STR_WIDTH;
- rain[i].y = rand() % HEIGTH;
- rain[i].speed = rand() % 5 + 5;//5 6 7 8 9 10
- }
- //初始化字符串
- for (int i = 0; i < STR_NUM; i++)
- {
- for (int j = 0; j < STR_SIZE; j++)
- {
- rain[i].str[j] = CreateCh();
- }
- }
- }
- void GameDraw()
- {
- cleardevice();
- for (int i = 0; i < STR_NUM; i++)
- {
- for (int j = 0; j < STR_SIZE; j++)
- {
- outtextxy(rain[i].x, rain[i].y-STR_WIDTH*j, rain[i].str[j]);
- settextcolor(RGB(0,255-13*j,0));
- }
- }
- }
- void GamePlay()
- {
- for (int i = 0; i < STR_NUM; i++)
- {
- rain[i].y += rain[i].speed;
- if (rain[i].y-STR_SIZE*STR_WIDTH>HEIGTH)
- {
- rain[i].y = 0;
- }
- }
- }
- void ChangeCh()
- {
- for (int i = 0; i < STR_NUM; i++)
- {
- rain[rand()%STR_NUM].str[rand()%STR_SIZE] = CreateCh();
- }
- }
- int main()
- {
- initgraph(WIDTH,HEIGTH);
- srand(GetTickCount());
- GameInit();
- DWORD t1, t2;
- t1 = t2 = GetTickCount();
- while (1)
- {
- BeginBatchDraw();
- GameDraw();
- ChangeCh();
- if (t2 - t1 > 20)//使游戏下落延时
- {
- GamePlay();
- t1 = t2;
- }
- t2 = GetTickCount();
- EndBatchDraw();
- //Sleep(20); //使整个程序延时
- }
-
- getchar();
- closegraph();
- return 0;
- }
这是简易版本的,以后大概会发复杂炫酷点的。
对于刚学完C语言的初学者,直接做这种小项目也是一件非常困难的事情,中间还有很大的鸿沟。老师上课讲授的知识非常有限,大部分知识还需要同学们自己去探索。程序的写法也有很多很多种,不必拘于一种,也期待各位写出更加简练高效的程序。个人小白,如有错误也希望各位大佬能够指出。需要源码的可以来我的学习群里领取,八零六零,四一,五久久。更多学习资料和小游戏源码都有,还有一群一起学习C语言C++的好兄弟!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。