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

人机打怪小游戏(非常人机)

按q攻击 按箭头进行控制 玩家是@ 怪是* 攻击是^

​
​
#include<bits/stdc++.h>
#include<Windows.h>
#include<conio.h>
#define fr(i,a,b) for(int i=a;i<=b;i++)
#define rd(a,b) rand()%(b-a+1)+a
using namespace std;
int x=16,y=21,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1},timeand,defe,times_q;
int b[2][1100000],q1=1,z1,times,vik[1100000];
int c[2][1100000],q2=1,z2,vis[1100000];
const int N=30,M=40;
void color(int clr)
{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),clr);
}
void gb_close()
{CONSOLE_CURSOR_INFO cur;cur.dwSize=1;cur.bVisible=FALSE;HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorInfo(handle,&cur);
}
void gb_jump(int x,int y)
{gb_close();COORD pos;pos.X=x;pos.Y=y;HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(handle,pos);gb_close();
}
void print()
{color(11);for(int i=1;i<=M+1;i++){gb_jump(i,1);printf("_");}for(int i=2;i<=N+1;i++){gb_jump(1,i);printf("|");gb_jump(M+1,i);printf("|");}for(int i=2;i<=M;i++){gb_jump(i,N+1);printf("_");}gb_jump(50,15);printf("得分:%d",defe); color(7);
}
void make()
{b[0][++z1]=2;b[1][z1]=rd(2,40);
}
void make2()
{c[0][++z2]=x-1;c[1][z2]=y;
}
void KO()
{system("cls");color(4);printf("  |       /      _____     \n");printf("  |      /      /     \\    \n");printf("  |     /      /       \\   \n");printf("  |    /      |         |  \n");printf("  |   /       |         |  \n");printf("  |  /        |         |  \n");printf("  | /         |         |  \n");printf("  |/          |         |         得分:%d \n",defe/30);printf("  |\\          |         |  \n");printf("  | \\         |         |  \n");printf("  |  \\        |         |  \n");printf("  |   \\       |         |  \n");printf("  |    \\      |         |  \n");printf("  |     \\      \\        /  \n");printf("  |      \\      \\      /   \n");printf("  |       \\      \\____/    \n");color(0);Sleep(100000);exit(0);
}
int main()
{system("mode con cols=3000 lines=200");srand(time(NULL));system("pause");system("cls");printf("选择难度:\n1.入门		2.普通		3.较难		4.地狱\n");int qjqjq;scanf("%d",&qjqjq);if(qjqjq==1){timeand=2e4;}else if(qjqjq==2){timeand=1e4;}else if(qjqjq==3){timeand=5e3;}else if(qjqjq==4){timeand=2e3;}else{system("cls");return 0;}system("cls");printf("开始");Sleep(3000);system("cls");print();gb_jump(y,x);color(6);printf("@");color(7);while(true){if(times_q>=100){system("cls");color(4);printf("吃屎吧!!!!!!!!!!!!!");Sleep(10000000);return 0; }while(!kbhit()){times++;if(times>=timeand){color(6);gb_jump(y,x);printf("@");color(7);defe++;color(11);gb_jump(50,15);printf("得分:%d",defe/30);color(7);times=0;make();for(int i=q1;i<=z1;i++){if(vik[i]){continue;}if(b[0][i]>=N){q1++;gb_jump(b[1][i],b[0][i]);printf(" ");continue;}gb_jump(b[1][i],b[0][i]);printf(" ");b[0][i]++;gb_jump(b[1][i],b[0][i]);if(b[0][i]==x&&b[1][i]==y){KO();}bool flag=0;for(int j=q2;j<=z2;j++){if(vis[j]==0&&b[0][i]==c[0][j]&&b[1][i]==c[1][j]){vik[i]=1;vis[j]=1;flag=1;gb_jump(c[1][j],c[0][j]);printf(" ");break;}}if(!flag){color(13);gb_jump(b[1][i],b[0][i]);printf("*");color(7);}}for(int i=q2;i<=z2;i++){if(vis[i]){continue;}if(c[0][i]<=2){q2++;gb_jump(c[1][i],c[0][i]);printf(" ");continue;}gb_jump(c[1][i],c[0][i]);printf(" ");c[0][i]--;gb_jump(c[1][i],c[0][i]);bool flag2=0;for(int j=q1;j<=z1;j++){if(vik[j]==0&&b[0][j]==c[0][i]&&b[1][j]==c[1][i]){vik[j]=1;vis[i]=1;flag2=1;gb_jump(b[1][i],b[0][i]);printf(" ");break;}}if(!flag2){color(10);printf("^");color(7);}}}}char tsg=getch();if(tsg=='a'){char lk=getch();while(lk!='a'){lk=getch();}continue;}if(tsg=='q'){times_q++;make2();continue;}char k=getch();if(k!=72&&k!=75&&k!=77&&k!=80&&k!='a'&&k!='q'){continue;}gb_jump(y,x);printf(" ");if(k==72){if(x>2){x--;}}if(k==75){if(y>2){y--;}}if(k==77){if(y<M){y++;}}if(k==80){if(x<N){x++;}}gb_jump(y,x);color(6);printf("@");color(7);}return 0;
}​​

