国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

c語言小游戲之掃雷

這篇具有很好參考價值的文章主要介紹了c語言小游戲之掃雷。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一:游戲設計理念及思路

二:初步規(guī)劃的游戲界面

三:開始掃雷游戲的實現(xiàn)

注:1.創(chuàng)建三個文件,test.c用來測試整個游戲的運行,game.c用來實現(xiàn)掃雷游戲的主體,game.h用來函數(shù)聲明和包含頭文件

2.為方便定位坐標,在展示數(shù)組時添加行號和列號

四:謝謝觀看?


c語言小游戲之掃雷,C,c語言,開發(fā)語言

聽說看到日落金山的人,接下來的日子會順順利利,萬事勝意,生活明朗-----------林辭憂

一:游戲設計理念及思路

1.掃雷游戲就是如平常戰(zhàn)爭片里見到的,工兵去布滿雷的地區(qū)去一步步的排除雷,該游戲就簡單模擬該場景。

2.該游戲是在9*9的81個格子中隨機布置10個雷,然后通過排查坐標的形式慢慢排查出雷的位置

3.玩家通過輸入要排查坐標的位置來開始掃雷,如該位置是雷的話,則玩家被炸死,游戲結束,反之該位置將顯示周圍8個坐標位置雷的數(shù)量,便于玩家繼續(xù)思考排查

4.若排查完所有的無雷的71個坐標,則顯示掃雷成功

二:初步規(guī)劃的游戲界面

1.打開游戲便顯示游戲菜單

c語言小游戲之掃雷,C,c語言,開發(fā)語言

通過玩家選擇? ? 1:玩游戲? ? ?0:退出游戲? ? ? ? ?其余數(shù)字均顯示選擇錯誤重新選擇

2.開始玩游戲之后,顯示9*9的一個布置好10個雷的棋盤,為了隱藏雷的信息,可以創(chuàng)建兩個數(shù)組,mine數(shù)組用來存放雷的信息,show數(shù)組用來隱藏雷的信息,為方便起見,創(chuàng)建兩個字符數(shù)組,mine數(shù)組用‘1’表示雷,‘0’表示無雷,show數(shù)組全部用‘*’來顯示

c語言小游戲之掃雷,C,c語言,開發(fā)語言

c語言小游戲之掃雷,C,c語言,開發(fā)語言

3.如果要排查(8,0) 這個坐標的話,假設不是雷,那么就要統(tǒng)計周圍雷的個數(shù),會發(fā)現(xiàn)此時數(shù)組會越界訪問,為防止這種情況的發(fā)生,我們應該創(chuàng)建個11*11的格子,并且全部初始化為‘0’,我們正式掃雷時只使用其中的9*9的格子進行游戲

4.當玩家掃雷被炸死或者掃雷成功之后顯示mine數(shù)組中存放雷的信息

三:開始掃雷游戲的實現(xiàn)

注:1.創(chuàng)建三個文件,test.c用來測試整個游戲的運行,game.c用來實現(xiàn)掃雷游戲的主體,game.h用來函數(shù)聲明和包含頭文件
2.為方便定位坐標,在展示數(shù)組時添加行號和列號

3.? ? ?game.h

#pragma once
#include <stdio.h>
#define ROW 9
#define COL 9
#define ROWS ROW+2
#define COLS COL+2
#define MINECOUNT 10
#include <stdlib.h>
#include <time.h>
//初始化數(shù)組
void InitBoard(char arr[ROWS][COLS], int rows, int cols, char set);

//展示數(shù)組
void DisplayBoard(char arr[ROWS][COLS], int row, int col);

//在mine數(shù)組中隨即設置10個雷的信息
void SetMine(char arr[ROWS][COLS], int row, int col);

//排查雷
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);

//排查周圍雷的數(shù)量
int GetMineCount(char mine[ROWS][COLS], int x, int y);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?test.c?

#define _CRT_SECURE_NO_WARNINGS
#include "game.h"
void menu()
{
	printf("****************\n");
	printf("**** 1.play ****\n");
	printf("**** 0.exit ****\n");
	printf("****************\n");
}
void game()
{
	//創(chuàng)建11*11的兩個字符數(shù)組  mine數(shù)組用來存放雷的信息,show數(shù)組用來展示排查雷的信息
	char mine[ROWS][COLS] = {0};
	char show[ROWS][COLS] = {0};
	//初始化數(shù)組,用'0'來初始化mine數(shù)組,用'*'來初始化show數(shù)組
	InitBoard(mine, ROWS, COLS, '0');
	InitBoard(show, ROWS, COLS, '*');
	//展示數(shù)組
	//DisplayBoard(mine, ROW, COL);
	//DisplayBoard(show, ROW, COL);
	//在mine數(shù)組種隨機設置10個雷
	SetMine(mine, ROW, COL);
	//DisplayBoard(mine, ROW, COL);
	DisplayBoard(show, ROW, COL);
	//排查雷
	FindMine(mine, show, ROW, COL);
}
void test()
{
	srand((unsigned int)time(NULL));
	int input = 0;
	do
	{
		menu();//上來先打印游戲菜單
		printf("請輸入對應游戲選項的數(shù)字\n");
		scanf("%d",&input);
		switch (input)
		{
		case 1:game();
			break;
		case 0:printf("退出游戲\n");
			break;
		default:printf("選擇錯誤,請重新輸入\n");
			break;
		}
	} while (input);
}
int main()
{
	test();
	return 0;
}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?game.c?文章來源地址http://www.zghlxwxcb.cn/news/detail-819430.html

