时间:2021-05-19
本文实例为大家分享了C语言实现扫雷游戏的具体代码,供大家参考,具体内容如下
扫雷(第一次多文件应用)
扫雷的思路
game.h
#ifndef _GAME_H_#define _GAME_H_#include<stdio.h>#include <time.h>#include<string.h>#include<windows.h>#pragma warning(disable:4996)#define ROW 12#define COL 12//定义20个雷#define NUMS 20void Menu();void Game();#endifmain.c
#include "game.h"int main(){ int quit = 0; int select = 0; while (!quit){ Menu(); scanf("%d", &select); switch (select){ case 1: Game(); break; case 2: quit = 1; break; default: printf("请重新输入"); break; } } system("pause"); return 0;}game.c
#include "game.h"void Menu(){ printf("##########################\n"); printf("## 1. Play 2. Exit ##\n"); printf("##########################\n"); printf("请输入# ");}//设置20个随机雷void SetMines(char mine_board[][COL], int row, int col){ int count = NUMS; while (count){ int x = rand() % 10 + 1; int y = rand() % 10 + 1; if (mine_board[x][y] == '0'){ mine_board[x][y] = '1'; count--; } }}//判断周围有几个雷int GetMines(char mine[][COL], int row, int col, 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';}//设置界面的下划线static void ShowLine(int nums){ printf("---"); for (int i = 0; i < nums; i++){ printf("-"); } printf("\n");}//一个显示界面,传入界面数组显示扫雷界面,传入布雷数组显示雷区界面void ShowBoard(char show_board[][COL], int row, int col){ printf(" "); for (int i = 1; i < row - 1; i++){ printf(" %d ", i); } printf("\n"); ShowLine(2 * col + col + 4); for (int i = 1; i < row - 1; i++){ printf("%2d|", i); for (int j = 1; j < col - 1; j++){ printf(" %c |", show_board[i][j]); } printf("\n"); ShowLine(2 * col + col + 4); }}void Game(){ char show_board[ROW][COL]; char mine_board[ROW][COL]; memset(show_board, '*', sizeof(show_board)); memset(mine_board, '0', sizeof(mine_board)); srand((unsigned long)time(NULL)); SetMines(mine_board, ROW, COL); int count = (ROW - 2)*(COL - 2) - NUMS; int x = 0; int y = 0; do{ ShowBoard(show_board, ROW, COL); printf("请输入位置# "); scanf("%d %d", &x, &y); if (x < 1 || x > 10 || y < 1 || y >10){ printf("输入越界,请重新输入!\n"); continue; } if (show_board[x][y] != '*'){ printf("该位置已经被排除,请重新输入!\n"); continue; } if (mine_board[x][y] == '1'){ break; } int num = GetMines(mine_board, ROW, COL, x, y); show_board[x][y] = num + '0'; count--; system("cls"); } while (count > 0); //count>0说明坐标是雷,break提前退出了 if (count > 0){ printf("你被炸死了!\n"); } else{ printf("你赢了!\n"); } printf("下面是雷区的排布!\n"); ShowBoard(mine_board, ROW, COL);}更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏 玩不停
java经典小游戏汇总
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了C语言扫雷游戏的具体代码,供大家参考,具体内容如下扫雷游戏的实现1.game.h模块代码实现如下:#define_CRT_SECURE_NO
本文实例为大家分享了C语言实现扫雷游戏的具体代码,供大家参考,具体内容如下功能设计扫雷大家应该都玩过,这是一个十分经典的游戏,今天我将给大家讲解如何用C语言实现
本文实例为大家分享了C语言实现简单扫雷游戏的具体代码,供大家参考,具体内容如下前言扫雷游戏规则:1、踩过所有非雷格子即扫雷成功,踩到雷即游戏结束。2、点击方格,
本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下主页面:游戏页面:虽然页面比较low,但我已经尽力了具体代码实现:#include#
本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下说明:该游戏的实现需要建立三个文件test2.c:整个游戏,开始游戏/退出游戏的大体