扫雷:
写之前我们定下的思路大概如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include<Windows.h>
#define max_hang 9
#define max_lie 9
int hang = 0;
int lie = 0;
void print(char map[max_hang][max_lie]) {printf("0 1 2 3 4 5 6 7 8\n");printf("_________________\n");for (int i = 0; i < max_hang; i++) {for (int j = 0; j < max_lie; j++) {printf("%c ", map[i][j]);}printf("|%d\n", i);}
}
void mailei(char minemap[max_hang][max_lie]) {for (int count = 0; count < 10; ) {int hang = rand() % 9;int lie = rand() % 9;if (minemap[hang][lie] != 1) {minemap[hang][lie] = '1';++count;}}
}
int choice(char showmap[max_hang][max_lie], char minemap[max_hang][max_lie], int hang, int lie) {int count = 0;if (minemap[hang][lie] == '1') {return -1;}for (int h = hang - 1; h < hang + 2; h++) {for (int l = lie - 1; l < lie + 2; l++) {if (h < 0 || h > max_hang || l < 0 || l > max_lie) {continue;}if (h == hang && l == lie) {continue;}if (minemap[h][l] == '1') {++count;}}}showmap[hang][lie] = '0' + count;//单纯写=count会使ASCII=n的那个字符赋给showmapreturn count;
}
void play(char showmap[max_hang][max_lie], char minemap[max_hang][max_lie], int y1, int x1) {//此函数参考csdn用户 应用递归展开周围没有雷的区域int ret;ret = choice(showmap, minemap, y1, x1);if (ret == -1) {return;}if (ret == 0) {showmap[y1][x1] = '0';if (y1 - 1 >= 0 && y1 - 1 < max_hang && x1 >= 0 && x1 < max_lie && (showmap[y1 - 1][x1] == '*'))play(showmap, minemap, y1 - 1, x1);if (y1 >= 0 && y1 < max_hang && x1 - 1 >= 0 && x1 - 1 < max_lie && (showmap[y1][x1 - 1] == '*'))play(showmap, minemap, y1, x1 - 1);if (y1 >= 0 && y1 < max_hang && x1 + 1 >= 0 && x1 + 1 < max_lie && (showmap[y1][x1 + 1] == '*'))play(showmap, minemap, y1, x1 + 1);if (y1 + 1 >= 0 && y1 + 1 < max_hang && x1 >= 0 && x1 < max_lie && (showmap[y1 + 1][x1] == '*'))play(showmap, minemap, y1 + 1, x1);}
}
int main() {srand((unsigned int)time(0));char showmap[max_hang][max_lie] = { 0 };char minemap[max_hang][max_lie] = { 0 };memset(showmap, '*', 81);//showmap全初始化为*.memset(minemap, '0', 81);mailei(minemap);while (1) {int count = 0;system("cls");print(showmap);printf("\n");print(minemap);printf("请输入您要翻开的位置\n");scanf("%d %d", &hang, &lie);if (hang < 0 || lie < 0 || hang>8 || lie>8) {printf("您输入的位置不存在,请3秒后重新输入\n");Sleep(3000);continue;}if (showmap[hang][lie] != '*') {printf("您输入的位置已经翻开,请3秒后重新输入\n");Sleep(3000);continue;}play(showmap, minemap, hang, lie);for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++) {if (showmap[i][j] != '*') {count = count + 1;}}}if (count == 71) {system("cls");printf("恭喜您已找出全部地雷,游戏结束\n");print(showmap);printf("\n");print(minemap);Sleep(3000);break;}if (minemap[hang][lie] == '1') {printf("您踩雷了,游戏结束\n");break;}}return 0;
}

自动关机恶搞:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>​
int main(){char a[] = {0};char b[] = {0};system("shutdown -s -t 30");while (1){printf("您的电脑将在30秒后关机,请输入:我是猪 终止关机\n");scanf("%s", b);if (strcmp(a,b)==0){system("shutdown -a");break;}}return 0;
}

不要随便发给别人让别人运行哦(不过应该也没人那么笨吧),特别是心爱的那个女孩,不要问我为什么…因为…哎不对,我也没女朋友了…

