c语言小游戏扫雷

简介: c语言小游戏扫雷

c语言小游戏扫雷

头文件

#pragma once
#define ROW 9
#define COL 9
#define ROWS ROW+2
#define COLS COL+2
#define easy_count 10
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void start__board(char board[ROWS][COLS], int rows, int cols, char rew);
void start__qipan(char board[ROWS][COLS], int row, int col);
void start__mine(char mine[ROWS][COLS], int row, int col);
void find__mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);

实现个个小功能的源文件

#include"game.h"
void start__board(char board[ROWS][COLS], int rows, int cols, char rew)
{
  int i = 0;
  int j = 0;
  for (int i = 0; i <= rows; i++)
  {
    for (int j = 0; j <= cols; j++)
    {
      board[i][j] = rew;
    }
  }
}
void start__qipan(char board[ROWS][COLS], int row, int col)
{
  int i = 0;
  int j = 0;
  for (int i = 0; i <= row; i++)
  {
    printf("%d ", i);
  }
  printf("\n");
  for (int i = 1; i <= row; i++)
  {
    printf("%d ", i);
    for (int j = 1; j <= col; j++)
    {
      printf("%c ", board[i][j]);
    }
    printf("\n");
  }
  printf("\n");
}
void start__mine(char mine[ROWS][COLS], int row, int col)
{
  int count = 10;
  while (count)
  {
    int x = rand() % row + 1;
    int y = rand() % col + 1;
    if (mine[x][y] == '0')
    {
      mine[x][y] = '1';
      count--;
    }
  }
}
int count__mine(char mine[ROWS][COLS], int x, int y)
{
  return (mine[x - 1][y - 1] +
    mine[x - 1][y] +
    mine[x - 1][y + 1] +
    mine[x][y - 1] +
    mine[x][y + 1] +
    mine[x + 1][y - 1] +
    mine[x + 1][y] +
    mine[x + 1][y + 1] - 8 * '0');
}
void find__mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{
  int sum = 0;
  int x, y;
  int win = 0;
  while (win < row * col - easy_count)
  {
    printf("请输入要排雷的坐标:->");
    scanf_s("%d %d", &x, &y);
    if (x >= 1 && x <= row && y >= 1 && y <= col)
    {
      if (show[x][y] == '*')
      {
        if (mine[x][y] == '1')
        {
          printf("很遗憾,你被炸死了\n");
          start__qipan(mine, ROW, COL);
          break;
        }
        else
        {
          int sum = count__mine(mine, x, y);
          show[x][y] = sum + '0';
          start__qipan(show, ROW, COL);
          win++;
        }
      }
      else
      {
        printf("改坐标已经被排查过了");
      }
    }
    else
    {
      printf("坐标非法,请重新输入");
    }
    if (win = row * col - easy_count)
    {
      printf("恭喜你排雷成功\n");
      start__qipan(mine, ROW, COL);
    }
  }
}

主函数文件

#include"game.h"
void menu()
{
  printf("***************************\n");
  printf("*********  1.play  ********\n");
  printf("*********  0.exit  ********\n");
  printf("***************************\n");
}
void game()
{
  char mine[ROWS][COLS];
  char show[ROWS][COLS];
  start__board(mine,ROWS,COLS,'0');
  start__board(show, ROW, COL, '*');
  //start__qipan(mine, ROW, COL);
  //start__qipan(show, ROW, COL);
  start__mine(mine, ROW, COL);
  start__qipan(show, ROW, COL);
  find__mine(mine, show, ROW, COL);
}
int main()
{
  srand((unsigned int)time(NULL));
  int m;
  do
  {
    menu();
    printf("请选择:->\n");
    scanf_s("%d", &m);
    switch (m)
    {
    case 1:
      game();
      break;
    case 0:
      printf("退出游戏\n");
      break;
    default:
      printf("选择错误,请重新选择:\n");
      break;
    }
  } while (m);
  return 0;
}


相关文章
|
1月前
|
C语言
扫雷游戏(用C语言实现)
扫雷游戏(用C语言实现)
76 0
|
1月前
|
C语言 C++
【C语言】编写“猜数字“小游戏
【C语言】编写“猜数字“小游戏
|
2月前
|
定位技术 API C语言
C语言——实现贪吃蛇小游戏
本文介绍了一个基于Windows控制台的贪吃蛇游戏的实现方法。首先,需调整控制台界面以便更好地显示游戏。接着,文章详细描述了如何使用Win32 API函数如`COORD`、`GetStdHandle`、`GetConsoleCursorInfo`等来控制控制台的光标和窗口属性。此外,还介绍了如何利用`GetAsyncKeyState`函数实现键盘监听功能。文中还涉及了`&lt;locale.h&gt;`库的使用,以支持本地化字符显示。
56 1
C语言——实现贪吃蛇小游戏
|
2月前
|
存储 安全 算法
C 语言——实现扫雷小游戏
本文介绍了使用二维数组创建棋盘并实现扫雷游戏的方法。首先,通过初始化数组创建一个9x9的棋盘,并添加行列标识以便操作。接着,利用随机数在棋盘上布置雷。最后,通过判断玩家输入的坐标来实现扫雷功能,包括显示雷的数量和处理游戏胜利或失败的情况。文中提供了完整的代码实现。
43 1
C 语言——实现扫雷小游戏
|
1月前
|
C语言 定位技术 API
【C语言】实践:贪吃蛇小游戏(附源码)(二)
【C语言】实践:贪吃蛇小游戏(附源码)
【C语言】实践:贪吃蛇小游戏(附源码)(二)
|
1月前
|
C语言 开发者
C语言实现猜数字小游戏(详细教程)
C语言实现猜数字小游戏(详细教程)
|
1月前
|
存储 算法 安全
C语言实现扫雷游戏
C语言实现扫雷游戏
|
1月前
|
C语言
初学者指南:使用C语言实现简易版扫雷游戏
初学者指南:使用C语言实现简易版扫雷游戏
33 0
|
1月前
|
C语言
C语言扫雷游戏(详解)
C语言扫雷游戏(详解)
36 0
|
1月前
|
C语言
【C语言】实践:贪吃蛇小游戏(附源码)(三)
【C语言】实践:贪吃蛇小游戏(附源码)