• 大小: 529KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: C/C++
  • 标签: C++  

资源简介

已有界面的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个文件信息

评论

共有 条评论