相关文章:

人机打怪小游戏(非常人机)

按q攻击 按箭头进行控制 玩家是 怪是* 攻击是^ ​ ​ #include<bits/stdc.h> #include<Windows.h> #include<conio.h> #define fr(i,a,b) for(int ia;i<b;i) #define rd(a,b) rand()%(b-a1)a using namespace std; int x16,y21,dx[4]{-1,0,1,0},dy[4]{0,…...

SpringBoot 集成 Sharding-JDBC(一):数据分片

在深入探讨 Sharding-JDBC 之前&#xff0c;建议读者先了解数据库分库分表的基本概念和应用场景。如果您还没有阅读过相关的内容&#xff0c;可以先阅读我们之前的文章&#xff1a; 关系型数据库海量数据存储策略-CSDN博客 这篇文章将帮助您更好地理解分库分表的基本原理和实现…...

django-ninja 实现cors跨域请求

要在Django-Ninja项目中实现跨域&#xff08;CORS&#xff09;&#xff0c;你可以使用django-cors-headers库&#xff0c;这是一个专门用于处理跨域资源共享&#xff08;CORS&#xff09;问题的Django应用程序。以下是具体的步骤和配置&#xff1a; 安装依赖&#xff1a; 使用p…...

【论文阅读】InstructPix2Pix: Learning to Follow Image Editing Instructions

摘要&#xff1a; 提出了一种方法&#xff0c;用于教导生成模型根据人类编写的指令进行图像编辑&#xff1a;给定一张输入图像和一条书面指令&#xff0c;模型按照指令对图像进行编辑。 由于为此任务获取大规模训练数据非常困难&#xff0c;我们提出了一种生成配对数据集的方…...

常用在汽车PKE无钥匙进入系统的高度集成SOC芯片:CSM2433

CSM2433是一款集成2.4GHz频段发射器、125KHz接收器和8位RISC&#xff08;精简指令集&#xff09;MCU的SOC芯片&#xff0c;用在汽车PKE无钥匙进入系统里。 什么是汽车PKE无钥匙进入系统&#xff1f; 无钥匙进入系统具有无钥匙进入并且启动的功能&#xff0c;英文名称是PKE&…...

【第四课】rust声明式宏理解与实战

目录 前言 理解宏 实战宏 前言 上一课在介绍vector时&#xff0c;我们再一次提到了rust中的宏&#xff0c;在初始化vector时使用了vec!宏&#xff0c;当时补了一句有机会会好好说明一下rust中的宏&#xff0c;并且写一个hashmap宏来初始化hashmap。想了想一直介绍基本语法还…...

渗透测试--Linux下的文件传输方法

渗透测试过程中&#xff0c;我们经常会需要文件传输&#xff0c;本文主要探讨Linux主机上我们对文件传输的方法。 编码方式 Linux 检查MD5 md5sum id_rsa Linux Base64 编码/解码 编码 cat id_rsa |base64 -w 0;echo 解码 echo -n LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVE…...

浅议Flink中的通讯工具: Akka

在Flink中&#xff0c;各个组件之间需要频繁交换数据和控制信息。Flink选择了基于Actor模型的Akka框架作为通信基础。 Akka是什么 Actor模型 Actor模型是用于单个进程中并发的场景。 在Actor模型中&#xff1a; ActorSystem负责管理actor生命周期 将每个实体视为独立的 Ac…...

基于YOLOv8深度学习的独居老人情感状态监护系统(PyQt5界面+数据集+训练代码)

