返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎么使用C语言数组实现扫雷游戏
  • 624
分享到

怎么使用C语言数组实现扫雷游戏

2023-07-02 00:07:18 624人浏览 八月长安
摘要

本篇内容主要讲解“怎么使用C语言数组实现扫雷游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用C语言数组实现扫雷游戏”吧!游戏界面展示:一开始菜单界面:选择 0 退出程序:选择 1 开始

本篇内容主要讲解“怎么使用C语言数组实现扫雷游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用C语言数组实现扫雷游戏”吧!

游戏界面展示:

一开始菜单界面:

怎么使用C语言数组实现扫雷游戏

选择 0 退出程序:

怎么使用C语言数组实现扫雷游戏

选择 1 开始游戏:

怎么使用C语言数组实现扫雷游戏

输入要排查雷的坐标:

会根据周围雷的个数,该坐标显示数字。

如果周围没有雷,输入的坐标显示 0

怎么使用C语言数组实现扫雷游戏

有雷,则显示周围雷的个数

怎么使用C语言数组实现扫雷游戏

如果输入坐标位置有雷,则被炸死游戏结束~

怎么使用C语言数组实现扫雷游戏

代码展示:

一共分三个文件。测试文件 test.c 。头文件game.h 。游戏功能文件game.c 。

test.c

#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"//优化//1.如果不是雷,周围没有雷 -展开一片 -递归//2.标记雷的位置void menu() {    printf("*************************\n");    printf("******  1. play   *******\n");    printf("******  0. exit   *******\n");    printf("*************************\n");}void game() {    //为了方便后续排查雷,设计大一圈的数组来存放。    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);    //排查雷,查看布置雷的数组mine,展示给用户看的数组show    FindMine(mine, show, ROW, COL);}int main() {    int input = 0;    //设置随机数的时间戳    //返回值类型是longlong,需要强转    srand((unsigned)time(NULL));    do {        //选择菜单        menu();        printf("请选择:>");        scanf("%d", &input);        switch (input) {        case 1:            //游戏功能            game();            break;        case 0:            printf("退出游戏~\n");            break;        default:            printf("输入错误,请重新输入~\n");            break;        }        //输入0游戏结束,同时退出循环    } while (input);    return 0;}

game.h

//#pragma once#include <stdio.h>#include <stdlib.h>#include <time.h>//雷的个数,棋盘大小快捷设置#define EASY_COUNT 10 //简单模式的雷#define ROW 9#define COL 9#define ROWS ROW+2 //mine数组设置大一圈,方便系统排查雷#define COLS COL+2//函数声明//初始化棋盘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 mine[ROWS][COLS], int row, int col);//排查雷void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);

game.c

#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"//初始化棋盘,直接使用嵌套for循环赋值。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;        }    }}//打印棋盘到屏幕上//嵌套for打印即可void DisplayBoard(char board[ROWS][COLS], int row, int col) {    int i = 0;    int j = 0;    printf("------------扫雷游戏------------\n");        //打印第一行的坐标号    //printf("%d ", 0);    for (i = 0; i <= col; i++) {        printf("%d ", i);    }    printf("\n");    //格式好看点    printf("  ");    for (i = 1; i <= col; i++) {        printf("--");    }    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 mine[ROWS][COLS], int row, int col) {     //布置10个雷    int count = EASY_COUNT;    while (count) {        //生成随机的下标[1,9]        int x = rand() % row + 1;        int y = rand() % col + 1;        //如果没有雷,就放置雷。        if (mine[x][y] == '0') {            mine[x][y] = '1';            count--; //放置一个减一        }    }}//计算周围雷的个数//八个坐标,有雷的位置是1,比0大。//八个位置都加起来,减八个0,就知道有几个1.//static修饰的函数,只能在本文件中使用static int get_mine_count(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 FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {    //1.输入排查的坐标    //2.检查坐标处是不是雷        //1)是雷 -游戏结束        //2)不是雷 -统计坐标周围有几个雷 -游戏继续    int x = 0;    int y = 0;    int win = 0;    //排雷一次,win++,直到全部雷别排掉。    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 {                //不是雷,统计x,y坐标周围有几个雷                int count = get_mine_count(mine, x, y);                //计算周围有几个雷,将数值赋值给show数组,然后输出。                show[x][y] = count + '0';                //显示排查出的信息                DisplayBoard(show, row, col);                win++;            }        }        else {            printf("您输入的坐标不合法,请重新输入\n");        }    }    if (win == row * col - EASY_COUNT) {        DisplayBoard(mine, row, col);                printf("恭喜你排雷成功!\n");    }}

到此,相信大家对“怎么使用C语言数组实现扫雷游戏”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么使用C语言数组实现扫雷游戏

