atk

Python学习日记(二十四) 继承

99封情书 提交于 2020-11-18 02:56:00
继承 什么是继承?就是一个派生类(derived class)继承基类(base class)的字段和方法。一个类可以被多个类继承;在python中,一个类可以继承多个类。 父类可以称为基类和超类,而子类可以称为派生类 在继承中可分为单继承和多继承两种 下面是继承的用法,语法为'class 子类的名字(父类名):' class Plane: # 定义一个所有战机的父类 def __init__ (self,name,speed,hp,atk): self.name = name self.speed = speed self.hp = hp self.atk = atk class Fighter(Plane): # 定义一个Fighter类 它继承的是Plane类 def __init__ (self,name,speed,hp,atk,money): self.name = name self.speed = speed self.hp = hp self.atk = atk self.money = money def Attack(self,enemyFighter): enemyFighter.hp -= self.atk class EnemyFighter(Plane): # 定义一个EnemyFighter类 它继承的是Plane类 def __init__

从零开始实现放置游戏(十五)——实现战斗挂机(6)在线打怪练级

江枫思渺然 提交于 2020-08-18 04:28:42
  本章初步实现游戏的核心功能——战斗逻辑。   战斗系统牵涉的范围非常广,比如前期人物的属性、怪物的配置等,都是在为战斗做铺垫。   战斗中,人物可以施放魔法、技能,需要技能系统支持。   战斗胜利后,进行经验、掉落结算。又需要背包、装备系统支持。装备系统又需要随机词缀附魔系统。   可以说是本游戏最硬核的系统。   因为目前技能、背包、装备系统都还没有实现。我们先初步设计实现一个简易战斗逻辑。   战斗动作仅包括普通攻击,有可能产生未命中、闪避和暴击。   整个战斗逻辑的流程大致如下图所示: 一、战斗消息设计   参照其他消息,战斗动作需要发送请求并接收返回消息,我们先定义两个消息代码 :     CBattleMob = "30003001"     SBattleMob = "60003001"   这里我们先仅考虑在线打怪,发送战斗请求,我们仅需要知道怪物id即可,战斗时从数据库读取怪物属性。   新建客户端消息类如下: @Data public final class CBattleMobMessage extends ClientMessage { private String mobId; }   服务端需要返回战斗的最终结果信息,以及每个回合每个角色的战斗动作记录作给客户端,一遍客户端播放。   新建服务端的消息类如下: @Data public class

你也想成为白帽子么?推荐一份网络安全书单!

北战南征 提交于 2020-08-06 11:37:07
​ 白帽,即通过正常的手段对网站内部优化(包括网站标题,网站结构,网站代码,网站内容,关键词密度等)、网站外部的发布与建设,提高网站关键词在搜索引擎排名的一种seo技术;黑帽,即通过垃圾链接、隐藏网页、桥页、关键词堆砌等方法,实现快速搜索引擎优化的目的。 网络安全,通常指计算机网络的安全,实际上也可以指计算机通信网络的安全。计算机通信网络是将若干台具有独立功能的计算机通过通信设备及传输媒体互连起来,在通信软件的支持下,实现计算机间的信息传输与交换的系统。 随着技术不断发展,企业对于网络安全的要求越来越高,特别是有一些行业,坐拥海量数据,对于数据安全的重视程度非常高,而Web安全则一直都是网络安全工程师活跃的领域,今天我们就来推荐几本网络安全领域的书单吧! 网络安全系列书单 ​ 白帽子讲Web安全 互联网时代的数据安全与个人隐私受到挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全(纪念版)》将带你走进Web安全的世界,让你了解Web安全的方方面面。 黑客不再神秘,攻击技术原来如此,小网站也能找到适合自己的安全道路。大公司如何做安全,为什么要选择这样的方案呢?在《白帽子讲Web安全(纪念版)》中都能找到答案。详细的剖析,让你不仅能“知其然”,更能“知其所以然”。 《白帽子讲Web安全(纪念版)

你也想成为白帽子么?推荐一份网络安全书单!

梦想的初衷 提交于 2020-07-27 03:40:55
​ 白帽,即通过正常的手段对网站内部优化(包括网站标题,网站结构,网站代码,网站内容,关键词密度等)、网站外部的发布与建设,提高网站关键词在搜索引擎排名的一种seo技术;黑帽,即通过垃圾链接、隐藏网页、桥页、关键词堆砌等方法,实现快速搜索引擎优化的目的。 网络安全,通常指计算机网络的安全,实际上也可以指计算机通信网络的安全。计算机通信网络是将若干台具有独立功能的计算机通过通信设备及传输媒体互连起来,在通信软件的支持下,实现计算机间的信息传输与交换的系统。 随着技术不断发展,企业对于网络安全的要求越来越高,特别是有一些行业,坐拥海量数据,对于数据安全的重视程度非常高,而Web安全则一直都是网络安全工程师活跃的领域,今天我们就来推荐几本网络安全领域的书单吧! 网络安全系列书单 ​ 白帽子讲Web安全 互联网时代的数据安全与个人隐私受到挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全(纪念版)》将带你走进Web安全的世界,让你了解Web安全的方方面面。 黑客不再神秘,攻击技术原来如此,小网站也能找到适合自己的安全道路。大公司如何做安全,为什么要选择这样的方案呢?在《白帽子讲Web安全(纪念版)》中都能找到答案。详细的剖析,让你不仅能“知其然”,更能“知其所以然”。 《白帽子讲Web安全(纪念版)