#define _CRT_SECURE_NO_WARNINGS
#include "game.h"
//初始化數(shù)組
void InitBoard(char arr[ROWS][COLS], int rows, int cols, char set)
{
	int i = 0;
	for (i = 0; i < rows; i++)
	{
		int j = 0;
		for (j = 0; j < cols; j++)
		{
			arr[i][j] = set;
		}
	}
}
//展示數(shù)組
void DisplayBoard(char arr[ROWS][COLS], int row, int col)
{
	int i = 0;
	printf("-----開始掃雷-----\n");
	for (i = 0; i <= row; i++)
	{
		printf("%d ", i);
	}
	printf("\n");
	for (i = 1; i <= row; i++)
	{
		int j = 0;
		printf("%d ",i);
		for (j = 1; j <= col; j++)
		{
			printf("%c ",arr[i][j]);
		}
		printf("\n");
	}
}
//設置雷
void SetMine(char arr[ROWS][COLS], int row, int col)
{
	int x = 0;
	int y = 0;
	int count = MINECOUNT;//雷的數(shù)量
	while (count)
	{
		x = rand() % row + 1;//隨機生成下標
		y = rand() % col + 1;
		if (arr[x][y] == '0')
		{
			arr[x][y] = '1';//用'1'來表示雷
		}
		count--;
	}
}
//排查周圍雷的數(shù)量
int GetMineCount(char mine[ROWS][COLS], int x, int y)
{
	int i = 0;
	int ret = 0;
	for (i = x - 1; i <= x + 1; i++)
	{
		int j = 0;
		for (j = y - 1; j <= y + 1; j++)
		{
			ret += (mine[i][j] - '0');
		}
	}
	return ret;
}
//排查雷
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{
	int count = row * col - MINECOUNT;
	int x = 0;
	int y = 0;
	int ret = 0;
	while (ret<count)
	{
		printf("請輸入要排查坐標的數(shù)字\n");
		scanf("%d%*c%d", &x, &y);
		if (show[x][y] == '*')
		{
			if (mine[x][y] == '1')
			{
				printf("很遺憾,你被炸死了\n");
				DisplayBoard(mine, ROW, COL);
				break;
			}
			else
			{
				int ret=GetMineCount(mine, x, y);
				show[x][y] = ret + '0';
				DisplayBoard(show, ROW, COL);
			}
		}
		else
		{
			printf("該坐標已經(jīng)被排查,請重新輸入坐標\n");
		}
		ret++;
	}
	if (ret == count)
	{
		printf("恭喜你,掃雷成功\n");
		DisplayBoard(mine, ROW, COL);
	}	
}

四:謝謝觀看?

