就是爱消除 --简单版
最近去看了香蕉地视频,学习了一下用如何用C语言写游戏,现在按照已学知识做一个简单的小游戏–爱消除小游戏,如果刚学习完C语言的萌新或者想试试的就来看一看吧!
有兴趣同学去可以去香蕉地那里学习学习,老张讲真的不错!
实现消消乐基本功能,适当做了一些小优化。
代码抒写
工具:visual studio 2017
材料:耐心+爱学习之心+时间
首先这里要用到图形化函数,如果自己的编译器没有graphics.h头文件的话可以点击easyX进行下载.
头文件
这些头文件直接影响函数的使用
#include<Graphics.h>
#include<conio.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<WinUser.h> //::GetKeyState函数的头文件
流程内函数的声明
主要流程是初始化页面到释放资源
void init(); // 初始化界面
void gamebegin(); //游戏开始界面
void gameplay(); //玩游戏的具体过程
void close(); //释放资源
void drawXuanzhe(position, COLORREF);//定义选择边框
void drawTime(int);//时间定义
void drawScore(int);//分数定义
void getsamecolorballs(position, COLORREF); //获取同色小球
int isValid(position, COLORREF); //判断是否合法
void ballsfall();//小球下降
首先绘制边框
initgraph(1000, 700);
初始化游戏界面
void gamebegin()
{
//设置边框
setlinecolor(RGB(50, 50, 50));
setlinestyle(PS_SOLID, 10);
rectangle(255, 45, 745, 655);
//设置小球样式
setlinestyle(PS_SOLID);
srand((unsigned)time(NULL));//种子
for (int x = 280; x < 740; x += 40)
{
for (int y = 70; y < 650; y += 40)
{
COLORREF color = colorArr[rand() % 6];
setfillcolor(color);
setlinecolor(color);
fillcircle(x, y, 18);//随机绘制小球
}
}
//绘制光标
cur.x = 480;
cur.y = 390;//初始化选择边框位置
drawXuanzhe(cur, RGB(255, 255, 255));
//时间
drawTime(30);
//分数
drawScore(0);
}
显示函数
void drawTime(int sec)//显示秒钟
{
char str[30];
settextcolor(RGB(0, 0, 255));
settextstyle(25, 0, _T("黑体"));
sprintf(str, "剩余时间:%2d s", sec);
outtextxy(30, 50, str);//输出文字类型,参数,坐标,目标地址
}
void