最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言代碼實(shí)現(xiàn)簡易掃雷

 更新時(shí)間:2021年01月19日 08:15:20   作者:幽沫沫  
這篇文章主要為大家詳細(xì)介紹了C語言代碼實(shí)現(xiàn)簡易掃雷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言代碼實(shí)現(xiàn)簡易掃雷的具體代碼,供大家參考,具體內(nèi)容如下

源.c代碼如下:

#define _CRT_SECURE_NO_WARNINGS

#include"Game.h"

void Game()
{
 //創(chuàng)建兩個(gè)雷區(qū),一個(gè)記錄雷,一個(gè)展示給玩家
 char mine[ROWS][COLS] = { 0 };
 char show[ROWS][COLS] = { 0 };
 //初始化兩個(gè)雷區(qū)
 Init_board(mine, ROWS, COLS, '0');
 Init_board(show, ROWS, COLS, '*');
 //打印雷區(qū)
 Prin_board(show, ROW, COL);
 //布置地雷
 PlaceMine(mine, ROWS, COLS);
 //開始掃雷
 FoundMine(mine, show, ROW, COL);
}
int main()
{
 srand((unsigned int)time(NULL));
 //打印菜單
 int input = 0;
 printf("**********************************\n");
 printf("******* 1.play   0.exit *******\n");
 printf("**********************************\n");
 do
 {
 printf("請(qǐng)選擇:\n");
 scanf("%d", &input);
 switch(input)
 {
 case 1:
  Game();
  printf("再來一局請(qǐng)輸入1,退出請(qǐng)按0\n");
  break;
 case 0:
  printf("退出游戲\n");
  break;
 default:
  printf("請(qǐng)輸入1或0:\n");
  break;
 }
 } while (input);
 return 0;
}

Game.h代碼如下:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

#define ROWS 11
#define COLS 11
#define ROW ROWS - 2 
#define COL COLS - 2
#define EASY 10

void Init_board(char board[ROWS][COLS], int rows, int cols, char set);
void Prin_board(char board[ROWS][COLS], int row, int col);
void PlaceMine(char board[ROWS][COLS], int row, int col);
void FoundMine(char board1[ROWS][COLS], char board2[ROWS][COLS], int row, int col);

Game.c代碼如下:

#define _CRT_SECURE_NO_WARNINGS

#include"Game.h"

