带爆炸效果的扫雷(源码4)

Pygame小游戏:玩扫雷就在瞎点的,不止你一个人。 前言 《扫雷》是一款大众类的益智小游戏,于1992年发行。 游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个 雷即全盘皆输。 它是许多人接触到的第一款游戏,大概也是广大办公族和无网学生无聊时消遣的最佳游戏,是不是 每次见到戴上墨镜的小人很有成就感?在那些还没有网(被切断网)的岁月,扫雷曾陪伴无数人度 过了他们的童年。你的最佳纪录是多少?小编在工作间隙随手刷了一局30秒(囧????)。 那么?怎么才能通关呢?这,有生之年靠自己猜可能做不到了,BUT我 阅读详情

 计时器:由于需要暂停/恢复计时、绘图,所以专门作了一个类。 其中用了三个状态#define T_CLOSE 0
#define T_START 1
#define T_PAUSE 2

应该可以优化。

附 mytimer.h  mytimer.cpp

//定时器
#ifndef __MYTIMER_H
#define __MYTIMER_H

#define T_CLOSE 0
#define T_START 1
#define T_PAUSE 2

class MYTIMER
{
public:
    MYTIMER();
    
~MYTIMER();

    
void StartTimer();
    
void PauseTimer();
    
void StopTimer();
    
void GoOnTimer();
    
int GetTimeLong();
    
void TimerInc();
    
void Clear();
    
    
void Draw();
    
void LoadPic();
    
void SetHINSTANCE(HINSTANCE h);
    
void SetHWND(HWND h);
    
void SetHDC(HDC h);

    
void SetPos(int x,int y);

private:
    
int time_long;
    
int iState;
    POINT pos;

    HDC hdcmem;
    HDC hdc;
    HWND hwnd;
    HINSTANCE hinstance;

    HBITMAP hbm_number;
}
;

#endif

mytimer.cpp


#include 
"stdafx.h"
#include 
"resource.h"

#include 
"mytimer.h"

void MYTIMER::StartTimer()
{
    
if(T_START==iState)
    
{
        
return;
    }


    time_long
=0;
    iState
=T_START;

    SetTimer(hwnd,
1,1000,NULL);

//    MessageBox(hwnd,"start timer","timer",MB_OK);
}


void MYTIMER::PauseTimer()
{
    
if(T_START == iState)
    
{
        KillTimer(hwnd,
1);
        iState
=T_PAUSE;
    }

}

void MYTIMER::StopTimer()
{
    KillTimer(hwnd,
1);

    iState
=T_CLOSE;
}


void MYTIMER::Clear()
{
    time_long
=0;
}


int MYTIMER::GetTimeLong()
{
    
return time_long;
}


void MYTIMER::GoOnTimer()
{
    
if(T_PAUSE == iState)
    
{
        iState
=T_START;
        SetTimer(hwnd,
1,1000,NULL);
    }

//    MessageBox(hwnd,"Timer GO ON","timer",MB_OK);
}


void MYTIMER::TimerInc()
{
    
if(time_long<=999)
        time_long
++;
}


void MYTIMER::SetHWND(HWND h)
{
    hwnd
=h;
}


void MYTIMER::SetHINSTANCE(HINSTANCE h)
{
    hinstance
=h;
}


void MYTIMER::LoadPic(void)
{
    
if(!hinstance)
    
{
        MessageBox(hwnd,
"Timer:Load Picture:instance is null","bitmap",MB_OK);
    }


    hbm_number
=LoadBitmap(hinstance,MAKEINTRESOURCE(IDB_TIMER_NUMBER));    

    
if(!hbm_number)
    
{
        MessageBox(hwnd,
"Timer:Load Picture:bitmap handle is null","bitmap",MB_OK);
    }



    hdc
=GetDC(hwnd);
    hdcmem
=CreateCompatibleDC(hdc);
    
if(!hdcmem)
    
{
        MessageBox(hwnd,
"Timer:Load Picture:hdcmem is null","bitmap",MB_OK);
    }


    ReleaseDC(hwnd,hdc);
}


void MYTIMER::SetHDC(HDC h)
{
    hdc
=h;
}

