這篇文章將為大家詳細(xì)講解有關(guān)使用C語言怎么實(shí)現(xiàn)簡單掃雷游戲,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、成都品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)公司擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺設(shè)計(jì)專才。
test.c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include "game2.h"
void menu()
{
printf("********* welcome ********\n");
printf("**********1.play**********\n");
printf("**********0.exit**********\n");
}
enum Option
{
EXIT,
PLAY
};
void game()
{
int x = 0;
int y = 0;
int i = 0;
int win = 0;
char mine[ROWS + 2][COLS + 2] = { 0 };
char show[ROWS + 2][ROWS + 2] = { 0 };
init_board(mine, ROWS + 2, COLS + 2, '0');
init_board(show, ROWS + 2, COLS + 2, '*');
//display(mine, ROWS + 2, COLS + 2);#define _CRT_SECURE_NO_WARNINGS
//display(show, ROWS + 2, COLS + 2);
mine_set(mine, ROWS + 2, COLS + 2);
display(mine, ROWS + 2, COLS + 2);
while (win<ROWS*COLS - DEFAULT_COUNT)
{
for (i = 0; i <= win; i++)
{
printf("請(qǐng)輸入坐標(biāo):>");
scanf("%d%d", &x, &y);
//合法性判斷
if ((x>0) && (x <= ROWS) && (y > 0) && (y <= COLS))
{
if ((i == 0) && (mine[x][y] == '1'))
{
(mine[x][y] = '0') ;
}
if (mine[x][y] == '1')
{
printf("很遺憾,你被炸死了\n");
break;
}
else
{
int count = 0;
win++;
count = get_mine_num(mine, x, y);
show[x][y] = count + '0';
display(show, ROWS + 2, COLS + 2);
}
}
else
{
printf("輸入錯(cuò)誤請(qǐng)重新輸入\n");
}
}
if (win >= ROWS*COLS - DEFAULT_COUNT)
{
printf("恭喜你,掃雷成功\n");
}
}
}
int main()
{
int input = 0;
srand((uint_t)time(NULL));
do
{
menu();
printf("請(qǐng)選擇:>");
scanf("%d", &input);
switch (input)
{
case PLAY:
game();
break;
case EXIT:
break;
default:
printf("輸入錯(cuò)誤,請(qǐng)重新輸入\n");
break;
}
} while (input);
system("pause\n");
return 0;
}game.c
#define _CRT_SECURE_NO_WARNINGS 1
#include "game2.h"
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void init_board(char arr[ROWS + 2][COLS + 2], int row, int col,char ch)
{
memset(arr, ch, sizeof(char) * row * col);
}
void display(char arr[ROWS + 2][COLS + 2], int row, int col)
{
int i = 0;
int j = 0;
printf(" ");
for (i = 0; i < col - 2; i++)
{
printf("%d ", i + 1);
}
printf("\n");
for (i = 0; i < row - 2; i++)
{
printf("%2d ", i + 1);
for (j = 0; j < col - 2; j++)
{
printf("%c ", arr[i + 1][j + 1]);
}
printf("\n");
}
}
void mine_set(char arr[ROWS + 2][COLS + 2], int row, int col)
{
int x = 0;
int y = 0;
int count = DEFAULT_COUNT;
while (count)
{
x = rand() % 10 + 1;
y = rand() % 10 + 1;
if (arr[x][y] != '1')
{
arr[x][y] = '1';
count--;
}
}
}
int get_mine_num(char arr[ROWS + 2][COLS + 2], int x, int y)
{
return (arr[x][y - 1] - '0') +
(arr[x - 1][y - 1]-'0')- +
(arr[x - 1][y]-'0') +
(arr[x - 1][y + 1]-'0') +
(arr[x][y + 1]-'0') +
(arr[x + 1][y + 1]-'0') +
(arr[x + 1][y]-'0') +
(arr[x + 1][y - 1]-'0');//返回周圍雷的個(gè)數(shù)
}game.h
#ifndef __GAME_H__ #define __GAME_H__ #define ROWS 10 #define COLS 10 #define DEFAULT_COUNT 20 typedef unsigned int uint_t;//類型重命名 #include<string.h> #include<stdio.h> #include<time.h> #include<stdlib.h> void init_board(char arr[ROWS + 2][COLS + 2], int row, int col,char ch);//初始化 void display(char arr[ROWS + 2][COLS + 2], int row, int col); void mine_set(char arr[ROWS + 2][COLS + 2], int row, int col);//放雷 int get_mine_num(char arr[ROWS + 2][COLS + 2], int row, int col);//統(tǒng)計(jì)坐標(biāo)周圍雷的個(gè)數(shù) #endif //__GAME_H__

關(guān)于使用C語言怎么實(shí)現(xiàn)簡單掃雷游戲就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
當(dāng)前標(biāo)題:使用C語言怎么實(shí)現(xiàn)簡單掃雷游戲
文章地址:http://chinadenli.net/article10/gescdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站排名、Google、域名注冊(cè)、網(wǎng)站收錄、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)