资源简介
已有界面的C++编写,可以做C++大作业模板。
代码片段和文件信息
// DisMines.cpp : 定义应用程序的逻辑处理函数。
//
#include “stdafx.h“
#include “mines.h“
/* ************************************************
* OnTimerLight
* 功能 定时刷新客户区高亮模块的函数
************************************************* */
VOID CALLBACK OnTimerLight(HWND hwnd UINT message UINT iTimerID DWORD dwTime)
{
INT cxClinent cyClinent;
HDC hdc hdcMen;
INT iX iY iMX iMY ix iy;
POINT point;
RECT rect;
GetWindowRect(hwndMain &rect);
GetCursorPos(&point);
cxClinent = point.x - rect.left;
cyClinent = point.y - rect.top - 48;
hdc = GetDC(hwndMain);
hdcMen = CreateCompatibleDC(hdc);
Selectobject(hdcMen hBitmap);
if (cxClinent >= EXCU_W && cxClinent <= iWidth - (EXCU_W + 2) &&
cyClinent >= EXCU_H * 2 && cyClinent <= iHeight - (EXCU_H * 3 + 2) &&
iGameState != GAMEOVER ) {
cxClinent = cxClinent - cxClinent % 25;
cyClinent = cyClinent - cyClinent % 25;
ix = (cxClinent - EXCU_W) / 25 + 1;
iy = (cyClinent - EXCU_H * 2) / 25 + 1;
if (ORIG == iMines[0][iy][ix]) {
BitBlt(hdc cxClinent cyClinent EXCU_W EXCU_H
hdcMen 0 EXCU_H * ORIGLIGHT SRCCOPY);
for (iY = EXCU_H * 2 iMY = 1; iMY <= iRow; iY += EXCU_H iMY++) {
for (iX = EXCU_W iMX = 1; iMX <= iCol; iX += EXCU_W iMX++) {
if ((iMY != iy || iMX != ix) && ORIG == iMines[0][iy][ix]) {
BitBlt(hdc iX iY EXCU_W EXCU_H
hdcMen 0 EXCU_H * iMines[0][iMY][iMX] SRCCOPY);
}
}
}
} else {
InvalidateRect(hwndMain NULL FALSE);
}
} else {
InvalidateRect(hwndMain NULL FALSE);
}
DeleteDC(hdcMen);
ReleaseDC(hwndMain hdc);
}
/* ************************************************
* ModifyDifficulty
* 功能 修改游戏难度
************************************************* */
bool ModifyDifficulty(INT iX INT iY INT iNum)
{
RECT rect;
iRow = iX;
iCol = iY;
iMineNum = iNum;
iWidth = iCol * RCLONG + EXCU_W * 2; // 重新计算游戏界面长和宽
iHeight = iRow * RCLONG + EXCU_H * 5;
GetWindowRect(hwndMain &rect);
if (!MoveWindow(hwndMain rect.left rect.top iWidth iHeight TRUE)) {
return FALSE;
}
return TRUE;
}
/* ************************************************
* GameStart
* 功能 初始化游戏数据,开始新游戏
************************************************* */
bool GameStart(VOID)
{
ZeroMemory(iMines sizeof(iMines));
BuryMines(); // 布雷
GenerateNum(); // 布数字
iGameState = GAMEUNSTART; // 将全局变量初始化
iFaceState = FACEORIG;
iTimeNum = 0;
iMineFlag = iMineNum;
return TRUE;
}
/* ************************************************
* BuryMines
* 功能 生成雷区
************************************************* */
bool BuryMines(VOID)
{
INT iX iY iNum = 0;
srand((UINT)GetCurrentTime()); // 用当前系统时间做随机数种子
while (iNum < iMineNum) {
iY = rand() % (iCol + 1); // 随机生成地雷所在坐标
iX = rand() % (iRow + 1);
if (iX != 0 && iY != 0 && iMines[1][iX][iY] != MINE) { // 避免重复位置
iMines[1][iX][iY] = MINE;
iNum++;
}
}
return TRUE;
}
/* ************************************************
* GenerateNum
* 功能 生成雷区中地雷周围的数字
*********************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-03-16 14:37 mines-master\
文件 126 2013-03-16 14:37 mines-master\.gitignore
文件 177 2013-03-16 14:37 mines-master\README.md
文件 862 2013-03-16 14:37 mines-master\mines.sln
文件 16896 2013-03-16 14:37 mines-master\mines.suo
目录 0 2013-03-16 14:37 mines-master\mines\
文件 9215 2013-03-16 14:37 mines-master\mines\DisMines.cpp
文件 3678 2013-03-16 14:37 mines-master\mines\DisMsg.cpp
文件 13055 2013-03-16 14:37 mines-master\mines\mines.cpp
文件 2688 2013-03-16 14:37 mines-master\mines\mines.h
文件 15952 2013-03-16 14:37 mines-master\mines\mines.rc
文件 5019 2013-03-16 14:37 mines-master\mines\mines.vcxproj
文件 2914 2013-03-16 14:37 mines-master\mines\mines.vcxproj.filters
文件 141 2013-03-16 14:37 mines-master\mines\mines.vcxproj.user
目录 0 2013-03-16 14:37 mines-master\mines\res\
文件 30456 2013-03-16 14:37 mines-master\mines\res\blank.bmp
文件 30456 2013-03-16 14:37 mines-master\mines\res\blank_green.bmp
文件 30456 2013-03-16 14:37 mines-master\mines\res\blank_purple.bmp
文件 30456 2013-03-16 14:37 mines-master\mines\res\blank_red.bmp
文件 30456 2013-03-16 14:37 mines-master\mines\res\blank_yellow.bmp
文件 28822 2013-03-16 14:37 mines-master\mines\res\explode.wav
文件 28856 2013-03-16 14:37 mines-master\mines\res\face.bmp
文件 28856 2013-03-16 14:37 mines-master\mines\res\facegreen.bmp
文件 28856 2013-03-16 14:37 mines-master\mines\res\facepurple.bmp
文件 28856 2013-03-16 14:37 mines-master\mines\res\facered.bmp
文件 28856 2013-03-16 14:37 mines-master\mines\res\faceyellow.bmp
文件 76832 2013-03-16 14:37 mines-master\mines\res\main.ico
文件 26456 2013-03-16 14:37 mines-master\mines\res\num.bmp
文件 293476 2013-03-16 14:37 mines-master\mines\res\win.wav
文件 6914 2013-03-16 14:37 mines-master\mines\resource.h
文件 202 2013-03-16 14:37 mines-master\mines\stdafx.cpp
............此处省略2个文件信息
- 上一篇:遗传算法.cpp
- 下一篇:东北大学操作系统实验1进程的同步与互斥
相关资源
- 遗传算法.cpp
- C++编写的第三人称视角小球Ploygon风格
- C++ Primer Plus第6版源码.zip
- 小甲鱼98集全套数据结构视频
- c++制作黄金矿工
- C/C++:Windows编程—代码获取本地所有
- c++ 课程设计报告多个题目合集 完整
- C++课设高校人员信息管理系统
- c++实现哈夫曼树的编译码
- c++24期网盘链接
- C++ Primer 第六版 书上程序及课后习题
- 集合的并交差运算
- 免费的LeetCode-cpp题解(C++版本)大全
- Ubuntu下的扩展卡尔曼滤波EKF程序(C
- 2019华为软件精英挑战赛C++ 源码实现
- 基于遗传算法的带容量限制的P-media
- C++实现小游戏flappy bird
- C++builder实现计算器
- MFC 2010编写 C++ 求1元4次方程解,含1元
- c++版创建并输出二叉树完整代码
- c++练习题2015
- 最新传智播客C/C++第五期完整视频 R
- 影碟出租系统C++源代码
- C++&CLR 编写 Windows 窗体应用程序
- 用c语言写的8数码游戏
- ue4,c++平面最小封闭区域识别
- vs2013 c++串口助手源码
- c++21点游戏
- 蛮力法求解旅行商问题C++
- 理发师睡觉问题
评论
共有 条评论