本研究提出了一种创新的独居老人情感状态监护系统&#xff0c;基于YOLOV8深度学习模型&#xff0c;旨在通过对老年人面部表情的实时监测与分析&#xff0c;来精准识别其情感变化&#xff0c;从而提高独居老人的生活质量&#xff0c;确保其心理健康。本系统通过整合先进的YOLOV8…...

Qt添加外部库:静态库和动态库,批量添加头文件

Qt添加外部库需要知道库文件的位置才能正确链接&#xff0c;如果是静态库&#xff0c;要确保LIBS变量中包含正确的库文件路径和库文件名;如果是动态库&#xff0c;除了库路径外&#xff0c;还需要考虑动态库的加载路径。在 Windows 下&#xff0c;可以将动态库所在路径添加到系…...

Unity类银河战士恶魔城学习总结(P132 Merge skill tree with skill Manager 把技能树和冲刺技能相组合)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了解锁技能后才可以使用技能&#xff0c;先完成了冲刺技能的锁定解锁 Dash_Skill.cs using System.Collections; using System…...

Docker入门之Windows安装Docker初体验

在之前我们认识了docker的容器&#xff0c;了解了docker的相关概念&#xff1a;镜像&#xff0c;容器&#xff0c;仓库&#xff1a;面试官让你介绍一下docker&#xff0c;别再说不知道了 之后又带大家动手体验了一下docker从零开始玩转 Docker&#xff1a;一站式入门指南&#…...

DNS实验作业

实验要求 1.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 2.配置从DNS服务器&#xff0c;对主dns服务器进行数据备份。 实验步骤&#xff1a; 1.关闭防护墙 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2.正向解析 [rootlo…...

CSS回顾-CSS选择器详解

一、引言 我来填坑啦&#xff01;之前在CSS基础知识详解中介绍过&#xff0c;CSS 是一门基于规则的语言。是由选择器与样式信息组成&#xff1a;选择器 {样式信息}。CSS 选择器是 CSS 规则的关键&#xff0c;能精准定位 HTML 元素&#xff0c;CSS3 新增选择器更是增强了设计能…...

FFMPEG录像推流时遇到的问题

FFMPEG录像推流时遇到的问题&#xff0c;记录一下供大参考 1. ret avformat_write_header( ofmt_ctx, NULL ); 执行写入头后&#xff0c;所有的流的时间基都会被内部重新设置&#xff0c;所以并不你想象的把原来的时间直接入到avPACKET中就可以发送了。必须要把你每个流的P…...

【STM32+K210项目】基于K210智能人脸识别+车牌识别系统(完整工程资料源码)

运行效果: 基于K210的智能人脸与车牌识别系统工程 目录: 运行效果: 目录: 前言: 一、国内外研究现状与发展趋势 二、相关技术基础 2.1 人脸识别技术 2.2 车牌识别技术 三、智能小区门禁系统设计 3.1 系统设计方案 3.2 系统设计目标 3.3 智能小区门禁系统硬件设计 3.3.1 控…...

Unity脚本基础规则

Unity脚本基础规则 如何在Unity中创建一个脚本文件&#xff1f; 在Project窗口中的Assets目录下&#xff0c;选择合适的文件夹&#xff0c;右键&#xff0c;选择第一个Create&#xff0c;在新出现的一栏中选择C# Script&#xff0c;此时文件夹内会出现C#脚本图标&#xff0c;…...

基于AIRTEST和Jmeter、Postman的自动化测试框架

基于目前项目和团队技术升级&#xff0c;采用了UI自动化和接口自动化联动数据&#xff0c;进行相关测试活动&#xff0c;获得更好的测试质量和测试结果。...

使用 Azure OpenAI 服务对数据进行联合 SharePoint 搜索

作者&#xff1a;来自 Elastic Gustavo Llermaly 使用 Azure OpenAI 服务处理你的数据&#xff0c;并使用 Elastic 作为向量数据库。 在本文中&#xff0c;我们将探索 Azure OpenAI 服务 “On Your Data”&#xff0c;使用 Elasticsearch 作为数据源。我们将使用 Elastic Shar…...

JavaScript学习笔记 1】初识JS

