当前位置: 首页 > backend >正文

C语言别踩白块附源码

复制即可使用 

#define _CRT_SECURE_NO_WARNINGS//一定要放在第一行
#include<stdio.h>//引用输入输出头文件,每一次都需要引用这个文件
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include<iostream>
#include <graphics.h>		// 引用图形库头文件
#include <conio.h>
#include<time.h>
#define N 5
int Map[N];//定义一个数组存储黑块的位置.有5列
int MapX, MapY,Score=0;//随机产生黑块的坐标
void InitBlack()
{//只有四行for (int i = 0;i < N - 1;i++){Map[i] = rand() % N;//0-4printf("%d\n", Map[i]);}
}
//根据随机存储在数组中的数据产生黑块
void DrawBlack()
{for (int i = 0;i < N;i++){fillrectangle(Map[i] * 100, i * 120,	Map[i] * 100 + 100, i * 120 + 120);}}
void Draw()
{//优化BeginBatchDraw();cleardevice();//清屏//四行五列个格子,格子宽度100,高度120//设置线条颜色setlinecolor(BLACK);//边框颜色setfillcolor(WHITE);//把填充色设置成白色for (int i = 0;i < 4;i++){for (int j = 0;j < 5;j++)//0-4{fillrectangle(j*100, i*120, j*100+100,i*120+120);//默认白色//绘制一个填充的矩形}}setfillcolor(BLACK);DrawBlack();EndBatchDraw();
}
bool Play()
{MOUSEMSG msg;//定义变量,存储鼠标消息msg = GetMouseMsg();//捕捉鼠标的消息switch (msg.uMsg){case WM_LBUTTONDOWN://鼠标左键按下//根据鼠标点击的坐标,计算出对应的下标MapY = msg.y / 120;//120是白块或者黑块的高度MapX = msg.x / 100;//100是白块或者黑块的宽度//Map[3]的值存储的是黑格子的列号  行号3if (Map[3] == MapX && MapY == 3){for (int i = 3;i > 0;i--){Map[i] = Map[i - 1];}Map[0] = rand() % N;//随机产生一个新的黑格子Score += 10;printf("你点击到了黑块!\n");}else {printf("未点击到黑块!\n");return  true;}break;}return false;
}
int main()
{srand((unsigned)time(NULL));//通过时间做随机数的种子initgraph(500, 480,SHOWCONSOLE);	//宽500px,高480px// 创建绘图窗口,大小为 500x480 像素Draw();InitBlack();//初始化格子的位置//绘制黑色方块setfillcolor(BLACK);DrawBlack();//放在绘制白色方块代码之后while (1){Draw();if (Play()){char str[128];sprintf(str, "总计消除格子:%d个,总计得分:%d", Score / 10, Score);MessageBox(GetHWnd(),str,"Game Over",MB_OK);exit(0);//结束程序}}//卡屏//getchar()也行_getch();				// 按任意键继续closegraph();			// 关闭绘图窗口return 0;
}

http://www.xdnf.cn/news/1777.html

相关文章:

  • Trae+DeepSeek学习Python开发MVC框架程序笔记(四):使用sqlite存储查询并验证用户名和密码
  • 现代化个人博客系统 ModStartBlog v10.3.0 博客批量操作,博客评论智能审核,安全升级
  • 某大型电解铝厂电解系统谐波治理装置改造沃伦森电气
  • Linux之七大难命令(The Seven Difficult Commands of Linux)
  • U盘能识别但无法写入数据的原因
  • CSS学习笔记8——表格
  • STM32F103C8T6 GPIO 通讯原理与物理层解析
  • Git 详细使用说明文档(适合小白)
  • 数据结构-冒泡排序(Python)
  • 【硬核干货】JetBrains AI Assistant 干货笔记
  • 数据分析工具 - AxureMost
  • php 框架Workerman定时任务详解《一》
  • MCP开发实战(一)基于MCP协议的大模型网关——多个大模型API统一封装为标准化工具
  • Axure大屏可视化模板:多领域数据决策的新引擎
  • TXPOLARITY/RXPOLARITY设置
  • java延迟map, 自定义延迟map, 过期清理map,map能力扩展。如何设置map数据过期,改造map适配数据过期
  • day6-小白学习JAVA---方法_面向对象
  • 了解低功耗蓝牙中的安全密钥
  • 缓存穿透、雪崩、击穿深度解析与解决方案
  • 多线程中的ABA问题详解
  • Java并发编程|CompletableFuture原理与实战:从链式操作到异步编排
  • BGE(BAAI General Embedding)模型详解
  • Nginx 安装与配置全流程指南(2025 最新版)
  • 桌面应用中VUE使用新浏览器窗口打开页面
  • Parasol 将交易卡牌游戏体验带入 Sui
  • Python中的 for 与 迭代器
  • 一种企业信息查询系统设计和实现:xujian.tech/cs
  • 白鲸开源WhaleStudio与崖山数据库管理系统YashanDB完成产品兼容互认证
  • python中socket(套接字)库详细解析
  • 拆解华为Pura X新发现:“仿生”散热与钛合金“骨架”