《掃雷》是一款大眾類的益智小遊戲,於2023年發行。遊戲目標是在最短的時間內根據點選格仔出現的數字找出所有非雷格仔,同時避免踩雷,踩到乙個雷即全盤皆輸。
在實現遊戲的首先,需要建立test.c game.c game.h三個檔案。
test.c主要進行遊戲的測試。
game.c主要進行遊戲內部一些函式的具體實現。
game.h主要是一些宣告,巨集定義。
1、列印簡易選單
2、定義及初始化陣列
3、隨機生成布置雷
4、玩家排雷
列印選單讓玩家選擇,輸入1為開始遊戲,輸入0位退出遊戲
void meun()
程式生成兩個99的方塊矩陣,mine陣列用來儲存雷的布局,show陣列用來展示玩家實時的排雷進度。
mine陣列中,『1'代表雷,'0『代表無雷。
show陣列中,'『代表雷,'#'代表無雷。
//初始化陣列
initboard(mine, rows, cols, '0');
initboard(show, rows, cols, 程式設計客棧'*');
void initboard(char board[rows][cols], int rows, int cols, char set)
}}玩家每確定一次排雷座標,就要在螢幕上顯示排雷情況。
void displayboard(char board[rows][cols], int row, int col)
printf("\n");
for (i = 1; i <= row; i++)
printf("\n");
}}利用c語言庫中的rand函式生成隨機數來布置雷。
void setmine(char board[rows][cols], int row, int col)
}}玩家輸入排雷的座標,程式會在螢幕顯示當前座標周圍8個方塊存在的雷的數量。
int minecount(char mine[rows][cols], int x, int y)
void findboard(char mine[rows][cols], char show[rows][cols], int row, int col)
else
}else
}if (win == row * col - easy_count)
}test.c
#define _crt_secure_no_warnings 1
#include "game.h"
void meun()
void game()
; char show[rows][cols] = ;
//初始化陣列
initboard(mine, rows, cols, '0');
initboard(show, rows, cols, '*');
//布置雷
setmine(mine, row, col);
displayboard(mine, row, col);
displayboard(show, row, col);
//排雷
findboard(mine, show, row, col);
displayboard(show, row, col);
}int main()
} while (input);
return 0;
}game.c
#define _crt_secure_no_warnings 1
#include "game.h"
void initboard(char board[rows][cols], int rows, int cols, char set) }}
void displayboard(char board[rows][cols], int row, int col)
printf("\n");
for (i = 1; i <= row; i++)
printf("\n"); }}
void setmine(char board[rows][cols], int row, int col) }}
int minecount(char mine[rows][cols], int x, int y)
void findboard(char mine[rows][cols], char show[rows][cols], int row, int col)
else
}else
}if (win == row * col - easy_count)
}game.h
#pragma once
#include
#include
#include
#define row 9
#define col 9
#define easy_count 10
#define rows row+2
#define cols col+2
void initboard(char board[rows][cols], int rows, int cols, char set);
void displayboard(char board[rows][cols], int row, int col);
void setmine(char board[rows][cols], int row, int col);
void findboard(char mine[rows][cols], char show[rows][cols], int row, int col);
本文標題: c語言實現掃雷小程式
本文位址:
用C語言實現掃雷小程式
掃雷程式的編寫需要有清晰的思路,所以我們先要清楚掃雷的實現有幾個功能模組讓我們編寫,再用主函式將功能結合在一起 根據這幾點可以寫出如下的標頭檔案 ifndef game h define game h include include include define row 12 define col ...
C語言實現掃雷小程式外掛程式,棒棒的
今天跟大家分享的是 掃雷外掛程式 0.掃雷外掛程式效果圖 1.分析掃雷影象 下面的 可以得到乙個點的顏色,核心 是getpixel。2.模擬滑鼠操作 其實滑鼠操作我知道的有兩種,一種是下面寫的這種 還有種是 3.掃雷外掛程式流程分析 看起來比較複雜的流程,我本來用while的,比較難搞,最後用了go...
C語言實現掃雷
思路,建立兩個二維陣列,乙個作為雷區,乙個作為顯示區,雷區只在程式結束時顯示。每次使用者操作後重新整理顯示區的陣列成員。建立雷區二維陣列12 12,顯示區二維陣列10 10,用 0 代表安全區,1 代表雷區。雷區的陣列長度設定比顯示區的陣列長度多2,方便邊框區域計算周圍地雷數量。標頭檔案宣告 inc...