本文链接: https://lsjlt.com/news/338635.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用C语言数组实现扫雷游戏
    本篇内容主要讲解“怎么使用C语言数组实现扫雷游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用C语言数组实现扫雷游戏”吧!游戏界面展示:一开始菜单界面:选择 0 退出程序:选择 1 开始...
    99+
    2023-07-02
  • C语言数组实现扫雷游戏
    本文实例为大家分享了C语言数组实现扫雷游戏的具体代码,供大家参考,具体内容如下 游戏界面展示: 一开始菜单界面: 选择 0 退出程序: 选择 1 开始游戏: 输入要排查雷的坐标...
    99+
    2024-04-02
  • C语言数组怎么实现扫雷游戏
    本篇内容主要讲解“C语言数组怎么实现扫雷游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言数组怎么实现扫雷游戏”吧!1、扫雷是什么?百度百科:《扫雷》是一款大众类的益智小游戏,于1992年...
    99+
    2023-06-30
  • C语言数组应用实现扫雷游戏
    本文实例为大家分享了C语言数组应用实现扫雷游戏的具体代码,供大家参考,具体内容如下 扫雷游戏(10×10的面板): 1.定义两个12×12的字符型数组;2.s...
    99+
    2024-04-02
  • 使用C语言实现扫雷游戏
    目录一、游戏介绍二、实现模块三、实现原理四、实现逻辑五、全部代码六、运行结果本文实例为大家分享了C语言实现扫雷游戏的具体代码,供大家参考,具体内容如下 一、游戏介绍 扫雷游戏是在一个...
    99+
    2022-11-13
    C语言 扫雷
  • 用C语言实现扫雷游戏
    用C语言实现扫雷游戏,因为代码会比较多,所以采用多文件的方式,使代码看起来更好。 一.main.c 在主调函数中首先要提供一个给用户选择的界面,在这里我们假定选择1为开始游戏,0为退...
    99+
    2024-04-02
  • 使用C语言实现扫雷小游戏
    本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 游戏规则 在一个9*9的地图上一共有十个雷,翻开所有不是雷的位置 游戏即为胜利, 如果踩到雷,游戏结束 ...
    99+
    2024-04-02
  • C语言二维数组怎么应用实现扫雷游戏
    本篇内容介绍了“C语言二维数组怎么应用实现扫雷游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!游戏简介:电脑随机设置10个雷,用户输入坐标...
    99+
    2023-07-02
  • C语言二维数组应用实现扫雷游戏
    本文实例为大家分享了C语言二维数组应用实现扫雷游戏的具体代码,供大家参考,具体内容如下 游戏简介: 电脑随机设置10个雷,用户输入坐标,若坐标下是雷则结束游戏,不是则该位置显示周围的...
    99+
    2024-04-02
  • C语言二维数组运用实现扫雷游戏
    作为80后、90后的老年人,想必对扫雷游戏都不陌生。扫雷,是微软在win8版本之前系统自带的一款游戏——现在已经被下架了,童年的回忆,很难受。游戏操作很简单,...
    99+
    2024-04-02
  • 怎么用C语言实现扫雷小游戏
    这篇文章主要讲解了“怎么用C语言实现扫雷小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C语言实现扫雷小游戏”吧!具体内容如下经典扫雷游戏规则:当玩家点击游戏区域,该处周围的八个位...
    99+
    2023-06-25
  • C语言怎样实现扫雷游戏
    这篇文章主要介绍了C语言怎样实现扫雷游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。概述扫雷是一款大众类的益智小游戏。游戏目标是根据点击格子出现的数字找出所有非雷格子,同时...
    99+
    2023-06-15
  • C语言怎么实现扫雷小游戏
    本篇内容介绍了“C语言怎么实现扫雷小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供...
    99+
    2023-06-20
  • C语言版扫雷游戏怎么实现
    这篇文章主要介绍C语言版扫雷游戏怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用c语言做一个扫雷功能的简单实现,首先创建一个test.c来用于在写代码的途中测试扫雷代码,game.h来存放实现扫雷函数需要用到...
    99+
    2023-06-25
  • 用C语言实现扫雷小游戏
    本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 1. 规则 随便点一个格子,会有一块,上面的数字就代表数字周围八个格子会有几个雷,是1他周围就只有1个雷...
    99+
    2024-04-02
  • 利用C语言实现扫雷游戏
    通过一段时间的C语言学习,想必小伙伴们也想跃跃欲试的编写一些小程序,这个扫雷简易游戏,非常适合C语言初学者去实践。 实现扫雷,首先要有两个棋盘,一个棋盘放置着雷的信息,另个用于展示到...
    99+
    2024-04-02
  • 怎么使用C语言递归实现扫雷游戏
    这篇文章主要介绍“怎么使用C语言递归实现扫雷游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用C语言递归实现扫雷游戏”文章能帮助大家解决问题。游戏设计规则:菜单  两个棋...
    99+
    2023-07-02
  • 怎么用C语言实现扫雷经典游戏
    本篇内容介绍了“怎么用C语言实现扫雷经典游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C语言实现扫雷游戏,供大家参考,具体内容如下实现扫...
    99+
    2023-06-20
  • 怎么用C语言实现简单扫雷游戏
    本篇内容介绍了“怎么用C语言实现简单扫雷游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.主函数的构建int main(){&...
    99+
    2023-06-25
  • C语言编程怎么实现扫雷游戏
    这篇文章主要讲解了“C语言编程怎么实现扫雷游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言编程怎么实现扫雷游戏”吧!在我们熟知的扫雷中,我们点击小方块,小方块要么出现数字,要么遇到地...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作