今天就跟大家聊聊有關(guān)利用C語言編寫一個(gè)掃雷小游戲,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
C語言實(shí)現(xiàn)控制臺(tái)“掃雷”小游戲
根據(jù)以往的游戲經(jīng)驗(yàn),我們能首先可以確定掃雷游戲勝利的規(guī)則是:翻開所有不是雷的區(qū)域才能算是勝利。
接下來我們需要確定整個(gè)程序的設(shè)計(jì)思路:
1.首先,我們定義兩個(gè)9*9的二維數(shù)還是未翻開的狀態(tài)組。第一個(gè)數(shù)組用來表示雷區(qū)地圖的展開情況,即每個(gè)素組元素的位置的狀態(tài)是處于展開狀態(tài)還是未展開狀態(tài),我們命名為showMap()。第二個(gè)數(shù)組我們用來表示地雷的分布情況,素組中的每個(gè)元素位置都被標(biāo)記為是否為地雷,我們命名為minMap()。
2.初始化兩個(gè)地圖,并將地圖打印出來。
3.玩家通過輸入二維數(shù)組的坐標(biāo)進(jìn)行位置輸入,翻開地圖位置。
4.判斷玩家輸入的位置是否合法。
5.判斷玩家輸入的位置是否有地雷,如果有地雷則直接宣布游戲結(jié)束;若果沒有地雷則繼續(xù)進(jìn)行游戲。
6.如果繼續(xù)游戲,則玩家輸入的位置處會(huì)顯示附近地雷的個(gè)數(shù)。
第一步,此處通過構(gòu)造menu()函數(shù)搭建一個(gè)簡(jiǎn)單的交互菜單和玩家交互,用來判斷是否開始進(jìn)行一局游戲。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> //宏定義 #define MAX_ROW 9 #define MAX_COL 9 #define DEFAULT_MINE_COUNT 10 int menu() { printf("======================\n"); printf(" 1. 開始游戲\n"); printf(" 0. 結(jié)束游戲\n"); printf("======================\n"); printf(" 請(qǐng)輸入您的選擇: "); int choice = 0; scanf("%d", &choice); return choice; } int main() { srand((unsigned int)time(0)); while (1) { int choice = menu(); if (choice == 1) { game();//此處調(diào)用了game()函數(shù). } else if (choice == 0) { printf("Goodbye!\n"); break; } else { printf("您的輸入有誤!\n"); } } system("pause"); return 0; }
網(wǎng)站題目:利用C語言編寫一個(gè)掃雷小游戲-創(chuàng)新互聯(lián)
路徑分享:http://chinadenli.net/article22/djgjjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)頁設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)