【C语言】简单小游戏项目:《别踩白块儿》

article/2025/9/23 2:31:17

突然喜欢惊鸿一瞥这个词,一见钟情太肤浅日久生情太苍白,别人眉来眼去,我只偷偷看你一眼。

嗨!这里是狐狸~

新的一周又开始了,时间过得还真快,不知道给大家分享点啥了,想发偏算法之类怕大家都听不懂,想发知识类的又怕大家感觉没意思,想来想去还是给大家分享些项目吧,但分享些什么项目自己又很纠结,这里就需要大家的智慧了,大家想看什么都可以评论来告诉我,每条评论我都会去看,我会用心去肝你们想看的项目的!!!

好了,进入正题,今天呢给大家分享一个简单的小游戏——《别踩白块儿》,不知道大家有没有玩过,曾经也是风靡一时,其实这个游戏制作起来非常的简单,接下来就让我来告诉大家怎么去简单的实现这个游戏项目。(当然啦,我做的仍是最low版本,大家可以进行再创造,相信你们比我强)。

                                                          

 

项目源码

头文件

#include<stdio.h>
#include<graphics.h>	//easyx图形库 需要安装
#include<time.h>
#include<mmsystem.h>				//头文件:多媒体设备接口
#pragma comment(lib,"winmm.lib")	//库文件#define INTERVAL 100 //最前面的间隔

 

黑块表示函数