到了這里,關于c語言小游戲之掃雷的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • C語言:輕松實現(xiàn)掃雷小游戲

    C語言:輕松實現(xiàn)掃雷小游戲

    目錄 一、前言 二、掃雷步驟 1.創(chuàng)建項目 2.設計整體框架 1.定義數(shù)組長度和雷的個數(shù) 2.game函數(shù)功能 三、頭文件game.h代碼實現(xiàn)? 四、測試文件test.c代碼實現(xiàn) 五、game函數(shù)功能實現(xiàn) 1.初始化棋盤 2.打印棋盤 ?3.布置雷 4. 獲得雷的個數(shù) ?5.排查雷 6.game函數(shù)實現(xiàn)代碼 六、總結 大家好

    2024年02月03日
    瀏覽(90)
  • C語言——掃雷小游戲(遞歸展開版)

    C語言——掃雷小游戲(遞歸展開版)

    哈嘍,大家好,上次我們已經(jīng)學習了三子棋小游戲,今天我們來學習掃雷小游戲了。 目錄 1.游戲介紹 2.函數(shù)部分 2.1菜單 2.2game()函數(shù) 2.3mian()函數(shù) 2.4初始化棋盤 2.5打印棋盤 2.6布置雷 2.7排查雷 2.8統(tǒng)計雷 2.9遞歸,展開一片區(qū)域 3.完整代碼展示? 想必大家都玩過掃雷這款小游戲吧

    2024年02月03日
    瀏覽(89)
  • 【C】C語言實現(xiàn)掃雷小游戲

    相信大家一定都玩過掃雷小游戲,今天我就帶大家來用C語言實現(xiàn)一個簡易版的掃雷小游戲。 這里我們還是需要三個文件來封裝我們的寫的代碼: test.c ----- 用于我們代碼的測試,以及游戲整體框架的實現(xiàn)。 game .c ------ 用來封裝實現(xiàn)我們游戲的相關函數(shù)。 game.h ------ 主要用來

    2024年02月11日
    瀏覽(646)
  • 【C語言】掃雷小游戲(遞歸展開版)

    【C語言】掃雷小游戲(遞歸展開版)

    哈嘍,大家好,上次我們已經(jīng)學習了三子棋小游戲,今天我們來學習掃雷小游戲了。 目錄 1.游戲介紹 2.函數(shù)部分 2.1菜單 2.2game()函數(shù) 2.3mian()函數(shù) 2.4初始化棋盤 2.5打印棋盤 2.6布置雷 2.7排查雷 2.8統(tǒng)計雷 2.9遞歸,展開一片區(qū)域 3.完整代碼展示? 想必大家都玩過掃雷這款小游戲吧

    2024年02月12日
    瀏覽(93)
  • 【C語言】小游戲-掃雷(清屏+遞歸展開+標記)

    【C語言】小游戲-掃雷(清屏+遞歸展開+標記)

    大家好,我是深魚~ 目錄 一、游戲介紹 二、文件分裝 ?三、代碼實現(xiàn)步驟 1.制作簡易游戲菜單 ?2. 初始化棋盤(11*11) ?3.打印棋盤(9*9) 4.布置雷? ?5.計算(x,y)周圍8個坐標的和? 6.排查雷? ?1清屏后打印棋盤 2遞歸展開 3標記雷 四、完整代碼 game.h:相關函數(shù)的聲明,整個代碼要引用

    2024年02月12日
    瀏覽(97)
  • 【C語言實現(xiàn)掃雷小游戲——可展開一片】

    【C語言實現(xiàn)掃雷小游戲——可展開一片】

    學習完了函數(shù)和數(shù)組,讓我們做個掃雷小游戲鞏固一下所學的知識把! 使用控制臺操作 通過菜單實現(xiàn)選擇 棋盤為9×9 默認隨機布置10個雷 排查雷 如果排查的位置不是雷,就顯示周圍有幾個雷 排查位置是雷,游戲結束,玩家失敗 把10個雷全部排除,游戲結束,玩家成功 掃雷

    2024年02月08日
    瀏覽(91)
  • C語言經(jīng)典小游戲之掃雷(超詳解釋+源碼)

    C語言經(jīng)典小游戲之掃雷(超詳解釋+源碼)

    “少年氣,是歷盡千帆舉重若輕的沉淀,也是樂觀淡然笑對生活的豁達!” 今天我們學習一下掃雷游戲怎么用C語言來實現(xiàn)! 一個掃雷盤面由許多方格(cell)組成,方格中隨機分布著一定數(shù)量的雷(mine),一個格子中至多只有1雷。勝利條件是打開所有安全格(非雷格,saf

    2024年02月12日
    瀏覽(96)
  • 帶你實現(xiàn)初階掃雷小游戲—【C語言】

    帶你實現(xiàn)初階掃雷小游戲—【C語言】

    ? 目錄 1. 掃雷游戲?qū)崿F(xiàn)的思路 注意點1? 注意點2? 2. 函數(shù)實現(xiàn)掃雷功能 2.1 初始化棋盤 2.2 顯示棋盤 2.3 設置雷 2.4 排查雷 2.5 返回附近雷的個數(shù) 3.源碼 3.1 game.h 3.2 game.c? 3.3 test.c 我們這里拿9*9的棋盤(其中包含10個雷)來實現(xiàn)(這里也可以自定義棋盤大小和雷的個數(shù) 》我們這

    2024年02月05日
    瀏覽(104)
  • C語言之掃雷小游戲的實現(xiàn)【含遞歸展開】

    C語言之掃雷小游戲的實現(xiàn)【含遞歸展開】

    掃雷游戲是1992年發(fā)行的一款大眾類益智游戲,對于許多80后、90后來說都是童年的回憶。如今三十年過去了,這款游戲依舊受到很多網(wǎng)友的喜愛,今天我們一起來模擬實現(xiàn)一下掃雷游戲。 本文所用的編譯器是VS2022 這里我們使用模塊化設計,模塊化設計就是把各個模塊的代碼分

    2024年02月02日
    瀏覽(92)
  • web小游戲開發(fā):掃雷(三)(完成度90%)

    書接前文啊,如果沒看過前兩篇的話,不好理解這里的定義了哦。 在之前兩篇文章,我們已經(jīng)把雷區(qū)布置好了,全部蓋上了格子,現(xiàn)在我們需要把雷布出來,這就需要用一個二維數(shù)組來存放雷區(qū)每個格子的狀態(tài),以及另一個存放地雷和數(shù)字描述的二維數(shù)組了,用兩個二維數(shù)組

    2023年04月18日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包