当前位置: 首页 > 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. …...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中&#xff0c;提供了一系列静态方法用于操作数组&#xff08;如排序、搜索、填充、比较等&#xff09;。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序&#xff08;sort&#xff09; 对数组进行升序…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

大数据驱动企业决策智能化的路径与实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;数据驱动的企业竞争力重构 在这个瞬息万变的商业时代&#xff0c;“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...