void MYTIMER::Draw()
{
    
int i=0;
    
//hdc=GetDC(hwnd);
    if(!hdc)
    
{
        MessageBox(hwnd,
"Timer:Draw:DC is null","bitmap",MB_OK);
    }


    SelectObject(hdcmem,hbm_number);

    TextOut(hdc,pos.x,pos.y,
"TIME:",5);

    i
=time_long/100;    
    i
%=10;
    BitBlt(hdc,pos.x,pos.y
+16,16,32,hdcmem,i*16,0,SRCCOPY);
    
    i
=time_long/10;    
    i
%=10;
    BitBlt(hdc,pos.x
+16,pos.y+16,16,32,hdcmem,i*16,0,SRCCOPY);

    i
=time_long%10;    
    BitBlt(hdc,pos.x
+32,pos.y+16,16,32,hdcmem,i*16,0,SRCCOPY);

}


MYTIMER::MYTIMER()
{
    hwnd
=0;
    time_long
=0;
    iState
=T_CLOSE;
}


MYTIMER::
~MYTIMER()
{
    DeleteObject(hbm_number);

    hwnd
=0;
    time_long
=0;
    
if(iState!=T_CLOSE)
    
{
        KillTimer(hwnd,
1);
    }

}


void MYTIMER::SetPos(int x,int y)
{
    pos.x
=x;
    pos.y
=y;
}

 

 

AI扫雷有多牛?他国纷纷来求师学艺(附完整教程) 前文 大家好!我是梨子同学! 希望大家多多支持我!哈哈 为了感谢每一个关注我的小可爱:????每篇文章的项目源码都是无偿分享滴????见文末! 很多csdn的功能还在研究中,还有小编的文笔不好勿怪,会慢慢进步跟大家一起学习的 小编也一直在学习编程,如果代码小程序出现错误欢迎大家评论区留言哈! 最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~ 前言 《扫雷》是一款大众类的益智小游戏,于1992年发行。 游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同 阅读详情

相关推荐

第一个用java-swing写的 图形界面程序-扫雷

不要吐槽界面丑。。谢谢      (代码附在文末,有兴趣可以看看) 扫雷爆炸的效果还没来得及加上, 大概思路 以被点开的雷为中心,计算周围的雷到它的距离,并放入按距离排序的队列,然后依次取出,用多线程显示爆炸效果(3,4张图片连在一起或gif) 联网功能还不是很完善,肯能会有bug,只是双人对战 。。。以后有时间再改进   实现功能点: 主题皮肤更换,     OK 三种游戏模式,

缺氧 5251

带爆炸效果的扫雷(源码5)

自己画了一个小工具栏,增加了鼠标单击/释放的处理程序。 附: mytool.cpp mytool.hmytool.h  #ifndef __MYTOOL_H#define __MYTOOL_Henum e_button...{    E_LEVEL,    E_HELP,    E_SCORE};class MYTOOL...{public:    MYTOOL();    ~MYTO

programking的快乐生活 1115

C#编扫雷源码 一2008年03月23日

把以前写的东西存下来 嘿嘿 转载http://hi.baidu.com/activezfj/blog/item/31cd4b3499f6eb4a241f14b7.html(此博客已无情被关,近3000多篇原创呀,说出来都是泪) 源代码: [Form1.CS] using System; using System.Drawing; using System.Collect

关中游侠 854

带爆炸效果的扫雷(源码1)

 这个程序是以前写的,编码水平一般,规范性、命名还可以,待改进的地方有很多,大家拷下来自己玩吧。第一次把我写的代码贴出来。ok,开始,先来个截图:当鼠标单击的时候,有一个爆炸效果将格子炸开。程序简单说明:包含了计时,等级设置(含自定义),帮助对话框,排行榜。技术上没有用MFC,纯SDK做的。使用了两个定时器,一个表示成绩,一个播放动画。算法:如果单击的是空白格子,那么周围所有相

programking的快乐生活 1350

HTML在线扫雷游戏网页源码

HTML在线扫雷游戏网页源码是一款基于HTML+CSS+JavaScript开发的在线扫雷小游戏单页源码,为用户提供了一个无需安装即可在浏览器中直接玩的扫雷游戏。该游戏的源码不仅包含了完整的游戏逻辑,还具备丰富的界面设计和用户交互功能,可以作为前端毕业设计项目参考。

专注于与编程相关的知识内容分享 980

Java写的经典扫雷游戏,带音效和成绩记录,双击就能玩

用Java开发的完整扫雷游戏,源码清晰、结构规范,直接双击1.bat即可运行,无需额外配置。界面采用GIF图标(start.gif、lei.GIF、qi.GIF)实现按钮与雷区可视化,内置三种音频资源:点击音效(ding.wav)、爆炸音效(bob.wav)和背景音乐(music.mid),增强操作反馈和游戏氛围。成绩自动保存到record.txt文件,历史记录存放在O纪录文件夹,支持本地持久化。项目包含全部源文件(saolei.java)和编译后字节码(saolei.class),.gitignore和.