leetcode 190 Reverse Bits

拟墨画扇 提交于 2020-04-20 18:17:25
Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000). Follow up: If this function is called many times, how would you optimize it? 解决方案: Basically, this code is just keeping pop the last bit from n and push it to the end of the return result. Do •Get last bit from n •Push the bit to the end of the result •Pop out the last bit of n Until n is 0 •Push remaining 0s to the n by “ret << nShift” •Return the result “ret” uint32_t ret

rtthread添加驱动方法

可紊 提交于 2020-04-06 08:49:19
以stm32l475-atk-pandora开发板添加PC6为pwm为例,说明rtthread添加menuconfig中没有的驱动的方法 打开目录rtthread\rt-thread-master\bsp\stm32\stm32l475-atk-pandora\board\CubeMX_Config中的STM32L475VE.ioc文件 配置需要添加的外设,这里主要是需要用到stm32l4xx_hal_msp.c文件中的GPIO配置,其他CubeMx生成的文件不会再rtthread sdk中用到。 修改Kconfig文件,可以参考Kconfig中已经定义的文件来完成。 完成步骤3后menuconfig的配置文件中可以找到新添加的配置。                                                        最后就可以在代码中使用该驱动。 来源: oschina 链接: https://my.oschina.net/u/4264470/blog/3220141

codeforces round 625

a 夏天 提交于 2020-03-03 15:20:17
B 题意是从已知序列中找一个严格递增的子序列,并且这个子序列中任意相邻的两个元素之差等于它们在原序列中的位置之差,求所有满足条件的子序列中元素和的最大值。 条件用公式表示:对于满足要求的子序列中任意两个相邻元素a1,a2(位置分别是pos1,pos2),都有a1-a2=pos1-pos2(a1<a2,严格递增)。 假设我们找到一条满足的,那他的魅力值其实就是来看就是由同一个数值不断++而来的例如 位置2=3,位置4=5,满足要求,那其实他们都是从位置1=2起源的; 所以只需记录ai-i就行 int n; int b[M]; ll c[M]; void run(){ for(int i = 1; i <= n; i++) { cin >> b[i]; c[b[i] - i + N] += b[i]; } ll ans = 0; for(int i = 1; i < M; i++) { ans = max(ans, c[i]); } cout << ans << '\n'; }   C 题意是给你一个只含小写字母的字符串,每次你可以找一个字符,只要它的相邻字符中存在一个字符比它自己的ascci码小1,那么你就可以删除这个字符,问你最多能删多少个。 由于数据量非常小,只有100,所以直接暴力模拟就行了。稍微加点贪心思想,先删除字典序大的字符,从字母z到字母b的顺序删除

如果再回到从前 备忘录模式

戏子无情 提交于 2020-02-22 21:05:49
18.1 如果再给我一次机会...... 18.2 游戏存进度 namespace 备忘录模式 { class Program { static void Main(string[] args) { //大战Boss前, GameRole lixiaoyao = new GameRole(); lixiaoyao.GetInitState(); lixiaoyao.StateDisplay(); //保存进度, GameRole backup = new GameRole(); backup.Vitality = lixiaoyao.Vitality; backup.Attack = lixiaoyao.Attack; backup.Defense = lixiaoyao.Defense; //大战Boss时,损耗严重, lixiaoyao.Fight(); lixiaoyao.StateDisplay(); //恢复之前状态, lixiaoyao.Vitality = backup.Vitality; lixiaoyao.Attack = backup.Attack; lixiaoyao.Defense = backup.Defense; lixiaoyao.StateDisplay(); Console.Read(); } } //游戏角色类, class GameRole {

【设计模式】——备忘录模式

只愿长相守 提交于 2020-01-22 18:34:41
备忘录(Memento) :在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。   Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的那些状态。Memento(备忘录):负责存储Originator对象的内部状态,并可防止Originator以外的对象访问备忘录Memento。备忘录有两个接口,Caretaker只能看到备忘录的窄接口,它只能将备忘录传递给其他对象。Originator能够看到一个宽接口,允许它访问返回到先前状态所需的所有数据。Caretaker(管理者):负责保存好备忘录Memento,不能对备忘录的内容进行操作或检查。这当中要保存的细节给封装在了Memento中,那一天要更改保存的细节也不用影响客户端了。    代码基本模板 #include <iostream> using namespace std; //备忘录(Memento)类 class Memento { private: string m_state; public: Memento(string state):m_state(state) { } string getState()

备忘录模式 - 设计模式学习

空扰寡人 提交于 2020-01-22 18:34:21
  备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。   以下给出备忘录模式的UML图:        Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。   Memento(备忘录):负责存储Originnator对象的内部状态,并可防止Originator以外的其他对象访问备忘录Memento,备忘录有两个接口,Caretaker只能看到备忘录的窄接口,它只能将备忘录传递给其他对象。   Caretaker(管理者):负责保存好备忘录Memento,不能对备忘录的内容进行操作或检查。   以下给出备忘录模式的基本代码结构: namespace ConsoleApplication1 { class Originator { private string state; public string State //需要保存的属性,可能有多个 { get { return state; } set { state = value; } } public Memento CreateMemento() //创建备忘录