int Sum(char board[ROWS][COLS], int x, int y)
{
 int tem = y;//備份y的值,方便循環(huán)中初始化y值
 //(x-1,y-1) (x-1,y) (x-1,y+1)
 //(x,y-1)  (x,y)  (x,y+1)
 //(x+1,y-1) (x+1,y) (x+1,y+1)
 int i = 0, j = 0;
 int sum = 0;
 for (i = 0; i < 3; i++, x++)
 {
 for (j = 0, y = tem; j < 3; j++, y++)
 {
  sum += board[x - 1][y - 1];
 }
 }
 sum = sum - 8 * (int)'0';
 return sum;
}
void Init_board(char board[ROWS][COLS], int rows, int cols, char set)
{
 int i = 0, j = 0;
 for (i = 0; i < rows; i++)
 {
 for (j = 0; j < cols; j++)
 {
  board[i][j] = set;
 }
 }
}
void Prin_board(char board[ROWS][COLS], int row, int col)
{
 int i = 0, j = 0;
 //打印列號(hào)
 for (i = 0; i < 10; i++)
 {
 printf("%d ", i);
 if (i == 0)
  printf(" ");
 }
 printf("\n\n");
 for (i = 1; i <= row; i++)
 {
 printf("%d  ", i);//打印行號(hào)
 for (j = 1; j <= col; j++)
 {
  printf("%c ", board[i][j]);
 }
 printf("\n");
 }
}
void PlaceMine(char board[ROWS][COLS], int row, int col)
{
 int count = 20;
 while (count)//控制地雷個(gè)數(shù)
 {
 int x = 0, y = 0;
 x = rand() % 9 + 1;
 y = rand() % 9 + 1;
 board[x][y] = '1';
 count--;
 }
}
void FoundMine(char board1[ROWS][COLS], char board2[ROWS][COLS], int row, int col)
{
 int x = 0, y = 0;
 //判斷輸入坐標(biāo)是否合法
 while (1)
 {
 printf("請(qǐng)輸入排雷的坐標(biāo):\n");
 scanf("%d%d", &x, &y);
 if (x >= 1 && x <= row && y >= 1 && y <= col)
 {
  if (board1[x][y] == '1')
  {
  printf("游戲結(jié)束,你踩雷了\n");
  break;
  }
  else
  {
  board2[x][y] = Sum(board1, x, y);
  Prin_board(board2, ROW, COL);
  }
 }
 else
  printf("坐標(biāo)非法\n");
 }
 if (board1[x][y] != '1')
 printf("恭喜你完成游戲!\n");
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解C++11 變參模板

    詳解C++11 變參模板

    這篇文章主要介紹了C++11 變參模板的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++11,感興趣的朋友可以了解下
    2020-08-08
  • 利用Matlab繪制有趣圖像的示例代碼

    利用Matlab繪制有趣圖像的示例代碼

    這篇文章主要為大家總結(jié)了一些利用Matlab繪制的有趣好看的圖像的示例代碼。文中的示例代碼簡潔易懂,感興趣的小伙伴可以動(dòng)手試一試
    2022-03-03
  • c++驗(yàn)證哥德巴赫猜想

    c++驗(yàn)證哥德巴赫猜想

    這篇文章主要介紹了c++驗(yàn)證哥德巴赫猜想,哥德巴赫猜想就是任一大于2的偶數(shù),都可表示成兩個(gè)素?cái)?shù)之和,需要的朋友可以參考下
    2014-04-04
  • 深入linux下遍歷目錄樹的方法總結(jié)分析

    深入linux下遍歷目錄樹的方法總結(jié)分析

    本篇文章是對(duì)linux下遍歷目錄樹的方法進(jìn)行了詳細(xì)的總結(jié)與分析,需要的朋友參考下
    2013-05-05
  • 基于C語言實(shí)現(xiàn)簡單的五子棋游戲

    基于C語言實(shí)現(xiàn)簡單的五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了基于C語言實(shí)現(xiàn)簡單的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • OpenCV實(shí)現(xiàn)馬賽克和毛玻璃濾鏡特效

    OpenCV實(shí)現(xiàn)馬賽克和毛玻璃濾鏡特效

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)馬賽克和毛玻璃濾鏡特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下方法
    2019-05-05
  • OpenCV利用霍夫變換進(jìn)行直線檢測(cè)

    OpenCV利用霍夫變換進(jìn)行直線檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了OpenCV利用霍夫變換進(jìn)行直線檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C語言中static的使用方法實(shí)例詳解

    C語言中static的使用方法實(shí)例詳解

    static一般用于修飾局部變量,全局變量,函數(shù),下面這篇文章主要給大家介紹了關(guān)于C語言中static用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • C語言實(shí)現(xiàn)貪吃蛇游戲(單人版)

    C語言實(shí)現(xiàn)貪吃蛇游戲(單人版)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)貪吃蛇游戲單人版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • wchar_t,char,string,wstring之間的相互轉(zhuǎn)換

    wchar_t,char,string,wstring之間的相互轉(zhuǎn)換

    以下是對(duì)wchar_t,char,string,wstring之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-09-09

最新評(píng)論

柘城县| 昭觉县| 玛曲县| 湟中县| 富阳市| 确山县| 通榆县| 理塘县| 余江县| 云霄县| 庆安县| 辰溪县| 大渡口区| 神池县| 洞口县| 铜鼓县| 张掖市| 平定县| 义乌市| 上犹县| 中宁县| 商城县| 南宁市| 徐汇区| 松潘县| 长海县| 章丘市| 湟源县| 锡林浩特市| 奉节县| 班玛县| 克拉玛依市| 工布江达县| 托克托县| 保定市| 广东省| 长海县| 洛川县| 忻州市| 蓝山县| 靖远县|