C语言扫雷小游戏

简介: 一个简易的c语言实现 扫雷游戏的代码

直接上代码

//文字介绍在后半部分前半部分为代码#include<stdio.h>voidmenu() {
printf("\n");
printf("*************************\n");
printf("*************************\n");
printf("********扫******雷*******\n");
printf("*************************\n");
printf("********1.开始游戏*******\n");
printf("*************************\n");
printf("********2.退出游戏*******\n");
printf("*************************\n");
printf("*************************\n");
}
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include "zhege.h" //自己做的函数头文件voidgame() {
chara[HANGS][LIES];
charb[HANGS][LIES];
//初始化棋盘Init(a, HANGS, LIES, '0');//0Init(b, HANGS, LIES, '*');//*//打印棋盘Display(b, HANG, LIE);
//布置雷Plant(a, HANG, LIE);
//检查雷check(a, b, HANG, LIE);
}
intmain() {
srand((unsignedint)time(NULL));
intn;
do    {
menu();
scanf("%d", &n);
system("cls");
switch (n)
        {
case1:
game(); break;
case2:
printf("游戏结束!\n感谢您的游玩\n"); break;
default:
printf("输出错误\n"); break;
        }
    } while (n!=2);
return0;
}
#pragma once#include<stdlib.h>#include<time.h>#define HANG 9#define LIE 9#define HANGS HANG+2#define LIES LIE+2#define difficulty 10voidInit(chararr[HANG][LIE], inthangs, intlies, charset);//加s因为不能一样voidDisplay(b, hang, lie);
voidmenu();
voidPlant(chararr[HANGS][LIES], inthang, intlie);
voidcheck(chara[HANG][LIE], charb[HANG][LIE], inthang, intlie);
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include "zhege.h"#include <Windows.h>voidInit(chararr[HANG][LIE],inthangs,intlies,charset) {//初始化棋盘inti,j;
for (i=0; i<hangs; i++) {
for (j=0; j<lies; j++) {
arr[i] [j] =set;
        }
    }
}
voidDisplay(chararr[HANG][LIE], inthang, intlie) {//打印棋盘inti, j;
printf("* * * * * * * * * * \n");
for(i=0;i<=hang;i++){
printf("%d ", i);
    }
printf("\n");
for (i=1; i<=hang; i++) {
printf("%d ", i);
for (j=1; j<=lie; j++) {
printf("%c ", arr[i][j]);
        }
printf("\n");
    }
printf("* * * * * * * * * * \n");
}
voidPlant(chararr[HANGS][LIES],inthang,intlie) {//布置雷intcount=difficulty;//雷总量while (count) {//设置雷坐标intx=rand() %hang+1;
inty=rand() %lie+1;
if (arr[x][y] =='0') {//判断是否已经有了雷arr[x][y] ='1';
count--;//减少一颗雷数量(因为放置了一颗)        }
    }
}
staticintget(charb[HANG][LIE],intx,inty) {//用来辅助展示周边雷的数字returnb[x-1][y] +b[x-1][y-1] +b[x-1][y+1] +b[x][y-1]  +b[x][y+1] +b[x+1][y-0] +b[x+1][y] +b[x+1][y+1] -8*'0';
}
voidcheck(chara[HANG][LIE], charb[HANG][LIE], inthang, intlie) {//排查雷intx=0;
inty=0;
intwin=0;
while (win<hang*lie-difficulty) {
printf("请输入要排查的坐标:\n");
scanf_s("%d %d", &x, &y);
system("cls");
if (x>=1&&x<=hang&&y>=1&&y<=lie) {
if (a[x][y] =='1') {
printf("你被炸死了"); Display(b, hang, lie); system("pause"); system("cls"); break;
            }
else {
intn=get(a, x, y);
b[x][y] =n+'0';
Display(b, HANG, LIE);//展示周围几个雷win++;
            }
        }
else        {
printf("非法坐标,重新输入");
        }
if (win==hang*lie-difficulty) {
printf("游戏胜利!!!");
Display(b, hang, lie);
        }
    }
}

创建一个工程 包含四个文件 其中三个.c文件 一个.h头文件

2.png

源.c----main函数在这里


zhege.h-----编写的头文件 内部包含函数的生命


menu.c ---- 打印菜单


game.c-----存放各种函数


大致思路——————


1.数组存放数据


2.数组存放%c类型 存放字符便于实现扫雷过程


3.需要两个数组 一个展示外观 一个更改内部数据存放雷


4.编写函数 初始化、展示、存放、查找


5.实现代码


6.调试环节


目录
相关文章
|
2天前
|
编译器 程序员 C语言
用C语言写一个扫雷小游戏
用C语言写一个扫雷小游戏
8 0
|
27天前
|
编译器 C语言
C语言之扫雷小游戏的实现【含递归展开】
C语言之扫雷小游戏的实现【含递归展开】
|
2月前
|
机器学习/深度学习 C语言
C语言实现扫雷小游戏
C语言实现扫雷小游戏
|
2月前
|
C语言
c语言第七弹--扫雷小游戏!
c语言第七弹--扫雷小游戏!
|
2月前
|
C语言
C语言实现扫雷小游戏
C语言实现扫雷小游戏
|
4月前
|
存储 数据可视化 安全
手把手超详细教学用c语言实现扫雷小游戏
手把手超详细教学用c语言实现扫雷小游戏
46 0
|
6月前
|
C语言
【C】C语言实现扫雷小游戏
相信大家一定都玩过扫雷小游戏,今天我就带大家来用C语言实现一个简易版的扫雷小游戏。
|
7月前
|
C语言
C语言:扫雷小游戏(空白展开和标记雷点)
C语言:扫雷小游戏(空白展开和标记雷点)
|
8月前
|
C语言
C语言——扫雷小游戏(递归展开版)
C语言——扫雷小游戏(递归展开版)
49 0
|
9月前
|
C语言
C语言扫雷小游戏实现
C语言扫雷小游戏实现
55 0

相关产品

  • 云迁移中心
  • 相关实验场景

    更多