breed

python开发之旅——面向对象【人狗大战】

牧云@^-^@ 提交于 2020-03-11 12:35:48
class Dog: role = 'Dog' def __init__(self,name,breed,attack_val): self.name = name self.breed = breed self.attack_val = attack_val self.life_val = 100 def bite(self,person): person.life_val -= self.attack_val print('狗%s咬人%s 人掉了%s血,还剩%s血'%(self.name,person.name,self.attack_val,person.life_val)) class Person: role = 'Person' def __init__(self,name,sex,attack_val): self.name = name self.sex = sex self.life_val = 100 self.attack_val = attack_val def attack(self,dog): dog.life_val -= self.attack_val print('人%s打打狗%s 狗掉了%s血,还剩%s血'%(self.name,dog.name,self.attack_val,dog.life_val)) d1 = Dog('叶薇琦','二哈'

斐讯k1路由器刷Breed BootLoader(不死UBoot)教程

▼魔方 西西 提交于 2020-02-24 23:01:55
刷入Breed BootLoader: 因为这个K1路由器可以开启telnet服务,所以此处刷Breed可以不使用编程器刷Flash芯片的方法进行。 1.打开K1路由器的Telnet服务。 电脑通过有线的方式连接路由器(为了不必要的麻烦,这里建议用有线连接),在浏览器中输入: http://192.168.2.1/goform/Diagnosis?pingAddr=192.168.2.100|echo""|telnetd 2.在电脑上打开Telnet软件,连接路由器。 Password: 3.备份原uboot。 首先查看系统分区: mtd6: 00010000 00010000 "nvram" 确定有bootloader,导出bootloader到/tmp下 # cat /dev/mtd1 > /tmp/uboot.bin 通过TFTP服务,将备份的bootloader导入到电脑上。 # tftp -p -r mtd1.bin -l mtd1.bin 192.168.2.100 3.开始刷入Breed。 将breed文件传入路由器中,这里可以通过HTTP和TFTP这两种方式。 HTTP方式:(需要路由器能上网) breed-mt7620-reset1. 100% |*******************************| 81685 00:00:00 ETA TFTP方式:

斐讯K2刷机

江枫思渺然 提交于 2020-01-24 17:48:11
斐讯K2 硬件版本A5 软件版本K2_V22.6.507.43 参考链接: 1.通过功能设置降级固件到K2_V22.6.506.28,文件:K2_V22.6.506.28.bin 2.使用RoutAckProV1B2开启路由器的telnet,文件:RoutAckProV1B2.exe 3.刷入Breed,使用breed web助手,管理员身份运行“路由器刷breed web助手通用版V4.8”,刷机方案选择“通用方案[需要开启路由器telnet或ssh],开始刷机,如果弹出breed懒人工具,关闭即可。刷入breed成功 4.进入不死刷固件:断电按住reset键不松手,通电5秒后松开reset键,浏览器访问192.168.1.1,进入breed web控制台 5.先执行 恢复出厂设置--固件类型选择config(公版),点击执行; 6.固件更新--右侧固件选择华硕固件,点击上传,文件:RT-AC54U-GPIO-1-PSG1218-64M_3.4.3.9-099.trx 来源: CSDN 作者: 刺猬在奔跑 链接: https://blog.csdn.net/electricstudent/article/details/104080876

小米路由器青春版刷入其他固件

ぐ巨炮叔叔 提交于 2020-01-17 14:51:34
小米路由器青春版搭载的是基于OpenWRT深度定制的智能路由器操作系统MiWiFi ROM,实质即嵌入式linux系统。 小米路由器青春版自带的miwifi_r1cl_all_59371_2.1.26.bin及其以下版本中存在通过路由器web管理界面开启ssh的bug,借此契机我们通过外部工具对小米路由器自带的固件进行外部刷入。 miwifi固件ROM包下载地址 固件刷新步骤: 1. 进入路由器内部系统(开启ssh) 2. 备份原厂bin 3. 刷入breed管理固件 4. 进入breed管理界面,刷入外部固件(Padavan固件、华硕固件、梅林等) 5. 路由器重启,配置新的固件管理及测试 在开放平台中,我们很容易就能找到”开启SSH工具”,了解服务器的都知道,用SSH的方式,我们可以通过命令行的方式与系统进行连接,路由器系统也不例外。出于安全考虑,路由器系统都会把SSH关了,自然我们就不容易进到路由器的系统中。在寻找官方的开启SSH工具的过程中我们会发现,我们的小米路由器青春版其实是没有官方的开启工具的。 这个时候有细心网友及技术党发现,在旧版的开发版系统中(低于2.1.26皆可,含2.1.26),是可以直接通过修改路由管理器的请求地址的特定参数值对,而改变系统参数。 下面引用修改的方法: 一、刷回旧版固件,开启SSH 因小米官方并未开放青春版SSH开启工具

模仿的一天

别等时光非礼了梦想. 提交于 2019-12-20 18:18:20
public interface PetOutput{ void sound(); } public class Dog implements PetOutput{ private String name; private String breed; public Dog (String aName){ name=aName; breed="哈巴犬"; } public Dog (String aName, String aBreed){ name=aName; breed=aBreed; } public void training(){ System.out.println("汪汪汪汪汪......"); } public String toString(){ return"它的名字"+name+",它是"+breed; } } 来源: https://www.cnblogs.com/l2760186162/p/10752738.html

Scala枚举的简单使用

假如想象 提交于 2019-12-17 12:52:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Scala枚举的简单使用 Scala只提供了Enumeration抽象类来定义枚举,如下是一个枚举的定义。 /** * Created by xinxingegeya on 16/1/15. */ object Breed extends Enumeration { // 抽象类型 type Breed = Value val doberman = Value("Doberman Pinscher") val yorkie = Value("Yorkshire Terrier") val scottie = Value("Great Dane") val portie = Value("Portuguese Water Dog") } 如下定义一周的枚举, object WeekDay extends Enumeration { type WeekDay = Value val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value } 对枚举的操作和遍历, object Breed extends Enumeration { // 抽象类型 type Breed = Value val doberman = Value("Doberman Pinscher") val yorkie

刷路由器固件的一些提示

送分小仙女□ 提交于 2019-12-06 00:21:13
记录下前段时间关于路由器的收获,(防止遗忘,为重启该计划做准备),拿起键盘又不知从何说起…… 大体概念 : 首先我对路由器的认识是颠覆了的,从前我没有去深入了解它,我并不明白它的构造。如今,我了解到路由器是一个小型的嵌入式,他有自己的操作系统,各路由器厂商都会开发各自的操作系统,但他们往往基于Linux。 紧接着要说的是关于open-wrt、老毛子、Pandorabox他们都是什么?他们是第三方固件,是第三方开发的操作系统,基于Linux,可拓展性很强。 什么是breed、u-boot?据我所知breed是恩山论坛大佬h**开发的引导,与我们所熟知的电脑需要引导一样,路由器也是需要引导的,breed等被称作“不死系统”,正是因为它改写了路由器的引导,使得即使在路由器“变砖”的情况下,摁住reset键,接通电源3-5秒后,将会还原系统至breed;以开始新一段的刷机之旅。。。。 一些零散的知识点 : 1.刷机需要适配机器的CPU, 这里 有关于路由器品牌型号与CPU的对应。但是!!也要注意的是一些二手商家会换CPU,有时候屡屡刷机失败,可能是CPU不匹配的结果。推荐的是先刷breed,在breed的web控制台,会有CPU的具体型号。 2.在刷入breed之前不要乱刷其他第三方固件,不匹配会变砖,刷breed并不很麻烦但需要ssh可以连接到路由器。极路由需要申请成为开发者

游戏编程模式-类型对象

假如想象 提交于 2019-11-30 12:50:49
  “通过创建一个类来支持新类型的灵活创建,其每个实例都代表一个不同的对象类型。“ 动机   在RPG游戏中,我们通常会创建很多的怪物来作为我们主角的敌人,比如说恶龙、野狼等。怪物具有一系列的属性:生命值、攻击力、图形效果、声音表现等。每一种怪物的属性不同,比如生命值,龙具有比野狼跟多的初始生命值,这使得龙更难被杀死。这个时候,我们需要在游戏中来实现它们。那么怎么来做了?   我们第一时间的就会想到使用继承。首先声明一个Monster的基类: class Monster { public: virtual ~Monster() {} virtual const char* getAttack()=0; protected: Monster(int startingHealth):health_(startingHealth) { } private: int health_; //current health };   接下来我们实现子类: class Dragon:public Monster { public: Dragon():Monster(230) {} virtual const char* getAttack() { return "The dragon breathes fire!"; } };   每个派生类都传入初始生命值,并重写getAttack()函数

类型对象模式

谁说我不能喝 提交于 2019-11-28 11:08:00
个人理解:将类中 统一的,变化大的 部分抽象出来 特殊处理这样当需要大量派生子类处理差异的时候就避免了这个操作 举个例子:游戏中的小怪 有的攻击可以产生一些Debuff,有的会产生粒子特效,有的只产生伤害 针对不同类型的小怪 需要派生大量的子类 为避免这种情况出现下面这种解决方案 #region 继承方式的实现 public abstract class Monster { public Monster(int startingHealth) { Health = startingHealth; } public int Health { get; private set; } public abstract string AttackString { get; } } public class Dragon : Monster { public Dragon(): base(500){} public override string AttackString { get { return "The dragon breathes fire!"; } } } public class Troll : Monster { public Troll():base(300){} public override string AttackString { get { return "The