资源简介
已有界面的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进程的同步与互斥
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
评论
共有 条评论