当前位置: 首页 > news >正文

C语言占领游戏

目录

  • 开头
  • 程序
  • 程序的流程图
  • 程序的效果
  • 结尾

开头

大家好,我叫这是我58。

程序

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <Windows.h>
void printmap(const char strmap[10][10]) {int ia = 0;int ib = 0;for (ia = 0; ia < 10; ia++) {for (ib = 0; ib < 10; ib++) {printf("\033[3%sm%c\033[0m", '*' == strmap[ia][ib] ? "2;1" : '-' == strmap[ia][ib] ? "1;1" : "6", strmap[ia][ib]);}printf("\n");}
}
void change(char* cp, char* cpa) {char chan[10] = { 0 };const int arr[9] = { -11, -10, -9, -1, 0, 1, 9, 10, 11 };const char chana[3] = "-|";int i = 0;int ia = 0;int ib = 0;int ic = 0;char* ccp = chan;for (; i < 9; i++) {('*' != *(cp + arr[i]) && (*ccp++ = *(cp + arr[i]), ('-' == *(cp + arr[i]) && ia++, '|' == *(cp + arr[i]) && ib++))), ('*' == *(cp + arr[i]) && ic++);}if (ia == ib) {*ccp = chana[rand() % 2];}else if (ia < ib) {*ccp = '|';}else {*ccp = '-';}*cpa = chan[(i = rand() % (10 - ic))];
}
int main() {float fspd = 1.0f;char stw[9] = "color 0";srand((unsigned int)time(NULL));char strmap[10][10] = {'*','*','*','*','*','*','*','*','*','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','*','*','*','*','*','*','*','*','*'};char strmapa[10][10] = {'*','*','*','*','*','*','*','*','*','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','-','-','-','-','|','|','|','|','*','*','*','*','*','*','*','*','*','*','*'};int i = 1;int ia = 1;int iw = 0;printf("这次游戏的倍速为多少?(0倍速自动转为1倍速) -> ");scanf("%f", &fspd);0 == fspd && (fspd = 1.0f);system("cls");while (!iw) {for (i = 1; i < 9; i++) {for (ia = 1; ia < 9; ia++) {change(&strmap[i][ia], &strmapa[i][ia]);}}for (i = 1; i < 9; i++) {for (ia = 1; ia < 9; ia++) {strmap[i][ia] = strmapa[i][ia];}}printmap(strmap);'-' == strmap[1][1] && (iw = 1), '|' == strmap[1][1] && (iw = -1);for (i = 1; i < 9; i++) {for (ia = 1; ia < 9; ia++) {if (iw > 0) {if ('|' == strmap[i][ia]) {iw = 0;goto g;}}else {if ('-' == strmap[i][ia]) {iw = 0;goto g;}}}}//判断g:Sleep(1000 / fspd);system("cls");}strcat(stw, iw > 0 ? "C" : "9");system(stw);printf("“%c”赢了", iw > 0 ? '-' : '|');return 0;
}//占领游戏(我随便取的):改变 打印 判断-->改变(概率:(←↑→↓↖↗↘↙)?本+多数)

程序的流程图

开始
把宏_CRT_SECURE_NO_WARNINGS定义为1
导入stdio.h
导入stdlib.h
导入string.h
导入time.h
导入Windows.h
定义printmaze函数
定义change函数
定义单精度浮点型fspd为1.0
把有9个字符的字符串stw初始化为“color 0”
把随机数的种子设为现在的时间戳
定义有10行10列的二维字符数组strmap为下面的图片

判断
清屏
等待1除以fspd秒,等待好后就清屏
否(等待1除以fspd秒,等待好后就清屏)
'-' == strmap[1][1]?
把iw设为1
'|' == strmap[1][1]?
把iw设为负1
设i为1
i < 9?
设ia为1
ia < 9?
iw > 0?
'|' == strmap[i][ia]?
设iw为0
转到g标签
'-' == strmap[i][ia]?
ia自增1
i自增1
把有10行11=0列的二维字符数组strmapa初始化为上面的图片
定义整型i为1
定义整型ia为1
定义整型iw为0
输出“这次游戏的倍速为多少?(0倍速自动转为1倍速)”
把fspd设为你输入的单精度浮点数
0 == fspd?
把fspd设为1.0
!iw?
设i为1
i < 9?
设ia为1
ia < 9?
执行change函数,参数有二维字符数组strmap第i行第ia列的地址和二维字符数组strmapa第i行第ia列的地址
ia自增1
i自增1
设i为1
i < 9?
设ia为1
ia < 9?
把二维字符数组strmap第i行第ia列的元素设为二维字符数组strmapa第i行第ia列的元素
ia自增1
i自增1
执行printmap函数,参数有二维字符数组strmap
g
如果iw大于0,就把stw连接上一个字符“C”,否则就把stw连接上一个字符“9”
执行cmd命令,命令为字符串stw
输出““%c”赢了”(如果iw大于0,那么“%c”就代字符“-”,否则就代“|”)
结束
设iw为0
转到g标签
占领游戏(我随便取的):改变 打印 判断-->改变(概率:(←↑→↓↖↗↘↙)?本+多数)
printmap函数
结束
开始
定义整型ia为0
定义整型ib为0
设ia为0
ia < 10?
设ib为0
ib < 10?
输出“\​033[3%sm%c\​033[0m”(如果字符“*”为二维字符数组strmap第ia行第ib列的元素,那么“%s”就代“2;1”,否则如果字符“-”为二维字符数组strmap第ia行第ib列的元素,那么“%s”就代“1;1”,否则就代“6”,“%c”则代二维字符数组strmap第ia行第ib列的元素)
ib自增1
输出“\​n”
ia自增1
change函数
结束
开始
把有10个字符的字符串chan全都初始化为0
把有9个整型的常量整型数组arr分别初始化为-11,-10,-9,-1,0,1,9,10和11
把有3个字符的常量字符串chana初始化为“-|”
定义整型i为0
定义整型ia为0
定义整型ib为0
定义整型ic为0
定义字符指针ccp为chan
i < 9?
'*' != *(cp + arr[i])?
把解引用的ccp设为解引用的某一个结果,其中这个结果就是cp加上arr的第i项的结果,并把ccp向右移动一位
'-' == *(cp + arr[i])?
ia自增1
'|' == *(cp + arr[i])?
ib自增1
'*' == *(cp + arr[i])?
ic自增1
i自增1
ia == ib?
把解引用的ccp设为常量字符串chana第随机值模2的值项的结果
把解引用的cpa设为字符串chan的第随机值模上10减ic的差的值项,并把这个值赋给i
ia < ib?
把解引用的ccp设为字符“|”
把解引用的ccp设为字符“-”

程序的效果

「占领游戏」

结尾

你觉得我这次做的游戏好吗?如果你觉得我这次做的游戏不好的话,就可以评论一下我这次做的游戏不好的原因吧。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【一步一步手把手教会你】Deep_live_cam一键克隆动态的目标对象
  • 用AI来学习英语口语(白嫖,所以稍微麻烦些)
  • Python数据可视化库之bqplot使用详解
  • OpenMax算法详解:深度学习中的高效开集识别技术
  • 注册安全分析报告:助通信息
  • 前端环境搭建:node.js、npm的下载和安装
  • 气膜建筑与装配式建筑的对比分析—轻空间
  • 优化uni-app页面间的传参跳转【兼容多端】
  • 网络编程Day9_IO多路复用 20240821
  • Python编码系列—Python WebSocket 实时通信:构建高效互动的网络应用
  • 什么是云原生?
  • HTTPS证书申请简明指南
  • redis能正常访问,但是springboot编译报错
  • Mobile-Agent项目部署与学习总结(DataWhale AI夏令营)
  • 前端宝典十四:Node缓存、安全与鉴权
  • 分享一款快速APP功能测试工具
  • [译]前端离线指南(上)
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • CSS相对定位
  • Javascript编码规范
  • java取消线程实例
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • node入门
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • select2 取值 遍历 设置默认值
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Vue ES6 Jade Scss Webpack Gulp
  • 测试如何在敏捷团队中工作?
  • 对象管理器(defineProperty)学习笔记
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 技术胖1-4季视频复习— (看视频笔记)
  • 聚类分析——Kmeans
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 说说动画卡顿的解决方案
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • $jQuery 重写Alert样式方法
  • (13)DroneCAN 适配器节点(一)
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (MATLAB)第五章-矩阵运算
  • (八十八)VFL语言初步 - 实现布局
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (十八)Flink CEP 详解
  • (学习总结16)C++模版2
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .bat批处理出现中文乱码的情况
  • .NET Core跨平台微服务学习资源