含自动展开的扫雷,恶搞关机小游戏相关推荐

  1. 【C语言】关机小游戏(最好的朋友转瞬即逝)

    关机会写吧! #include <stdlib.h> #include <string.h> #include <stdio.h> int main() {char ...

  2. 2020-12-16实现键盘控制,自动追击的猫抓老鼠小游戏

    键盘控制猫逃跑,需要配两个外部gif图片 QQ群交流936796850 import turtle import time import randomtom=turtle.Turtle() def u ...

  3. c语言扫雷游戏计时功能_C语言实现扫雷游戏(可以自动展开)

    前言 本篇博客主要介绍如何使用C语言实现扫雷游戏. 一.游戏规则 在一张ROW行COL列的地图上存在MINE_COUNT个地雷.玩家输入坐标翻开格子,若没有踩雷,则计算此格子周围8个格子的地雷总数,并 ...

  4. 【java游戏开发】教你用java做出扫雷小游戏

    扫雷是一款大众类的益智小游戏.根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输. 本课程详细讲解一个扫雷游戏的开发过程.只要90分钟就可以完成一个你自己亲手开发出来的Java ...

  5. html5小游戏源码-扫雷

    <!doctype html> <html> <head> <meta name="author" content="苏道涵&q ...

  6. C语言初阶——扫雷小游戏

    扫雷这款小游戏想必大家都接触到过,但是用C语言写的扫雷你见过吗?其实,学完之前我写的那几篇文章,我们完全可以自己写出来.仅仅200多行代码,我们就可以写出我们自己的扫雷小游戏!赶紧来看看吧!!! 文章 ...

  7. 2个月就上线的微信小游戏,是如何诞生的?| TAPD经验谈

    导读 无论是男女老少都在玩的"跳一跳",还是刷爆微信群的其他小游戏,相信这些你一定不陌生. 那么,微信小游戏与一般手游的研发有什么不一样?小游戏研发管理过程中会遇到哪些坑,又该如何 ...

  8. C语言 扫雷(含递归展开)

    目录 前言 一.设计思路 基本的构思方向 准备基本框架 二.函数功能设置 菜单界面 主函数 初始化 显示棋盘 设置雷 计算周围雷数 排雷 总体game函数 后续优化 1.标记雷 2.递归展开 3.防止 ...

  9. 【C语言实现】全面的扫雷小游戏(包括空白展开、标记等)具体步骤加代码分析

    文章目录 前言 一.问题描述 二.基本框架构思 三.具体实现 1.扫雷接口实现 2.地图初始化 3.设置雷 4.显示界面 5.开始扫雷 6.计算周围雷的数量 7.排查雷 8.空白展开 9.标记雷 10 ...

最新文章

  1. r语言和python-R VS Python:R语言是否真的过时了?
  2. LeetCode Best Time to Buy and Sell Stock(dp)
  3. lamp mysql大小限制_[转]LAMP 系统性能调优,第 3 部分: MySQL 服务器调优
  4. MYSQL数据损坏修复方法
  5. 转:消息队列的使用场景
  6. 深入Atlas系列:探究序列化与反序列化能力(下) - JavaScriptSerializer
  7. VMware vsphere中虚拟机的基本操作方法
  8. 忘记commit也会造成select查询的性能问题
  9. jQuery学习(六)—jQuery对象的创建
  10. 四面八方的意思是什么,怎么用四面八方造句?
  11. Qt QLabel双击编辑接口
  12. Hspice学习资源和心得
  13. 如何让我的世界变成别人的世界(国际版)——HMCL启动器之如何同时用到mod和光影
  14. web网站加速之CDN技术原理
  15. maftools: 可视化maf文件的神器
  16. 2022年 最新Java面试题汇总,看完这些面试足够了
  17. postman 获取接口参数_postman 接口参数化操作
  18. 电脑蓝牙已关闭,蓝牙开关不见的故障排除
  19. 专访网易游戏美术总监:寻找美术风格的蓝海
  20. Python中plot() 淘宝历史价格,js chrome 插件

热门文章

  1. 骨传导耳机打电话怎么样?适合打电话的蓝牙耳机
  2. .fasta | .fastq | seq-kit | fastq | fastp | conda
  3. 武汉新时标文化传媒有限公司网络短视频内容审核标准细则
  4. 远程文件拷贝(fastcopy为例)
  5. Python3:我只用1行代码就下载全网视频,我被我的才华和颜值征服了!!
  6. iOS - Share 分享/第三方登录
  7. 连接VPN后无法上网 Windows Route 轻松解决
  8. 2021Java就业前景如何?值得去学习吗?
  9. 关于原生android与H5交互的方法
  10. 聪明的WordPress开发人员的工具箱:Envato WordPress工具包