hero

Java自学-异常处理 自定义异常

独自空忆成欢 提交于 2019-12-01 15:38:24
Java 自定义异常 示例 1 : 创建自定义异常 一个英雄攻击另一个英雄的时候,如果发现另一个英雄已经挂了,就会抛出EnemyHeroIsDeadException 创建一个类EnemyHeroIsDeadException,并继承Exception 提供两个构造方法 无参的构造方法 带参的构造方法,并调用父类的对应的构造方法 class EnemyHeroIsDeadException extends Exception{ public EnemyHeroIsDeadException(){ } public EnemyHeroIsDeadException(String msg){ super(msg); } } 示例 2 : 抛出自定义异常 在Hero的attack方法中,当发现敌方英雄的血量为0的时候,抛出该异常 创建一个EnemyHeroIsDeadException实例 通过 throw 抛出该异常 当前方法通过 throws 抛出该异常 在外部调用attack方法的时候,就需要进行捕捉,并且捕捉的时候,可以通过e.getMessage() 获取当时出错的具体原因 package charactor; public class Hero { public String name; protected float hp; public void attackHero

Codecombat 游戏攻略——JavaScript编辑语言——关卡(计算机科学三)

别等时光非礼了梦想. 提交于 2019-12-01 13:52:06
第一关:友和敌 // 农民和差役聚集在森林里。 // 命令农民战斗,差役滚开! while (true) { var friend = hero.findNearestFriend(); if (friend) { hero.say("去战斗, " + friend.id + "!"); } // 寻找最近的敌人,然后让他们滚开。 var enemy = hero.findNearestEnemy(); if (enemy) { hero.say("滚开," + enemy.id + "!"); } } 第二关:似曾相识的味道 // 你可以把字符串连起来,或者把数字连接到字符串。 // 一起唱歌,使用字符串连接: // X potions of health on the wall! // X potions of health! // Take Y down, pass it around! // X-Y potions of health on the wall. var potionsOnTheWall = 10; var numToTakeDown = 1; while (true) { hero.say(potionsOnTheWall + " potions of health on the wall!"); // 唱出下一句: hero.say

【算法】网易云音乐日推算法浅析

荒凉一梦 提交于 2019-12-01 13:25:37
“网易云音乐”里有一项类似于淘宝“我的喜好”的“日推”功能,根据你经常听的歌曲类型,每日推送给你类似的音乐,几乎次次惊艳,而且大多都没听过,或者好久以前听过早就忘记了名字,或者之前不知道在哪听过 只是知道其中一部分旋律,根本不知道名字,等等。 参考了在北京实习时一个同事的分享以及在“知乎”上大神们的介绍,本文暂不考虑算法实现,仅仅从算法本身来学习一番,对IT世界里一些脑洞大开的想法做以分享。 如图,是日推算法的两种实现思路: 一、“潜在因子”算法 这种算法是在NetFlix(没错,就是用大数据捧火《纸牌屋》的那家公司)的推荐算法竞赛中获奖的算法,具体用在日推上的套路是这样: 1、思路 每个用户(user)都有自己的偏好,比如A喜欢带有小清新的、吉他伴奏的、李健等 元素 (其实就是标签),如果一首歌(item)带有这些 元素 ,那么就将这首歌推荐给该用户,也就是用元素去连接用户和音乐。 2、实现: 每个人对不同的元素偏好不同,而每首歌包含的元素也不一样。模拟这样两个矩阵: (1)用户-潜在因子矩阵Q: 表示不同的用户对于不用元素的偏好程度,1代表很喜欢,0代表不喜欢。比如下面这样: (2)潜在因子-音乐矩阵P 表示每种音乐含有各种元素的成分,比如下表中,音乐A是一个偏小清新的音乐,含有小清新这个Latent Factor的成分是0.9,重口味的成分是0.1,优雅的成分是0.2……

day 19 作业

妖精的绣舞 提交于 2019-11-30 22:39:09
作业 什么是对象 对象就是有一定特征和技能的结合体 什么是类 类就是所有相似的对象特征和技能的结合体 绑定方法的特点 对象的绑定方法是由对象来调用的,特点是在调用时会自动传入对象本身,不同的对象调用该绑定方法时,会将不同的对象放入到绑定方法中 对战小游戏 class Hero: def __init__(self, name, health, magic, attk): self.name = name self.health = health self.magic = magic self.attk = attk def attack(self, monster): monster.health -= self.attk print(f'{self.name}攻击了{monster.name},' f'{monster.name}当前生命值:{monster.health}') if monster.health <= 0: return True class Monster: def __init__(self, name, health, magic, attk): self.name = name self.health = health self.magic = magic self.attk = attk def attack(self, hero): hero

Java自学-接口与继承 内部类

丶灬走出姿态 提交于 2019-11-30 09:59:57
Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore “战斗成绩” 非静态内部类可以直接在一个类里面定义 比如: 战斗成绩只有在一个英雄对象存在的时候才有意义 所以实例化BattleScore 的时候,必须建立在一个存在的英雄的基础上 语法: new 外部类().new 内部类() 作为Hero的非静态内部类,是可以直接访问外部类的 private 实例属性name的 package charactor; public class Hero { private String name; // 姓名 float hp; // 血量 float armor; // 护甲 int moveSpeed; // 移动速度 // 非静态内部类,只有一个外部类对象存在的时候,才有意义 // 战斗成绩只有在一个英雄对象存在的时候才有意义 class BattleScore { int kill; int die; int assit; public void legendary() { if (kill >= 8) System.out.println(name + "超神!"); else System.out.println(name + "尚未超神!"); } } public static void

java中级——集合框架【1】-ArrayList

吃可爱长大的小学妹 提交于 2019-11-29 10:26:49
集合框架 ----ArrayList 引子:我们先来看看传统数组的用法 写一个 Hero 对象类 package cn.jse.t1; public class Hero { public String name; public float hp; public int damage; public Hero(){} //增加一个初始化name的构造方法 public Hero(String name){ this .name=name; } //重写一个toString 方法 public String toString(){ return name; } } 写一个测试类 package cn.jse.t1; public class TestCollection { public static void main(String[] args) { //数组的局限性 Hero hero[] = new Hero[10]; //分析:声明了长度为10的数组,如果不用完就是浪费内存,超过了10个又放不下 hero[0] = new Hero("ADC"); hero[11]= new Hero("Mid"); //这里超过了10个就会报错 } } 为了解决这种的尴尬局面,我们可以使用容器类 ArrayList , 我们增加一些代码在测试类里面。 package cn.jse.t1;

Java自学-类和对象 类属性

房东的猫 提交于 2019-11-29 04:31:24
Java的类属性和对象属性 当一个属性被 static 修饰的时候,就叫做 类属性 ,又叫做 静态属性 当一个属性被声明成类属性,那么 所有的对象,都共享一个值 与对象属性对比: 不同对象的 对象属性 的值都可能不一样。 比如盖伦的hp 和 提莫的hp 是不一样的。 但是所有对象的类属性的值,都是一样的 步骤 1 : 类属性 类属性 : 又叫做静态属性 对象属性 : 又叫实例属性,非静态属性 如果一个属性声明成类属性,那么所有的对象,都共享这么一个值 给英雄设置一个类属性叫做“版权" (copyright), 无论有多少个具体的英雄,所有的英雄的版权都属于 Riot Games公司。 package charactor; public class Hero { public String name; //实例属性,对象属性,非静态属性 protected float hp; static String copyright;//类属性,静态属性 public static void main(String[] args) { Hero garen = new Hero(); garen.name = "盖伦"; Hero.copyright = "版权由Riot Games公司所有"; System.out.println(garen.name); System.out

Java自学-类和对象 访问修饰符

依然范特西╮ 提交于 2019-11-29 03:13:57
Java的四种访问修饰符 成员变量有四种修饰符 private 私有的 package /friendly/default 不写 protected 受保护的 public 公共的 比如public 表示公共的 public String name; 而maxHP 没有修饰符即代表package/friendly/default float maxHP 示例 1 : 类之间的关系 类和类之间的关系有如下几种: 以Hero为例 自身 :指的是Hero自己 同包子类 :ADHero这个类是Hero的子类,并且和Hero处于 同一个包下 不同包子类 :Support这个类是Hero的子类,但是在 另一个包下 同包类 : GiantDragon 这个类和Hero是 同一个包 ,但是彼此 没有继承关系 其他类 :Item这个类, 在不同包 ,也没有继承关系的类 示例 2 : private 私有的 使用private修饰属性 自身:是可以访问的 同包子类:不能继承 不同包子类:不能继承 同包类:不能访问 其他包类:不能访问 注: 红色字体,表示不可行 package charactor; import property.Weapon; public class Hero { //属性id是private的,只有Hero自己可以访问 //子类不能继承 //其他类也不能访问 private

JDBC ORM(Object Relationship Database Mapping)

*爱你&永不变心* 提交于 2019-11-29 02:45:12
ORM=Object Relationship Database Mapping 对象和关系数据库的映射 简单说, 一个对象,对应数据库里的 一条记录 示例:根据id返回一个Hero对象 提供方法get(int id) 返回一个Hero对象 public class Hero { //增加id属性 public int id; public String name; public float hp; public int damage; } public class TestJDBC { public static Hero get(int id) { Hero hero = null; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin"); Statement s = c.createStatement();) { String sql = "select * from

用Python实现飞机大战

℡╲_俬逩灬. 提交于 2019-11-28 15:40:57
初学Python,写了一个简单的Python小游戏。 师出bilibili某前辈 pycharm自带了第三方库pygame,安装一下就好了,很方便。 虽然很多大佬已经给出了步骤,我这里还是啰嗦一下,也为了自己巩固一下。 上图: 这里再给出代码的逻辑架构 声明:代码非本人开发,源于bilibiliPython基础课。 plane_main.py import pygame from plane_sprites import * class PlaneGame ( object ) : """飞机大战主游戏""" def __init__ ( self ) : print ( "游戏初始化" ) #1.创建游戏窗口 self . screen = pygame . display . set_mode ( SCREEN_RECT . size ) #2.创建游戏的时钟 self . clock = pygame . time . Clock ( ) #3.调用私有方法,精灵和精灵组的创建 self . __creat_sprites ( ) #4.设置定时器事件-1s敌机出现 pygame . time . set_timer ( CREATE_ENEMY_EVENT , 1000 ) pygame . time . set_timer ( HERO_FIRE_EVENT , 500