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

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

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

本文實例為大家分享了C語言實現(xiàn)掃雷小游戲的具體代碼,供大家參考,具體內容如下

在vs2019創(chuàng)建新項目,然后添加兩個源文件test.c和game.c,接著創(chuàng)建一個頭文件game.h。

test.c:

#include "game.h"
 
void game()
{
 char mine[ROWS][COLS] = { 0 };
 char show[ROWS][COLS] = { 0 };
 
 InitBoard(mine, ROWS, COLS, '0');
 InitBoard(show, ROWS, COLS, '*');
 
 SetMine(mine, ROW, COL);
 
 //DispalyBoard(mine, ROW, COL);
 DispalyBoard(show, ROW, COL);
 
 FindMine(mine, show, ROW, COL);
}
 
void menu()
{
 printf("**************************\n");
 printf("******    1.play    ******\n");
 printf("******    0.exit    ******\n");
 printf("**************************\n");
}
 
int main()
{
 int input = 0;
 srand((unsigned int)time(NULL));
 do
 {
  menu();
  printf("請輸入:");
  scanf("%d", &input);
  switch (input)
  {
  case 1:
   game();
   break;
  case 0:
   printf("退出游戲\n");
   break;
  default:
   printf("輸入錯誤,請重新輸入\n");
   break;
  }
 } while (input);
 return 0;
}

game.c:

#include "game.h"
 
void InitBoard(char board[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++)
  {
   board[i][j] = set;
  }
 }
}
 
 
void DispalyBoard(char board[ROWS][COLS], int row, int col)
{
 int i = 0;
 for (i = 0; i <= 9; 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 ", board[i][j]);
  }
  printf("\n");
 }
}
 
 
void SetMine(char board[ROW][COL], int row, int col)
{
 int count = EASY_COUNT;
 while (count)
 {
  int x = rand() % row + 1;
  int y = rand() % col + 1;
  if (board[x][y] != '1')
  {
   board[x][y] = '1';
   count--;
  }
 }
}
 
 
int GetMineCount(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");
    DispalyBoard(mine, ROW, COL);
    break;
   }
   else
   {
    int count = GetMineCount(mine, x, y);
    show[x][y] = count + '0';
    DispalyBoard(show, ROW, COL);
    win++;
   }
  }
  else
  {
   printf("坐標非法,請重新輸入\n");
  }
 }
 if (win == row * col - EASY_COUNT)
 {
  printf("排雷成功\n");
 }
}

game.h:

#pragma once
 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ROW 9
#define COL 9
 
#define EASY_COUNT 10
#define ROWS ROW+2
#define COLS COL+2
void InitBoard(char board[ROWS][COLS], int rows, int cols, char set);
void DispalyBoard(char board[ROWS][COLS], int row, int col);
void SetMine(char board[ROWS][COLS], int row, int col);
void FindMine(char mine[ROW][COL], char show[ROW][COL], int row, int col);

運行效果如圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 深入聊聊C語言中的Const關鍵字

    深入聊聊C語言中的Const關鍵字

    關鍵字const用來定義只讀變量,被const定義的變量它的值是不允許改變的,即不允許給它重新賦值,即使是賦相同的值也不可以,下面這篇文章主要給大家介紹了關于C語言中Const關鍵字的相關資料,需要的朋友可以參考下
    2022-02-02
  • C++中memset函數(shù)用法詳解

    C++中memset函數(shù)用法詳解

    這篇文章主要介紹了C++中memset函數(shù)用法,結合實例形式詳細分析了memset函數(shù)的功能、使用方法與相關注意事項,需要的朋友可以參考下
    2016-06-06
  • C++實現(xiàn)隨機生成迷宮地牢

    C++實現(xiàn)隨機生成迷宮地牢

    這篇文章主要介紹了C++實現(xiàn)隨機生成迷宮地牢的相關資料及代碼分享,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • C語言詳細講解位運算符的使用

    C語言詳細講解位運算符的使用

    C語?既具有?級語?的特點,?具有低級語?的特性,如?持位運算就是其具體體現(xiàn)。這是因為,C語?最初是為取代匯編語?設計系統(tǒng)軟件?設計的,因此C語?必須?持位運算等匯編操作。位運算就是對字節(jié)或字內的?進制數(shù)位進?測試、抽取、設置或移位等操作
    2022-04-04
  • c++模板自定義數(shù)組

    c++模板自定義數(shù)組

    這篇文章主要介紹了c++模板自定義數(shù)組,通過制造通用模板,創(chuàng)建自定義的數(shù)組展開文章相關內容,具有一的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • C語言 數(shù)組中重復的數(shù)字分析及方法

    C語言 數(shù)組中重復的數(shù)字分析及方法

    這篇文章主要介紹了C語言 數(shù)組中重復的數(shù)字分析及方法的相關資料,需要的朋友可以參考下
    2017-03-03
  • 基于C語言實現(xiàn)五子棋游戲

    基于C語言實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • VC中SDK與MFC的區(qū)別淺析

    VC中SDK與MFC的區(qū)別淺析

    這篇文章主要介紹了VC中SDK與MFC的區(qū)別淺析,需要的朋友可以參考下
    2014-07-07
  • C語言類的雙向鏈表詳解

    C語言類的雙向鏈表詳解

    大家好,本篇文章主要講的是C語言類的雙向鏈表詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Dashboard Interface 應用實現(xiàn)操作

    Dashboard Interface 應用實現(xiàn)操作

    Dashboard Server Remote Control Interface是一個關鍵的功能,它為用戶提供了通過TCP/IP協(xié)議遠程控制機器人的能力,執(zhí)行包括開關機、加載程序、檢查機器人狀態(tài)以及設置機器人操作模式等多種操作,本文介紹Dashboard Interface 應用操作,感興趣的朋友跟隨小編一起看看吧
    2024-08-08

最新評論

襄汾县| 荣成市| 蒲城县| 马边| 绥化市| 营山县| 红桥区| 洪洞县| 平罗县| 武穴市| 本溪市| 墨竹工卡县| 肃宁县| 古浪县| 安顺市| 朝阳区| 乐安县| 神木县| 汕头市| 平江县| 阿克苏市| 和田市| 鄄城县| 治多县| 上蔡县| 定西市| 渭南市| 和硕县| 连云港市| 门头沟区| 民县| 和顺县| 兴安县| 灵石县| 富川| 偃师市| 汝城县| 渭南市| 博罗县| 宣威市| 含山县|