游戏:扫雷【C语言】
1992年4月6日,扫雷搭载在Windows 3.1系统中与用户见面,主要目的是让用户训练使用鼠标。这个游戏的玩法很简单,有初级、中级、高级和自定义等模式,雷区中随机布置一定数量的地雷,玩家需要尽快找出所有不是地雷的方块,但不许踩到地雷。
text.c
#define _CRT_SECURE_NO_WARNINGS
#include "扫雷.h"
void menu()
{printf("************************\n");printf("******* 1 paly *******\n");printf("******* 0 exit *******\n");printf("************************\n");
}void Chushi(int One[Hang][Lie], int Two[Hanga][Liea])
{int i = 0;int j = 0;for (i = 0; i < Hang; i++){for (j = 0; j < Lie; j++){One[i][j] = '*';}}for (i = 0; i < Hanga; i++){for (j = 0; j < Liea; j++){Two[i][j] = 0;}}
}
void Zaolei(int Two[Hanga][Liea])
{srand((unsigned int)time(NULL));int i = 0;while(i < Leishu){int a = rand() % 9 + 1;int b = rand() % 9 + 1;if (Two[a][b] == 0){Two[a][b] = 1;i++;}}
}
void Zhanshi_1(int One[Hang][Lie])
{int i = 0;int j = 0;for (i = 0; i < 10; i++){printf("%d ", i);}printf("\n");for (i = 0; i < Hang; i++){printf("%d ", i + 1);for (j = 0; j < Lie; j++){printf("%c ", One[i][j]);}printf("\n");}
}
void Zhanshi_2(int Two[Hanga][Liea])
{int i = 0;int j = 0;for (i = 0; i < 10; i++){printf("%d ", i);}printf("\n");for (i = 1; i <= Hang; i++){printf("%d ", i );for (j = 1; j <= Lie; j++){printf("%d ", Two[i][j]);}printf("\n");}printf("\n");
}
void Zhao(int i, int j, int Two[Hanga][Liea], int One[Hang][Lie])//i ==> 1 ~ 9
{int shuzi = 0;if (Two[i - 1][j + 1] == 1)shuzi++;if (Two[i - 1][j] == 1)shuzi++;if (Two[i - 1][j - 1] == 1)shuzi++;if (Two[i][j + 1] == 1)shuzi++;if (Two[i][j - 1] == 1)shuzi++;if (Two[i + 1][j - 1] == 1)shuzi++;if (Two[i + 1][j] == 1)shuzi++;if (Two[i + 1][j + 1] == 1)shuzi++;One[i - 1][j - 1] = shuzi + 48;
}
int Xuan(int One[Hang][Lie],int Two[Hanga][Liea])
{int i = 0;int j = 0;while (1) {scanf("%d %d", &i, &j);if (One[i - 1][j - 1] != '*'){printf("\n该点已被选择 请重新输入\n");}elsebreak;}if (Two[i][j] == 0){Zhao(i, j, Two,One);return 1;}else if (Two[i][j] == 1){printf("\n您失败了\n");return 0;}
}
void game()
{int One[Hang][Lie];int Two[Hanga][Liea];Chushi(One, Two);//初始化Zaolei(Two);//造雷int a = 1;int win = 0;while (a) {Zhanshi_1(One);a = Xuan(One,Two);if(a == 1)win++;if (win == Hang*Lie-Leishu){printf("\nWin!!\n");break;}}
}
扫雷.h
#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Hang 9
#define Lie 9
#define Hanga 11
#define Liea 11
#define Leishu 10//10颗雷
void menu();
void Chushi(int One[Hang][Lie], int Two[Hanga][Liea]);
void Zaolei(int Two[Hanga][Liea]);
void Zhanshi_1(int One[Hang][Lie]);
void Zhanshi_2(int Two[Hanga][Liea]);
void Zhao(int i, int j, int Two[Hanga][Liea], int One[Hang][Lie]);//i ==> 1 ~ 9
int Xuan(int One[Hang][Lie], int Two[Hanga][Liea]);
void game();
扫雷.c
#define _CRT_SECURE_NO_WARNINGS
#include "扫雷.h"
int main()
{int input = 0;do{menu();scanf("%d", &input);switch (input){case 1:game();break;case 0:break;default:printf("\n输入错误 请重新输入\n");break;}} while (input);
}
游戏:扫雷【C语言】相关推荐
- 一步一步实现扫雷游戏(C语言实现)(三)
使用WIN32API连接窗口 此项目相关博文链接 一步一步实现扫雷游戏(C语言实现)(一) 一步一步实现扫雷游戏(C语言实现)(二) 一步一步实现扫雷游戏(C语言实现)(三) 一步一步实现扫雷游戏(C ...
- Windows经典小游戏--扫雷精装版
Windows经典小游戏–扫雷精装版 最开始玩的电脑游戏就是蜘蛛纸牌和扫雷了,那时候觉得很神奇的事情现在自己也可以做了.下面就展示一下C语言扫雷的代码. 首先创建一个"扫雷"的项目 ...
- c语言小游戏代码(c语言小游戏代码简单)
c语言编写小游戏请提供俄罗斯方块,坦克大战之类的小游戏的程序的c 应该是做出方块函数 然后以 这个方块 为单位 绘制 俄罗斯方块的 积木图形 ,在制作游戏界面的时候 也以方块长度为单位长度绘制 二维数 ...
- “扫雷”C语言实现(含炸开效果)
"扫雷"C语言实现(感染效果) game.h #include<stdio.h> #include<stdlib.h> #include<time.h ...
- python扫雷_自动扫雷 Python语言
本文主要向大家介绍了自动扫雷 Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟 ...
- 飞机游戏在C语言程序的基本语句能完成功能的体会
论飞机游戏在C语言程序的基本语句能完成功能的体会 一.题目: 射击类飞机游戏 二.目的: 通过c语言编写一个射击类的打飞机小游戏,可以通过键盘来进行游戏,操作方法是"a"&qu ...
- C语言习题:猜数字游戏(C语言随机数)
C语言习题:猜数字游戏(C语言随机数) 需要了解C语言随机数的生成方法: 在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同 ...
- 扫雷计算机教案,四年级上信息技术教案-游戏——扫雷辽师大版
<四年级上信息技术教案-游戏--扫雷辽师大版>由会员分享,可在线阅读,更多相关<四年级上信息技术教案-游戏--扫雷辽师大版(2页珍藏版)>请在人人文库网上搜索. 1.第六课游戏 ...
- java赛马游戏,用JAVA语言实现赛马游戏
用JAVA语言实现赛马游戏 用JAVA语言实现赛马游戏 在大二下半学期,学校举办了一场编程比赛.其中一个选题就是:用JAVA语言实现一个赛马游戏程序.此程序即为当时的参赛完成的程序. 程序界面风格在当 ...
- 游戏夜读 | 写游戏用什么语言?
写几句题记 这个标题如果用英文表达,可能更贴切,比如:Beginning game programming,What language should I use? 用简洁的中文似乎表达不出重点. 之所 ...
最新文章
- 基于感知损失的实时风格迁移与超分辨率重建
- 查看SQL Server Resource Database以及修改系统表
- 项目四-用循环求(1)
- #软件更新#Visual Studio更新到16.3.8
- asp.net core 拦击器制作的权限管理系统DEMO
- SpringBoot集成Elasticsearch实现博客高亮搜索
- Docker(四) Dockerfile 详解
- 算法第四版练习题答案
- html 之 img hspace 和 vspace 属性
- Python-字符串str和json格式的转换
- 2022年AI领域有哪些重要突破?(附报告全文)
- 使用webpack将ES6转化ES5, Browerify
- Texture tiling
- 2023年医院常用医疗设备维修培训计划
- Superset 数据分析平台搭建及使用 1
- MSTP:多生成树协议
- 四川内江现天眼猫 额头正中间长眼睛
- 【Shell】执行shell脚本进入指定目录
- 国内汽车融资租赁ABN市场破冰 首单总注册额度20亿元花落易鑫
- 【自学宝典】自动化课程 / 西门子、三菱、欧姆龙PLC电气设计与编程
热门文章
- 连接Oracle时报错ora-01034与ORA-27101
- 关于死锁你了解多少,通过“让APP随手机壳改变颜色,程序员和产品经理大家”这一事,了解下死锁可好?
- varbinary转换成字符串
- android4.2 小红盒,不插电也能用!网红爆款:天猫精灵妙物“小红盒”投影仪评测...
- 计算机网络这么多,开发怎么理解五层网络结构体系好?
- 淘宝要社交:改变买家购买方式 取消商品排名(转载)
- mysql清除表数据
- 爱普生墨仓式打印机故障检查,卡纸,清洗打印头,补充墨水详解(非常实用)
- 恬淡,禅意里开出的花
- 任意转换横竖屏,巧用画面裁切功能批量剪辑视频