bean的博客 268

带爆炸效果的扫雷(源码2)

游戏中处理地图生成,绘制,单击处理等主要逻辑的类 map.h,所有格子放在20*20=400的一个数组中,即最大支持长宽各20个格子。每个格子用一个字节表示,低四位0表示空格,1~8表示数字,9表示雷。高四位bit7~bit4: bit7表示该格子是否打开,bit6表示是否已经标记,bit5表示是否要打叉(点错或标记错的时候)。说明:除了动画以外,所有的图形元素都是32*32像素。简单的动画:

programking的快乐生活 1086

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

带爆炸效果的扫雷(源码3)

队列:当点击一个空白格子的时候,算法如下:将当前格子入队;循环:一个格子出队。将没有打开的空白格子进队(要没有打开过,且是空白)。将周围的格子置为“已打开”。不断重复,直至队列为空。为了方便,将一个格子周围8个格子的坐标差值放到数组中,循环使用。void GameMap::SearchBlank(int x,int y){ int tempindex[16]={-1, -1,  0,

programking的快乐生活 945

智能驾驶域控(ADCU)方案介绍

本文主要对智能驾驶域控(ADCU)方案相关知识进行总结,以加深理解,及方便后续查漏补缺。

liuxu324的博客 1573

最佳解决Maven同一依赖多版本共存问题,重复依赖(同一个jar包,多个版本)-maven-shade-plugin

公司的历史项目在导出功能上引用的是poi-3.12版本,后续再做word模板导出功能时用到了poi-3.15版本,升级完后发现项目的很多导出功能都瘫痪了。用旧版本,新功能无法使用;用新版本,旧功能瘫痪,且整改的工作量比较大。使用maven-shade-plugin,将某个版本的依赖名称进行修改,重新引入即可。

S_White_Island的博客 1万+

扫雷游戏(整体游戏架构分析+源码分析)

1.此游戏完成了我童年的梦2.锻炼了我在函数和数组这方面的知识复习3.而外掌握“缓冲区”,随机函数,时间戳等知识。

2402_84849509的博客 1033

CRaxsRat v7.6 安装与使用教程(附工具下载)

摘要:本文介绍远程管理工具CRaxsRat v7.6的合法应用与基本操作,强调仅限授权环境使用。该工具支持多客户端管理、TLS加密及文件/进程控制等功能,适用于内网维护与安全测试。安装需Windows 10/11系统及.NET 4.8,步骤包括解压运行、配置监听端口及生成客户端。文中提醒防火墙设置与杀软误报问题,并重申禁止非法用途,建议在虚拟机或隔离环境学习使用。

lzj781210的博客 3791

winsdk仿win7扫雷

winsdk仿win7扫雷,基本实现win7扫雷效果,开源无版权,谨此纪念娄芳老师

明故为知的博客 1162

微动探测原理及仪器介绍

微动探测原理及仪器介绍 1、微动探测原理 1.1 基本理论 微动是由体波和面波组成,其中微动能量的百分之七十以上都来自于面波,并且它与体波的主要区别是在不均匀的介质中传播时面波会发生频散,而体波不存在频散现象,因此面波是微动探测的主要对象。 对于介质的弹性参数(如横波速度、层薄厚、压缩波速度、密度等),面波传播速度相对比较敏感,特别是对横波的敏感性很高,因此可以利用面波来反演横波速度。 在时间和空间上,微动信号具有以下特性:高度变化、无规律性、无重复性等,有研究发现全世界各处记录的微动信号都有相似

zw461450141的博客 1万+

自适应滤波器在噪声消除中的应用:系统设计与实现

本文设计并实现了一种基于LMS算法的自适应噪声消除系统,能够有效消除周期性背景噪声,提升信噪比10dB以上。系统采用模块化设计,包含音频输入、自适应滤波、信号分析和可视化等核心模块,支持实时处理与参数动态调整。通过Python实现,提供图形界面进行参数设置、频谱对比和音频播放功能,为语音增强提供了一种实用解决方案。

huanghm88的专栏 128

扫雷游戏开发教程:从零打造精美像素扫雷

通过本教程,你已经学会了如何开发一个功能完整的扫雷游戏。记住,游戏开发就像扫雷一样——需要耐心、策略和一点冒险精神!当你遇到"地雷"(bug)时,不要灰心,标记它、分析它,然后优雅地解决它。

代数的博客 1395

芒果YOLOv5改进107:ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

包括YOLOv5、YOLOv7、YOLOv8等模型改进 956

两分钟教你用C++修改"扫雷"游戏的设置,有源码哦!

C++ 6.0 修改"扫雷"游戏的设置,可以对扫雷游戏的界面进行设置,设置 黑白界面和彩色界面,可修改扫雷游戏英雄榜级别、英雄名称和所用时间,可设置是否添加对扫雷游戏中引爆地雷发出爆炸声。 源码结构截图: 主要源码展示: 这个小程序可以实现自动扫雷,只是娱乐和学习之用,没别的用途,大家勿骂。 我没有改变计时器,想必大家都知道系统自带一个方便扫雷的功能就是“XY...

1284

YOLOv11改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)

为了弥补现有 IoU 损失在不同检测任务中泛化性弱和收敛速度慢的问题,·Inner-IoU·通过引入比例因子 “ratio” 来控制辅助边界框的尺度大小,利用不同尺度的辅助边界框来计算损失,从而加速边界框回归过程。

Limiiiing的博客 3891

小红书直播弹幕采集

本文主要介绍小红书直播间弹幕的采集,便于进行直播数据监控与直播数据进行分析。

tdl320721的博客 2540

java页面布局扫雷界面_第一个用java-swing写的 图形界面程序-扫雷

不要吐槽界面丑。。谢谢 (代码附在文末,有兴趣可以看看)扫雷爆炸的效果还没来得及加上,大概思路 以被点开的雷为中心,计算周围的雷到它的距离,并放入按距离排序的队列,然后依次取出,用多线程显示爆炸效果(3,4张图片连在一起或gif)联网功能还不是很完善,肯能会有bug,只是双人对战。。。以后有时间再改进实现功能点:主题皮肤更换, OK三种游戏模式, OK计时, OK扫雷英雄榜,...

weixin_29094979的博客 638

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

经典扫雷游戏开发全解析:HTML+CSS+JavaScript实现

本教程将完整呈现如何用原生前端三剑客(HTML+CSS+JavaScript)实现经典扫雷游戏。该实现包含以下核心功能: 2. 视觉设计(CSS) 亮点特性: 3. 游戏逻辑(JavaScript) 核心算法流程图:左键点击右键点击是否初始化游戏生成雷区计算相邻雷数渲染棋盘玩家操作揭示格子标记旗帜是否触雷?游戏失败检查胜利条件 三、功能亮点详解 1. 雷区生成算法 2. 递归展开算法 四、游戏操作指南 左键点击:揭示格子 右键点击:标记/取消标记地雷 新游戏按钮:重置游戏 胜利条件:正确标记所有地雷并

TengMMVP的博客 2156

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C语言实现扫雷游戏(含展开、含标记)---完整源码与分析!!!

本次我们利用C语言实现了扫雷游戏,包含标记功能,0位展开功能,对于各个模块进行了细致的分析与分模块代码的讲解,最后再文章附有完整的源码,欢迎大家学习。

m0_56399733的博客 384

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

无聊的周末用Java写个扫雷小游戏

周末无聊,用Java写了一个扫雷程序,说起来,这个应该是在学校的时候,写会比较好玩,毕竟自己实现一个小游戏,还是比较好玩的。说实话,扫雷程序里面核心的东西,只有点击的时候,去触发更新数据这一步。 Swing 是过时了,但是好玩不会过时,不喜勿喷 源码的地址:https://github.com/Damaer/Game/tree/main/SweepMine 下面讲讲里面的设计: 数据结构设计 视图和数据尽可能分开 点击时候使用BFS扫描 判断成功失败 数据结构设计 在这个程序里面,为了方便,使用了全局

秦怀杂货店 598

【Pygame小游戏】复刻经典游戏扫雷,你能玩到最后吗?

扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。它是许多人接触到的第一款游戏,大概也是广大办公族和无网学生无聊时消遣的最佳游戏,是不是每次见到戴上墨镜的小人很有成就感?那么?怎么才能通关呢?这,有生之年靠自己猜可能做不到了,BUT我们可以靠一靠我们的Python自动扫雷的嘛!不要慌呢~我们正式开始吧!

zhang120529的博客 757
上一篇: 带爆炸效果的扫雷(源码3)
下一篇: 带爆炸效果的扫雷(源码5)
programking
博客等级 码龄23年 450粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值