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

C語言代碼實現(xiàn)簡單掃雷游戲

 更新時間:2021年02月07日 08:42:04   作者:菜菜是真菜  
這篇文章主要為大家詳細介紹了C語言代碼實現(xiàn)簡單掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

C語言實現(xiàn)掃雷游戲,供大家參考,具體內容如下

game1.h中的代碼如下:

里邊放置的是相關的函數(shù)聲明

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

#define ROWS ROW+2
#define COLS COL+2

#define EASY_COUNT 10

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 FindMine(char mine[ROWS][COLS],char show[ROWS][COLS],int row,int col);

saolei.c中的代碼如下:

這里主要是實現(xiàn)菜單的打印以及棋盤的打印

#define _CRT_SECURE_NO_WARNINGS 1
#include"game1.h"

void menu()
{
 printf("**************************\n");
 printf("******* 1.play *********\n");
 printf("******* 0.exit *********\n");
 printf("**************************\n");
}

void game1()
{
 //雷的信息存儲
 //布置好雷的信息
 char mine[ROWS][COLS]={0};
 //排查出雷的信息
 char show[ROWS][COLS]={0};
 //初始化
 InitBoard(mine,ROWS,COLS,'0');
 InitBoard(show,ROWS,COLS,'*');
 DisplayBoard(show,ROW,COL);
 //布置雷
 SetMine(mine,ROW,COL);
 //掃雷
 FindMine(mine,show,ROW,COL);
}

void saolei()
{
 int input=0;
 srand((unsigned int)time(NULL));
 do
 {
 menu();
 printf("請選擇:");
 scanf("%d",&input);
 switch(input)
 {
 case 1:
 game1();
 break;
 case 0:
 printf("退出游戲\n");
 break;
 default:
 printf("選擇錯誤,請重新選擇!\n");
 break;
 }
 }while(input);
}

int main()
{
 saolei();
 return 0;
}

game1.c中的代碼如下:

主要是玩家玩游戲排雷的整個游戲過程的相關函數(shù)操作。

#define _CRT_SECURE_NO_WARNINGS 1
#include"game1.h"
#include<stdio.h>

void InitBoard(char board[ROWS][COLS],int rows,int cols,char set)
{
 int i=0;
 int j=0;
 for(i=0;i<rows;i++)
 {
 for(j=0;j<cols;j++)
 {
 board[i][j]=set;
 }
 }
}

void DisplayBoard(char board[ROWS][COLS],int row,int col)
{
 int i=0;
 int j=0;
 for(i=0;i<=col;i++)
 {
 printf("%d ",i);
 }
 printf("\n");
 for(i=1;i<=row;i++)
 {
 printf("%d ",i);
 for(j=1;j<col;j++)
 {
 printf("%c ",board[i][j]);
 }
 printf("\n");
 }
}

void SetMine(char board[ROWS][COLS],int row,int col)
{
 int count=EASY_COUNT;
 while(count)
 {
 int x=rand()%row+1;
 int y=rand()%col+1;
 if(board[x][y]=='0')
 {
 board[x][y]='1';
 count--;
 }
 }
}

int get_mine_count(char mine[ROWS][COLS],int x,int y)
{
  return mine[x-1][y]+
 mine[x-1][y-1]+
 mine[x][y-1]+
 mine[x+1][y-1]+
 mine[x+1][y]+
 mine[x+1][y+1]+
 mine[x][y+1]+
 mine[x-1][y+1]-8*'0';
}

void FindMine(char mine[ROWS][COLS],char show[ROWS][COLS],int row,int col)
{
 int x=0;
 int y=0;
 int win=0;
 while(win<row*col-EASY_COUNT)
 {
 printf("請輸入排查雷的坐標:");
  scanf("%d%d",&x,&y);
 if(x>=1&&x<=row&&y>=1&&y<=col)
  {
 if(mine[x][y]=='1')
 {
 printf("很遺憾,你被炸死了\n");
 DisplayBoard(mine,row,col);
 break;
 }
 else
 {
 int count=get_mine_count(mine,x,y);
 show[x][y]=count+'0';
 DisplayBoard(show,row,col);
 win++;
 }
  }
 else
 {
  printf("輸入坐標非法,請重新輸入!");
  }
 }
 if(win==win<row*col-EASY_COUNT)
 {
 printf("恭喜你,排雷成功!\n");
 DisplayBoard(mine,row,col);
 }
}

代碼運行結果如圖所示:

相關文章

  • OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析

    OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析

    這篇文章主要介紹了OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析,需要的朋友可以參考下
    2015-01-01
  • C++實現(xiàn)大數(shù)相乘的算法

    C++實現(xiàn)大數(shù)相乘的算法

    這篇文章主要為大家詳細介紹了C++實現(xiàn)大數(shù)相乘的算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • VC++實現(xiàn)文件與應用程序關聯(lián)的方法(注冊表修改)

    VC++實現(xiàn)文件與應用程序關聯(lián)的方法(注冊表修改)

    這篇文章主要介紹了VC++實現(xiàn)文件與應用程序關聯(lián)的方法,涉及VC++針對注冊表的相關操作技巧,需要的朋友可以參考下
    2016-08-08
  • 華為筆試算法題匯總

    華為筆試算法題匯總

    這篇文章主要為大家匯總了華為筆試算法題,每一題都給出了詳細代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C語言中的函數(shù)指針基礎學習教程

    C語言中的函數(shù)指針基礎學習教程

    這篇文章主要介紹了C語言中的函數(shù)指針基礎學習教程,包括函數(shù)指針作為參數(shù)來傳遞等重要知識,需要的朋友可以參考下
    2016-04-04
  • C語言實現(xiàn)簡單通訊錄功能

    C語言實現(xiàn)簡單通訊錄功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單通訊錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C++簡單實現(xiàn)Dijkstra算法

    C++簡單實現(xiàn)Dijkstra算法

    這篇文章主要為大家詳細介紹了C++簡單實現(xiàn)Dijkstra算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C語言實現(xiàn)出棧序列

    C語言實現(xiàn)出棧序列

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)出棧序列,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • c語言如何實現(xiàn)DES加密解密

    c語言如何實現(xiàn)DES加密解密

    這篇文章主要介紹了c語言如何實現(xiàn)DES加密解密問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 關于C++靜態(tài)數(shù)據(jù)成員的實現(xiàn)講解

    關于C++靜態(tài)數(shù)據(jù)成員的實現(xiàn)講解

    今天小編就為大家分享一篇關于關于C++靜態(tài)數(shù)據(jù)成員的實現(xiàn)講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論

廉江市| 深水埗区| 于都县| 定州市| 类乌齐县| 沙洋县| 扶绥县| 灵台县| 镇赉县| 平顶山市| 东乡县| 屯留县| 襄樊市| 逊克县| 庐江县| 清河县| 宁化县| 刚察县| 石门县| 吉隆县| 长汀县| 江都市| 巴林右旗| 黄陵县| 台州市| 阳朔县| 临汾市| 凤庆县| 霍林郭勒市| 齐齐哈尔市| 宜昌市| 万山特区| 景泰县| 太仆寺旗| 永丰县| 洛浦县| 阿尔山市| 富宁县| 孟连| 行唐县| 景泰县|