目录 一、JS是什么&#xff1f; 二、JS的作用&#xff1f; 三、JS的组成 四、JS的书写位置 1. 内部JS 2. 外部JS(外部导入) 3. 内联JS 4. 练习 五、JS的注释与结束符 1. 注释 2. 结束符 3. JS该不该加分号&#xff1f; 六、JS的输入和输出语法 1. 输出语法 a. 输出在页面中 b. …...

【软考高项】需求跟踪矩阵在项目全生命周期中的关键作用与实践指南

1. 需求跟踪矩阵&#xff1a;项目管理的"导航仪" 刚入行做项目经理那会儿&#xff0c;我最怕的就是需求变更。明明已经确认好的需求&#xff0c;开发到一半客户突然说要改&#xff0c;整个团队手忙脚乱地翻文档、改代码、调测试用例&#xff0c;最后交付时还是漏了几…...

深度解析WindowResizer:Windows窗口强制调整工具的技术架构与实现

深度解析WindowResizer&#xff1a;Windows窗口强制调整工具的技术架构与实现 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer WindowResizer是一款基于MFC框架开发的Windows桌面应…...

NOR FLASH和NAND FLASH的对比

一、擦写寿命与数据可靠性 FLASH芯片的擦写次数一般来说都是有限的&#xff0c;目前主流产品的擦写寿命普遍在10万次左右。当FLASH芯片接近使用寿命终点时&#xff0c;写操作可能会出现失败。不过&#xff0c;需要注意NAND FLASH采用整块擦写机制&#xff0c;一旦块内出现一位数…...

微信小程序授权登录与权限管理的实战指南

1. 微信小程序授权登录的核心原理 微信小程序的授权登录体系是整个用户系统的基石。我第一次接触这套机制时&#xff0c;被它的简洁设计惊艳到了——只需要几个简单的API调用&#xff0c;就能建立起完整的用户身份体系。这套机制的核心在于openid&#xff0c;它是微信为每个用户…...

Agent如何帮助企业实现人效最大化?——深度拆解AI Agent驱动的企业生产力变革路径

在2026年的产业化浪潮中&#xff0c;AI Agent正在从“技术概念”转变为企业实现“人效最大化”的核心驱动力。这场变革的本质并非简单的工具迭代&#xff0c;而是企业组织形态与工作流的深度重塑。通过将人类从重复、低效的执行性工作中解放出来&#xff0c;企业智能自动化正推…...

别死记硬背了!一张图带你理清编译原理‘语法制导翻译’到‘代码优化’的核心链路

编译原理核心链路解析&#xff1a;从语法制导翻译到代码优化的实战指南 编译原理作为计算机科学的重要基石&#xff0c;常常让学习者感到知识点零散、难以形成系统认知。本文将以赋值语句为例&#xff0c;通过清晰的逻辑链路&#xff0c;展示从源代码到优化代码的完整编译过程&…...

从混乱到清晰:用QJsonObject重构你的Qt网络API数据解析层(避坑指南)

从混乱到清晰&#xff1a;用QJsonObject重构你的Qt网络API数据解析层&#xff08;避坑指南&#xff09; 在Qt开发中&#xff0c;与后端RESTful API交互是常见需求&#xff0c;但面对复杂、嵌套的JSON响应数据时&#xff0c;很多开发者容易陷入"面条代码"的泥潭。本文…...

桌面图标杂乱如何高效管理?NoFences开源工具让文件归类效率提升60%

桌面图标杂乱如何高效管理&#xff1f;NoFences开源工具让文件归类效率提升60% 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 每天面对布满数十个图标的电脑桌面&#xff0c…...

千问3.5-2B网页交互教程:上传→提问→获取JSON接口响应,全流程代码实例

千问3.5-2B网页交互教程&#xff1a;上传→提问→获取JSON接口响应&#xff0c;全流程代码实例 1. 快速了解千问3.5-2B 千问3.5-2B是Qwen系列的小型视觉语言模型&#xff0c;它能够同时理解图片和文字。想象一下&#xff0c;你有一个既能看图又能聊天的智能助手——这就是千问…...

AXOrderBook:解密A股订单簿重建与FPGA硬件加速的深度技术方案

AXOrderBook&#xff1a;解密A股订单簿重建与FPGA硬件加速的深度技术方案 【免费下载链接】AXOrderBook A股订单簿工具&#xff0c;使用逐笔行情进行订单簿重建、千档快照发布、各档委托队列展示等&#xff0c;包括python模型和FPGA HLS实现。 项目地址: https://gitcode.com…...