91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用C語言如何編寫一個掃雷小游戲

發布時間:2021-02-07 18:32:25 來源:億速云 閱讀:147 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關利用C語言如何編寫一個掃雷小游戲,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

game1.h中的代碼如下:

里邊放置的是相關的函數聲明

#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中的代碼如下:

這里主要是實現菜單的打印以及棋盤的打印

#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中的代碼如下:

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

#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);
 }
}

以上就是利用C語言如何編寫一個掃雷小游戲,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田东县| 惠东县| 黔南| 崇明县| 屏东县| 鹤峰县| 扎鲁特旗| 洞口县| 灵石县| 昌乐县| 宜丰县| 五华县| 昌宁县| 基隆市| 手游| 吉安县| 东明县| 崇义县| 临海市| 肥西县| 车险| 同德县| 通山县| 昌邑市| 建瓯市| 托里县| 比如县| 灌云县| 伽师县| 松滋市| 阳原县| 咸丰县| 皋兰县| 青岛市| 普格县| 巩义市| 南丹县| 武山县| 务川| 高平市| 塔河县|