int score;
//如何表示黑快?
int flag[4];
void initFlag()
{for (int i = 0; i < 4; i++){flag[i] = rand() % 4;	//[0-4)//printf("%d ", flag[i]);}
}

 绘制函数

void drawMap()
{settextstyle(25, 0, "黑体");settextcolor(RED);//输出文字游戏结束outtextxy(150, 30, "别踩白块儿");char str[30] = { 0 };sprintf_s(str, "score:%d", score);outtextxy(280, 20, str);//设置线条样式setlinestyle(PS_SOLID, 2);setlinecolor(RGB(59, 59, 59));for (int i = 0; i < 5; i++){line(0, i * 150 + INTERVAL, 400, i * 150 + INTERVAL);line(i * 100, INTERVAL, i * 100, 700);}//绘制黑快setfillcolor(BLACK);for (int i = 0; i < 4; i++){int x = flag[i] * 100;int y = i * 150 + INTERVAL;fillrectangle(x, y, x + 100, y + 150);}
}

鼠标控制函数 

bool mouseEvent()
{//获取鼠标消息MOUSEMSG msg = GetMouseMsg();if (msg.uMsg == WM_LBUTTONDOWN)	//左键按下{//获取最下面的一个黑快的坐标(左上角)int x = flag[3] * 100;int y = 3 * 150 + INTERVAL;//判断鼠标是否点击的最下面的黑快if (msg.x > x && msg.x<x + 100 && msg.y>y && msg.y < y + 150){cleardevice();//整体移动,数组元素后移for (int i = 3; i >0; i--){flag[i] = flag[i - 1];}//把第一个黑快重新生成flag[0] = rand() % 4;score += 10;}else{return false;}}return true;
}
//键盘按下玩游戏
bool keyMouse()
{return false;
}

游戏结束函数 

void gameOver()
{settextstyle(25, 0, "黑体");settextcolor(RED);//输出文字游戏结束outtextxy(150, 30, "Game Over!");MessageBox(GetHWnd(), "Game Over!", "low B", MB_OK);
}

 

主函数

int main()
{//播放BGM mciSendString("open 野蜂飞舞.mp3 alias BGM", NULL, 0, NULL);mciSendString("play BGM", NULL, 0, NULL);//创建图形窗口 initgraph(int width, int height, int flag = NULL);	// 初始化图形环境initgraph(400, 700/*,EW_SHOWCONSOLE*/);	//flag 标志,是否显示控制台窗口,或者关闭按钮//设置背景颜色setbkcolor(WHITE);cleardevice();//设置随机数种子srand((unsigned)time(NULL));initFlag();while (1){drawMap();if (!mouseEvent())break;}gameOver();getchar();closegraph();return 0;
}

总结

这个项目可以说是非常简单了,不需要任何的素材都可以运行,只需一个easyx图形库,大家可以直接复制代码去运行一下试试,应该是没问题的,对了,大家之前有问过很多关于easyx图形库的事情,因为有很多编译器是不支持这个图形库的,这里还是建议大家去用VS实现这个项目,当然了,关于这个项目的优化就要靠大家的智慧了,加音乐加界面加背景啥的都是可以的,自己可以去网上找素材,或许直接进群里领取我们准备好的素材也是可以的。

好了,大家还想看什么一定要在评论区告诉我,后续我还会发布更多的项目源或者学习资料,希望大家可以持续关注,有什么问题可以回帖留言。想要C/C++学习资料以及其他项目的源码的可以加群【1083227756】了解。想要对程序员的未来发展有兴趣的可以关注微信公众号:【狐狸的编码时光】,希望和大家一起学习进步!!!


http://chatgpt.dhexx.cn/article/NOlQZlP0.shtml

相关文章

【C语言小游戏】走迷宫

偶然翻到了自己大一时候写的一些代码&#xff0c;代码冗余&#xff0c;但还是想保存下来&#xff0c;以作纪念。 文章目录 1.运行效果2.运行环境3.完整代码 1.运行效果 2.运行环境 源码(Dev5.4.0版本下可直接(.cpp文件)运行 gcc 4.7.2) 注意&#xff1a;由于部分代码为C11标准&…

C语言小游戏------贪吃蛇----小白专用

C语言贪吃蛇小游戏 视频正在随缘策划中。。。。 废话在后面直接上程序 该程序在VS2019上可完美运行。 #include<stdio.h> #include<stdlib.h> #include<Windows.h> #include<time.h> #include<conio.h> constexpr auto maphigh 28, mapwid…

bootstrap时间控件--时间选择器

对应上面的三个时间选择器&#xff0c;写法如下&#xff1a; 首先引入css和js&#xff1a; <link href"https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel"stylesheet"> <link href"https://cdn.bootcss.com/bootstrap-…

日期时间控件

标题 开发软件使用到日期时间控件的地方很多&#xff0c;但是很多时候Html5自带的时间控件无法满足开发的需要&#xff0c;所以使用这种时间控件完全没有问题 引用 很多时候我们开发引用别人的控件时候&#xff0c;发现老是出现错误&#xff0c;是因为我们引用出现错误&#x…

时间控件(Time Control)

之前在网上看时间控件&#xff0c;看到这个http://hi.baidu.com/fxh19860822/blog/item/dd17d923343556ae4623e8e9.html&#xff0c;感觉颜色蛮好的&#xff0c;后来觉得要是时针、分针、秒针也可以供用户交互就更好了&#xff0c;不管怎样&#xff0c;有了idea就试试吧。 老规…

时间日期选择控件

这篇blog带来一个感觉不错的时间日期选择控件&#xff0c;当然&#xff0c;该控件也可以自定义选项内容。但这里主要说下时间选择的功能&#xff01; github地址 跟着大神的脚步&#xff0c;总有一天会成为神&#xff01; 效果&#xff1a; 关键点&#xff1a; 该控件可以…

jqueryUI日期控件和时间控件

日期控件用法&#xff1a; <!DOCTYPE html> <head><meta charset"utf-8"><title>日期</title><link rel"stylesheet" href"css/jquery-ui.css"><script src"js/jquery-3.3.1.min.js"><…

Timer时间控件

第一步、创建一个Windows窗体&#xff0c; 第二步、创建样式&#xff0c;在工具箱中找到TextBox和Labell、Button、timer。 第三步、改变属性的Name和 Text&#xff08;就是改写名称&#xff09; 第四步、排版按钮 1&#xff1a;使用的控制器是Label&#xff1b;name改为lbl…

web前端时间控件使用

官方参考地址&#xff1a;http://www.layui.com/laydate/ 1.首先把下载的layDate文件夹放入项目目录下 2.在需要使用的页面引入/layDate/laydate.js 3.创建input并使用js初始化input&#xff0c;获取选择时间值时只需获取input的value即可 官方实例&#xff1a; 生成效果&a…

时间日期控件的使用

在Android中&#xff0c;时间日期控件相对来说还是比较丰富的。其中&#xff0c;DatePicker用来实现日期输入设置&#xff0c;TimePicker用来实现时间输入设置。DatePickerDialog用来显示日期对话框&#xff0c;TimePickerDialog用来显示时间对话框。AnalogClock用来显示一个指…

Android中日期和时间控件的使用

本文主要讲述Android中的日期控件和时间控件的使用&#xff0c;以一个Demo的例子来展示日期和时间控件的使用&#xff0c;先看下如下效果图&#xff1a; 从效果图中可以看到该Demo是通过单击【选择日期】按钮和【选择时间】按钮弹出日期或者时间的对话框&#xff0c;然后设置日…

前端时间控件

1.My97 Datepicker js引入&input标签编写 <script type"text/javascript" src"<%request.getContextPath() %>/js/My97DatePicker/WdatePicker.js"></script> <input style"width: 80%" id"showStartDate&quo…

Android开发之日期时间控件选择

Android开发之日期时间控件选择 文章目录 前言一、创建弹出Layout1.1 新建Layout&#xff0c;修改样式为LinearLayout1.2 Layout中添加日期和时间控件 二、新建DateTimeDialog2.1 创建静态方法2.1.1 创建SetDateDialog&#xff0c;用于选择日期2.1.2 SetDateDialog中绑定textVi…

Web前端-时间日期控件

需求&#xff1a;同时可以选择 时间 和 日期 通过设置type属性为datetime&#xff0c;即可在同一个选择器里同时进行日期和时间的选择 <template><div class"block"><span class"demonstration">默认</span><el-date-pickerv…

android时间控件

原文地址&#xff1a;http://www.360doc.com/content/14/0617/16/18203124_387517665.shtml 前言 这一篇博客分别讲解Android平台下&#xff0c;关于日期和时间的几个相关控件。包括DatePicker&#xff08;日期选择控件&#xff09;、TimePicker&#xff08;时间选择控件&…

时间控件(选择时间范围的插件)

后台开发&#xff0c;一般都是有筛选条件的查询&#xff0c;那么问题就来了&#xff0c;根据日期范围搜索的情况下&#xff0c;插件要怎么选&#xff1f;&#xff1f;&#xff1f;&#xff1f; 这个是最开始&#xff0c;我采用的是两个时间插件&#xff0c;其他也没啥&#xff…

jQuery时间控件

时间控件 <!DOCTYPE html> <html><head><title></title><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><style>.dateinputer{line-height:40px;height:40px;margin:10px 0;border:1px s…

日期/时间控件DateTimePicker

概述&#xff1a; DateTimePicker外观像一个组合框&#xff0c;用于显示日期和时间。当单击其下拉箭头时&#xff0c;会出现一个按月份显示的日历&#xff0c;用户可以从中选择日期。 1、时期/时间控件的属性 属性说明Format用于设置显示日期/时间的格式&#xff0c;可选以下值…

时间控件

最近做了一些前端的时间控件的应用&#xff0c;下边总结一下用的这些控件。 一 Bootstrap的datetimepicker 1. 首先导入必须的css和js文件 <link href"http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel"style…

Chrome vimium 插件

今天发现了一个好玩的Google插件 > vimium直接进入Google官方下载就行&#xff0c;因为我已经下载了&#xff0c;所以后边显示的是评分&#xff0c;没有下载显示的是 添加至Chrome大概意思就是像使用Vim编辑器一样使用Chrome这个是命令文档&#xff0c;翻译不是很难这里就不…