我不是挂王-用python实现燕双鹰小游戏
一.准备工作
1.前言提要
作为程序员在浩瀚的数字宇宙中,常常感觉现实世界是一台精密运作的虚拟机,其底层的物理逻辑如同铁律般难以撼动。然而我们拥有在虚拟世界中自由驰骋、创造无限可能的独特力量。突发奇我想用Python写出燕双鹰的小游戏,这样想想就很有趣。
2.背景提要
关于燕双鹰 这个挂王,我的印象里是:
听见燕双鹰讲话就陷入他的领域, 你的枪处于有子弹和没子弹叠加态, 如果你不开枪 枪里就有子弹,你选择开枪就会没子弹; 如果你不听他讲话,他的领域无法展开,可是却会触发燕双鹰的翻滚技能,在翻滚过程中,燕双鹰处于无敌状态 并且无法选中燕双鹰;此外,燕双鹰还有一个被动, 当你包围燕双鹰时,他会使用反包围包围你,并且触发二段隐藏被动 后手先发, 此二段被动 状态下,不管你干什么 燕双鹰总是会快你一步; 除外 燕双鹰还有一个被动技能,如果你对燕双鹰大声说话,他会掏出枪告诉你 ,他的枪声音更大......
二.代码实现
一直在完善优化,记录了3个版本的代码和运行截图。
1.初始版本
此初始版本还原设定,用文字游戏的方式还原了各种情况下, 触发燕双鹰的技能和被动的相应效果,并且加入了一定的概率
#根据设定 还原游戏,并且加入一定概率使得,更加趣味import random
# 定义玩家状态
class Player:def __init__(self):self.has_bullet = Trueself.alive = True# 定义燕双鹰状态
class YanShuangYing:def __init__(self):self.in_domain = Falseself.rolling = Falseself.surrounded = False# 游戏主函数
def game():player = Player()yan_shuang_ying = YanShuangYing()print("欢迎来到燕双鹰小游戏!")while player.alive:print("你现在面临选择:")print("1. 听燕双鹰讲话(可能陷入他的领域)")print("2. 不听燕双鹰讲话(他会触发翻滚技能)")choice = int(input("请输入你的选择(1或2):"))if choice == 1:yan_shuang_ying.in_domain = Trueprint("你听见了燕双鹰讲话,陷入了他的领域!")if random.random() < 0.5:print("你决定开枪!")player.has_bullet = Falseelse:print("你选择不开枪,枪里还有子弹。")elif choice == 2:yan_shuang_ying.rolling = Trueprint("你不听燕双鹰讲话,他触发了翻滚技能,现在处于无敌状态且无法选中!")# 模拟包围情况if random.random() < 0.3:yan_shuang_ying.surrounded = Trueprint("你包围了燕双鹰,但是他触发了反包围并激活二段隐藏被动!")# 模拟大声说话情况if random.random() < 0.2:print("你大声说话了,燕双鹰掏出枪说:不要跟我大吼大叫,劳资的枪声音更大!")# 判断玩家是否存活等情况if yan_shuang_ying.in_domain and player.has_bullet == False and random.random() < 0.3:print("燕双鹰趁你没子弹攻击了你,你死了!")player.alive = Falseif __name__ == "__main__":game()
2.优化版本
此版本增加了对玩家输入的验证,并优化了输出信息,使其更加符合游戏情境。
#增加了对玩家输入的验证,并优化了输出信息,使其更加符合游戏情境。class YanYuanYing:def __init__(self):self.is_speaking = Falseself.has_bullet = True # 初始状态为子弹叠加态(不开枪则有子弹)self.is_rolling = Falseself.is_surrounded = Falseself.is_loud_spoken_to = Falseself.health = 100 # 新增生命值属性def speak(self):print("你举枪对准燕双鹰,并且说道:'燕双鹰你插翅难逃,投降不投降?'")print("燕双鹰:'你的枪法不错,但还不够快。现在,你进入了我的领域。'")self.is_speaking = Truedef handle_shoot(self):if self.is_speaking:if self.has_bullet:print("你笑道:'死到临头还给你装上了?下辈子注意!'")print("你开枪了,但燕双鹰躲过了子弹。现在枪里没子弹了。")self.has_bullet = Falseelse:print("你尝试开枪,但发现枪里没子弹。")else:print("燕双鹰没有讲话,你无法进入他的领域。他开始翻滚躲避你的攻击。")self.roll()def roll(self):if not self.is_speaking:print("燕双鹰开始翻滚,他现在是无敌的并且无法被选中。")self.is_rolling = Trueelse:print("燕双鹰在讲话,他的领域已经展开,无法翻滚。")def handle_surround(self):if not self.is_rolling:print("你尝试半天发现使用枪击不成,看了看周围,示意手下包抄燕双鹰:'兄弟们,上!活捉燕双鹰!'")print("你试图包围燕双鹰,但他突然使用了反包围技能!")self.is_surrounded = Trueself.passive_second()else:print("燕双鹰在翻滚,无法被包围。")def passive_second(self):if self.is_surrounded:print("燕双鹰触发了二段隐藏被动'后手先发',他比你更快一步!")# 模拟燕双鹰反击,减少玩家生命值self.health -= 20print(f"燕双鹰反击,你受到伤害,生命值剩余:{self.health}")# 在这里可以添加更多逻辑,比如玩家行动被打断或燕双鹰进行反击# 为了简化,我们在这里只重置包围状态self.is_surrounded = Falsedef handle_loud_speak(self):print("你大声对燕双鹰说话。")self.is_loud_spoken_to = Trueself.loud_response()def loud_response(self):if self.is_loud_spoken_to:print("燕双鹰掏出了枪,冷冷地说:'我的枪声音比你大,而且更快。'")# 模拟燕双鹰威慑,减少玩家生命值self.health -= 10print(f"你受到燕双鹰威慑,生命值剩余:{self.health}")# 重置大声说话状态(根据游戏设计可能需要)self.is_loud_spoken_to = Falsedef main():print("欢迎来到燕双鹰小游戏!")yanyuangying = YanYuanYing()while True:# 显示生命值print(f"你的生命值:{yanyuangying.health}")action = input("请输入你的行动(讲话/开枪/包围/大声说话/退出):").strip().lower()if action == "讲话":yanyuangying.speak()elif action == "开枪":yanyuangying.handle_shoot()elif action == "包围":yanyuangying.handle_surround()elif action == "大声说话":yanyuangying.handle_loud_speak()elif action == "退出":print("游戏结束,感谢你的参与!")breakelse:print("无效的行动,请重新输入。")# 判断游戏是否结束if yanyuangying.health <= 0:print("你已死亡,游戏结束!")break# 重置一些状态以便下次行动(根据游戏设计可能需要)if yanyuangying.is_rolling:print("燕双鹰翻滚结束,回到了正常状态。")yanyuangying.is_rolling = Falseif __name__ == "__main__":main()
3.修复版本
此版本增加了应对枪没子弹一直卡壳以及玩家血量低时可选择开外挂的相关逻辑
#增加了应对枪没子弹一直卡壳以及玩家血量低时可选择开外挂的相关逻辑#增加了应对枪没子弹一直卡壳以及玩家血量低时可选择开外挂的相关逻辑
import randomclass YanYuanYing:def __init__(self):self.is_speaking = Falseself.has_bullet = True # 初始状态为子弹叠加态(不开枪则有子弹)self.is_rolling = Falseself.is_surrounded = Falseself.is_loud_spoken_to = Falseself.health = 100 # 新增生命值属性def speak(self):print("你举枪对准燕双鹰,并且说道:'燕双鹰你插翅难逃,投降不投降?'")print("燕双鹰:'你的枪法不错,但还不够快。现在,你进入了我的领域。'")self.is_speaking = Truedef handle_shoot(self):if self.is_speaking:if self.has_bullet:trigger_choice = input("你发现枪里有子弹,是否扣动扳机(是/否):").strip().lower()if trigger_choice == "是":print("你笑道:'死到临头还给你装上了?下辈子注意!'")print("你开枪了,但燕双鹰躲过了子弹。现在枪里没子弹了。")self.has_bullet = Falseelif trigger_choice == "否":print("你犹豫了一下,没有扣动扳机。但是此刻,枪里确实有子弹。")else:print("无效的选择,请重新输入。")else:print("你尝试开枪,但发现枪里没子弹。枪没子弹了,你得想别的办法了!")# 新增逻辑,如果在领域内开枪没子弹,有一定概率燕双鹰会主动攻击,消耗玩家生命值if random.random() < 0.3:self.health -= 15print(f"燕双鹰趁你没子弹发起攻击,你受到伤害,生命值剩余:{self.health}")else:print("燕双鹰没有讲话,你无法进入他的领域。他开始翻滚躲避你的攻击。")self.roll()def roll(self):if not self.is_speaking:print("燕双鹰开始翻滚,他现在是无敌的并且无法被选中。")self.is_rolling = Trueelse:print("燕双鹰在讲话,他的领域已经展开,无法翻滚。")def handle_surround(self):if not self.is_rolling:print("你尝试半天发现使用枪击不成,看了看周围,示意手下包抄燕双鹰:'兄弟们,上!活捉燕双鹰!'")print("你试图包围燕双鹰,但他突然使用了反包围技能!")self.is_surrounded = Trueself.passive_second()else:print("燕双鹰在翻滚,无法被包围。")def passive_second(self):if self.is_surrounded:print("燕双鹰触发了二段隐藏被动'后手先发',他比你更快一步!")# 模拟燕双鹰反击,减少玩家生命值self.health -= 20print(f"燕双鹰反击,你受到伤害,生命值剩余:{self.health}")# 在这里可以添加更多逻辑,比如玩家行动被打断或燕双鹰进行反击# 为了简化,我们在这里只重置包围状态self.is_surrounded = Falsedef handle_loud_speak(self):print("你大声对燕双鹰说话。")self.is_loud_spoken_to = Trueself.loud_response()def loud_response(self):if self.is_loud_spoken_to:print("燕双鹰掏出了枪,冷冷地说:'我的枪声音比你大,而且更快。'")# 模拟燕双鹰威慑,减少玩家生命值self.health -= 10print(f"你受到燕双鹰威慑,生命值剩余:{self.health}")# 重置大声说话状态(根据游戏设计可能需要)self.is_loud_spoken_to = Falsedef main():print("欢迎来到燕双鹰小游戏!")yanyuangying = YanYuanYing()while True:# 显示生命值print(f"你的生命值:{yanyuangying.health}")if yanyuangying.health < 20:cheat_choice = input("你血量已不足,是否开外挂(是/否):").strip().lower()if cheat_choice == "是":print("你选择了开外挂,成功逃离燕双鹰的威胁,关闭手机永久远离燕双鹰,游戏结束!")breakelif cheat_choice == "否":print("你决定继续与燕双鹰对抗,生死在此一搏!")else:print("无效的选择,请重新输入。")action = input("请输入你的行动(讲话/开枪/包围/大声说话/退出):").strip().lower()if action == "讲话":yanyuangying.speak()elif action == "开枪":yanyuangying.handle_shoot()elif action == "包围":yanyuangying.handle_surround()elif action == "大声说话":yanyuangying.handle_loud_speak()elif action == "退出":print("游戏结束,感谢你的参与!")breakelse:print("无效的行动,请重新输入。")# 判断游戏是否结束if yanyuangying.health <= 0:print("你已死亡,游戏结束!")break# 重置一些状态以便下次行动(根据游戏设计可能需要)if yanyuangying.is_rolling:print("燕双鹰翻滚结束,回到了正常状态。")yanyuangying.is_rolling = Falseif __name__ == "__main__":main()
三.总结反思
1.初始版本
- Player类:定义了玩家的基本状态,包括是否有子弹、是否存活等。
- YanShuangYing类:表示燕双鹰的状态,如是否处于领域内、是否翻滚、是否被包围等。
- game函数:作为游戏的主函数,循环中让玩家选择是否听燕双鹰讲话,根据选择触发燕双鹰的技能或被动效果,并加入概率因素模拟随机情况。同时判断玩家是否存活。
2.优化版本
- YanYuanYing类(重命名):新增生命值属性,并细化方法处理不同行为,如speak(讲话)、handle_shoot(开枪)、roll(翻滚)、handle_surround(包围)、passive_second(二段隐藏被动)、handle_loud_speak(大声说话)等。
- main函数:作为新的游戏主流程,循环中显示玩家生命值,接收玩家输入(讲话、开枪、包围、大声说话、退出等),验证输入后调用对应方法。同时判断游戏是否结束(生命值≤0)并重置部分状态,输出信息更加贴合游戏情境。
3.修复版本
- YanYuanYing类:在handle_shoot方法中增加询问玩家是否扣动扳机的逻辑(子弹充足时),并完善枪没子弹时的处理,如燕双鹰可能主动攻击玩家。
- main函数:当玩家生命值低于20时,增加询问玩家是否开外挂的逻辑。选择开外挂则游戏结束,选择继续则继续游戏循环。进一步完善游戏细节和可玩性,减少异常情况。
每次改进虽有都瑕疵,但技术探索难免。针对无敌的燕双鹰,后续我计划加上道具,提升可玩性。游戏中“开挂”一时爽,持续优化才长久,哈哈!我坚信,不断努力优化定能克服。
整理不易,诚望各位看官点赞 收藏 评论 予以支持,这将成为我持续更新的动力源泉。若您在阅览时存有异议或建议,敬请留言指正批评,让我们携手共同学习,共同进取,吾辈自当相互勉励!
相关文章:
我不是挂王-用python实现燕双鹰小游戏
一.准备工作 1.前言提要 作为程序员在浩瀚的数字宇宙中,常常感觉现实世界是一台精密运作的虚拟机,其底层的物理逻辑如同铁律般难以撼动。然而我们拥有在虚拟世界中自由驰骋、创造无限可能的独特力量。突发奇我想用Python写出燕双鹰的小游戏,这样想想就很…...
Java:反射、注解
文章目录 1. 反射1-1. 获取Class对象的三种方式1-2. 获取类的构造器、实例化对象1-3. 获取类的成员变量1-4. 获取类的成员方法 2. 注解2-1. 元注解2-2. 解析注解 1. 反射 反射:加载类,并允许以编程的方式解剖类中的各种成员变量、方法、构造器。 1-1. …...
Java 通过枚举类减少if else
目录 一. 案例1二. 案例2三. 案例3四. 案例4 枚举类聚合封装消息 一. 案例1 涉及到EnumMap的实际使用 ⏹定义一个枚举类,用来表示日本的各种支付方法对应的code import com.fasterxml.jackson.annotation.JsonFormat;// 让jackson将前台的数据封装数据到枚举类中 J…...
单链表---移除链表元素
对于无头单向不循环链表,给出头结点head与数值val,删除链表中数据值val的所有结点 #define ListNodeDataType val struct ListNode { struct ListNode* psll;ListNodeDataType val; } 方法一---遍历删除 移除所有数值为val的链表结点,…...
认识redis 及 Ubuntu安装redis
文章目录 一. redis概念二. redis应用场景二. redis的特性四. 使用Ubuntu安装redis 一. redis概念 redis 是在内存中存储数据的中间件, 用在分布式系统 redis是客户端服务器结构的程序, 客户端服务器之间通过网络来通信 二. redis应用场景 redis可用作数据库 类似MySQL, 但…...
Java开发网络安全常见问题
1、敏感信息明文传输 用户敏感信息如手机号、银行卡号、验证码等涉及个人隐私的敏感信息不通过任何加密直接明文传输。 如下图中小红书APP 的手机短信验证码登录接口,此处没有对用户手机号和验证码等信息进行加密传输,可以很简单的截取并开展一些合法的…...
C#基础之委托,事件
文章目录 1 委托1.1 简介1.2 操作使用1.2.1 声明委托(Delegate)1.2.2 实例化委托(Delegate)1.2.3 直接调用和invoke1.2.4 Invoke 和 BeginInvoke 1.3 委托的多播1.4 委托的匿名和lambda1.4.1 匿名方法1.4.2 lambda 表达式 1.5 内置…...
nginx配置静态资源的访问
比如静态资源图片位于/mnt/software/nginx/html/static/images目录下,那么nginx.conf中的配置则为: # 静态文件目录 location /static/images/ { root /mnt/software/nginx/html; try_files $uri $uri/ 404; #找不到时提示404 …...
JS的魔法三角:constructor、prototype与__proto__
在JavaScript中,constructor、prototype和__proto__是与对象创建和继承机制紧密相关的三个概念。理解它们之间的关系对于掌握JavaScript的面向对象编程至关重要。下面将详细介绍这个魔法三角: 1. constructor 定义:constructor是一个函数&am…...
CA系统(file.h---申请认证的处理)
#pragma once #ifndef FILEMANAGER_H #define FILEMANAGER_H #include <string> namespace F_ile {// 读取文件,返回文件内容bool readFilename(const std::string& filePath);bool readFilePubilcpath(const std::string& filePath);bool getNameFro…...
matlab显示sin二维图
1,新建脚本 2、保存脚本 3、脚本命令:clc 清除 脚本命令的信息 clrear all 清除全部 4工作区内容:变量啥的 x0:0.001:2*pi%% 开始 精度 中值 ysin(x) y1cos(x) figure%%产生一个屏幕 plot(x,y)%%打印坐标 title(ysin(x))%%标题 xlabel(…...
验证 kubelet 服务已经停止并且不再生成错误日志
要验证 kubelet 服务已经停止并且不再生成错误日志,可以按照以下步骤进行操作: 1. 检查 kubelet 服务状态 首先,确认 kubelet 服务已经停止。 Bash 深色版本 sudo systemctl status kubelet 你应该看到类似以下的输出,表示服…...
【Linux】进程控制-----进程替换
目录 一、为什么要进行进程替换: 二、进程替换的原理: 三、exec家族: 1、execl: 2、execlp: 3、execv: 4、execvp: 5、execle和execve 编辑 putenv: 一、为什么要进行进程…...
安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本
安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本。 原因是:当前操作系统版本为Windows Server 2016 Standard版本,其自带的Microsoft .NET Framework 版本为4.6太低,不满足要求。 根据报错的提示,点击链接…...
使用ECharts创建带百分比标注的环形图
在数据可视化领域,环形图是一种非常有效的图表类型,它能够清晰地展示各部分与整体的关系。今天,我们将通过ECharts来创建一个带百分比标注的环形图,并详细解释如何实现这一效果。 1. 数据准备 首先,我们定义了一些基础…...
学习threejs,设置envMap环境贴图创建反光效果
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.CubeTextureLoader 立…...
go语言里的mkdir mkdirall有什么区别?
在Go语言中,os.Mkdir 和 os.MkdirAll 都是用来创建目录的函数,但它们之间存在一些关键的区别。 ### os.Mkdir - **功能**:os.Mkdir 用于创建一个单一的目录。如果该目录已经存在,则会返回一个错误。 - **参数**: - na…...
使用Python OpenCV实现图像形状检测
目录 一、环境准备 二、读取和预处理图像 读取图像 灰度化 滤波去噪 三、边缘检测 四、查找轮廓 五、绘制轮廓 六、形状分类 七、显示结果 八、完整代码示例 九、总结 图像形状检测是计算机视觉领域中的一项关键技术,广泛应用于工业自动化、机器人视觉、医学图像处…...
继上一篇,设置弹框次数以及自适应图片弹框,部分机型(vivo)老手机不显示的问题
上一篇写的本来测试好多型号都无事, 今天下午公司的战斗机vivo横空冒出… 晕 弹框直接显示都出不来了,现在还有用这种老的机型的,但是没办法咯~ 前端遇到这种兼容性的问题就要勇于解决 主要解决了这几点: // 添加图片加载事件 <imgv-if"imageUrl":src"image…...
基于RISC-V 的代理内核实验(使用ub虚拟机安装基本环境)
1.安装支撑软件 第一步,安装依赖库 RISC-V交叉编译器的执行仍然需要一些本地支撑软件包,可使用以下命令安装: $ sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bis…...
【MMKV】HarmonyOS中的优秀轻量化存储方式
MMKV 引言 在移动应用开发的世界里,数据存储和管理是至关重要的一环。随着技术的不断进步,开发者们对于高性能、轻量级、易用的数据存储解决方案的需求日益增长。MMKV(Memory Mapped Key-Value)正是这样一个开源的高性能key-val…...
docker安装hadoop环境
一、使用docker搭建基础镜像 1、拉取centos系统镜像 # 我这里使用centos7为例子 docker pull centos:7 2、创建一个dockerfiler文件,用来构建自定义一个有ssh功能的centos镜像 # 基础镜像 FROM centos:7 # 作者 #MAINTAINER hadoop ADD Centos-7.repo /etc/yum.re…...
开源多媒体处理工具ffmpeg是什么?如何安装?使用ffmpeg将M3U8格式转换为MP4
目录 一、FFmpeg是什么二、安装FFmpeg(windows)三、将M3U8格式转换为MP4格式 一、FFmpeg是什么 FFmpeg是一款非常强大的开源多媒体处理工具,它几乎可以处理所有类型的视频、音频、字幕以及相关的元数据。 FFmpeg的主要用途包括但不限于&…...
算法刷题Day5: BM52 数组中只出现一次的两个数字
描述: 一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 要求:空间复杂度 O(1),时间复杂度O(n)。 题目传送门 is here 思路: 方法一:最简单的思路就…...
55 基于单片机的方波频率可调
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 采用STC89C52单片机最小系统,设计DAC0832、放大器、与示波器显示方波,四位数码管显示频率,两个按键可调。 二、硬件资源 基于KEIL5编写C代码,PROT…...
23.useUnload
在 Web 应用开发中,处理页面卸载(unload)事件是一个重要但常常被忽视的方面。无论是提醒用户保存未保存的更改,还是执行一些清理操作,都需要在用户即将离开页面时进行处理。useUnload 钩子提供了一种简洁的方式来在 React 组件中处理 beforeunload 事件,使得在用户试图关…...
linux环境搭建
1、**连接外网** ssh在192.168.4.x上运行sudo ip link set ens160 down ssh切换到192.168.3.x(外网ip),运行sudo ip route add default via 192.168.2.1 dev ens192 onlink //连接外网 使用完外网后 ssh在192.168.3.x上运行sudo ip link set ens160 up ssh在1…...
《C++与生物医学的智能融合:医疗变革新引擎》
在当今科技飞速发展的时代,人工智能正以前所未有的深度和广度渗透到各个领域,为传统行业带来革新与突破。其中,将 C与生物学、医学等领域知识相结合,开发用于处理生物医学数据、辅助疾病诊断和治疗的人工智能应用,成为…...
Matlab 绘制雷达图像完全案例和官方教程(亲测)
首先上官方教程链接 polarplothttps://ww2.mathworks.cn/help/matlab/ref/polarplot.html 上实例 % 定义角度向量和径向向量 theta linspace(0, 2*pi, 5); r1 [1, 2, 1.5, 2.5, 1]; r2 [2, 1, 2.5, 1.5, 2];% 绘制两个雷达图 polarplot(theta, r1, r-, LineWidth, 2); hold …...
Lua的环境与热更
一、global_State,lua_State与G表 Lua支持多线程环境,使用 lua_State 结构来表示一个独立的 Lua 线程(或协程)。每个线程都需要一个独立的全局环境。而lua_State 中的l_G指针,指向一个global_State结构,这个就是我们常…...
网站怎样做优化/搜索关键词优化
相信很多人都跟我一样,当我们使用不同数据库的时候,都会有这样一个疑问:我们当前使用的这个数据库到底有没有为我们提供某个我们需要的功能的函数? 说到点子上了吧?因此,我们特别关心数据库的函数。当然&am…...
商标注册证号查询官网/河南seo推广
1、整数型:byte-Byte;short-Short;int-Integer;lonh-Long; 2、浮点型:float-Float;double-Double; 3、布尔型:boolean-Boolean; 4、字符型:char-Character:判断的方法:isLetter()判断是否为字母…...
佛山市禅城网站建设/十大网站管理系统
看到一篇关于Note日志的文章,挺不错的,转载记录一下。其中在第三种错误日志中增加了一些知识点。在使用MySQL 5.7的时候,发现了不少在MySQL 5.6上不曾见过的日志,级别为Note,作者梳理了一下,最常见的Note日…...
长春市委网站/网络营销的专业知识
随着业务的需求普通的springmvcjsp已经不能满足我们的系统了,会逐渐把后台和前端展示分离开来,下面我们就来把普通的springmvcjsp分为 springmvc只提供rest接口,前端用ajax请求接口渲染到html中。后台提供接口是一个tomcat服务器前台访问数据…...
怎样建设国外网站/微信营销策略有哪些
前一篇 中已经解释了InnoDB存储引擎为什么即使在开启O_DIRECT选项后依然需要调用fsync操作。本篇将说明MySQL 5.6中InnoDB存储引擎的变化以及O_DIRECT对重做日志文件的影响。 从MySQL 5.6的版本开始,也就是InnoDB 1.2版本中(PS:MariaDB 10.x版…...
网站建设怎么做/网页自动点击软件
1、static_cast和dynamic_cast的类型检查 static_cast的类型检查:只检查无关类之间的转换CBaseY* pY1 static_cast<CBaseY*>(pX); // 错误,编译未通过, 类型指向是无关的 (解释:指针变量PX是CBaseX类,现在要将…...