hero

Java自学-Lambda 概念

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-17 19:54:37
Java Lambda 表达式概念 假设一个情景: 找出满足条件的Hero 从使用 普通方法,匿名类 ,以及 Lambda 这几种方式,逐渐的引入Lambda的概念 步骤 1 : 普通方法 使用一个普通方法,在for循环遍历中进行条件判断,筛选出满足条件的数据 hp>100 && damage<50 package lambda; import java.util.ArrayList; import java.util.List; import java.util.Random; import charactor.Hero; public class TestLambda { public static void main(String[] args) { Random r = new Random(); List<Hero> heros = new ArrayList<Hero>(); for (int i = 0; i < 10; i++) { heros.add(new Hero("hero " + i, r.nextInt(1000), r.nextInt(100))); } System.out.println("初始化后的集合:"); System.out.println(heros); System.out.println("筛选出 hp>100 && damange

【网易官方】极客战记(codecombat)攻略-地牢-Kithgard 之门

荒凉一梦 提交于 2020-02-17 10:20:48
关卡连接: https://codecombat.163.com/play/level/kithgard-gates 免费试玩: https://codecombat.163.com/play 逃离地牢,不要让守卫抓住你。 简介: buildXY("fence", x, y) 允许你在某个位置上建造围栏 (fence),就像这样: hero.buildXY("fence", 40, 20) 将鼠标移动到地图上,找出要建造围栏的位置,把 buildXY 的坐标参数替换为你要的数字。 默认代码 # 建造三个围栏来阻挡食人魔! hero.moveDown() hero.buildXY("fence", 36, 34) 概览 用了 建造者之锤 后,你就别整天打打杀杀了,现在有了新的 buildXY 方法。 buildXY 不止一个参数,它有三个参数: buildType , x 和 y 。你可以用它来决定,在哪里建造什么。 buildType : 可以是 "fence" ,用于建造围栏;也可以是 "fire-trap" ,用于建造陷阱。 x : 建造处的横坐标,你可以 把鼠标移动到地图上 以找到坐标。 y : 建造处的纵坐标。两个坐标都以 米 为单位。 buildXY("fence", x, y) 可以让你在某处建造围栏,就像这样: hero.buildXY("fence", 40, 20

Java中的final关键字

。_饼干妹妹 提交于 2020-01-30 13:40:18
1.final修饰类 当类被修饰成final的时候,表示该类不能够被继承,其子类会出现编译错误 2.final修饰方法 父类的方法被修饰成final,那么该方法在子类中中,不能够被重写 3.final修饰基本类型变量 final修饰基本类型变量,表示该变量只有一次赋值机会 4.final修饰引用 引用被修饰成final,表示该引用只有 1次指向对象的机会 public class Hero extends Object { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 public static void main(String[] args) { final Hero h; h =new Hero(); h =new Hero();              //此处会报错 h.hp = 5; } } 来源: https://www.cnblogs.com/z-cg/p/12242598.html

黑马程序员 飞机大战下 笔记

与世无争的帅哥 提交于 2020-01-28 12:51:29
前言 昨日推箱子游戏的碰撞检测中,我忽略了箱子互相挨着的情况。修改的方法很简答: if len(pygame.sprite.groupcollide(hero_group,box_group,False,False)) > 0: self.rect.y -= 50 if len(pygame.sprite.groupcollide(hero_group,wall_group,False,False)) + len(pygame.sprite.groupcollide(hero_group,box_group,False,False))> 0: self.rect.y += 50 self.rect.y += 50 加上检测是否有箱子即可。 在我看来,黑马源代码有一个我容易忽略的点,其编写敌机、英雄、背景和子弹类多半使用的是私有成员函数。 def __create_sprites(self): 之前的我在直接复制改代码的时候忽略了这个问题,因为无法访问成员函数这个问题瞎忙活了半晌,最后找到前面的下划线时哭笑不得。 英雄和子弹 英雄拥有的额外属性:水平移动,定时发射子弹。于update函数中添加位移限制,利用get.pressed函数,省去反复摁键的繁赘。 def __event_handler(self): key_press = pygame.key.get_pressed()

Java学习-匿名类

痞子三分冷 提交于 2020-01-25 17:22:11
/*--> */ /*--> */ /*--> */ /*--> */ 1.筛选出符合条件的Hero:要求hp>100 && damage<50 匿名类实现: 先定义接口HeroChecker,其中的test()方法实现了Hero的筛选 1 package generic; 2 3 import charactor.Hero; 4 5 public interface HeroChecker { 6 public boolean test(Hero h); 7 } 1 package generic; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Random; 6 import charactor.Hero; 7 8 public class test { 9 10 public static void main(String[] args) { 11 Random r = new Random(); 12 List<Hero> heros = new ArrayList<Hero>(); 13 for (int i = 0; i < 10; i++) { 14 heros.add(new Hero("hero " + i, r.nextInt(1000), r

Unity Fresnel Hero(Dota2) Shader

我的梦境 提交于 2020-01-25 00:24:00
Shader "HeroShader" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _RimColor ("Rim Color", Color) = (0.97,0.88,1,0.75) _RimPower ("Rim Power", Float) = 2.5 _Fresnel ("Fresnel Value", Float) = 0.28 _MainTex ("Base (RGB)", 2D) = "white" {} _BumpMap ("Bump (RGB)", 2D) = "bump" {} _SpecularTex ("Specular Level (R) Gloss (G)", 2D) = "gray" {} _RimTex ("Rim ramp (RGB) Fresnel ramp (A)", 2D) = " grey" {} _WrapTex ("Wrap ramp (RGBA)", 2D) = "black" {} _Cutoff ("Alpha cutoff", Range (0,1)) = 0.5 } SubShader { Tags { "RenderType" = "Opaque" } AlphaTest Greater [_Cutoff] Blend Off Cull Off

建造者模式

主宰稳场 提交于 2020-01-24 08:23:01
  玩过data或者lol的应该都知道,每个英雄有很多属性组成,例如血量、魔法量、智力值、敏捷值、力量值,还有4个技能,在没有使用建造者模式时,我们创造一个英雄过程是这样的,调用无参构造创建英雄,然后给英雄设置各个属性,由于属性比较多,并且赋值时可能有先后顺序,所以创建过程非常复杂,万一其中我们忘了给英雄设置一个技能,那么就会产生bug,这当然是不行的,还有就是每次我们去创建一个英雄都要重复上面的工作,这也是相当麻烦的,那么怎么办呢?建造者模式就是为了解决这个问题。   建造者模式定义:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。   建造者模式中有四种角色:   1、Builder:抽象建造者。它声明为创建一个Product对象的各个部件指定的抽象接口。   2、ConcreteBuilder:具体建造者。实现抽象接口,构建和装配各个部件。   3、Director:指挥者。构建一个使用Builder接口的对象。它主要是用于创建一个复杂的对象,它主要有两个作用,一是:隔离了客户与对象的生产过程,二是:负责控制产品对象的生产过程。   4、Product:产品角色。一个具体的产品对象。   建造者模式的适用场景是这样的:     1、当对象的构建过程十分复杂,需要与表示分离的时候。   2、当对象的表示有不同种类

Angular之响应式表单 ( Reactive Forms )

心已入冬 提交于 2020-01-24 01:12:12
项目结构 一 首页 ( index.html ) <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Angular4ReactiveForm</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> </head> <body> <app-hero-list></app-hero-list> </body> </html> 二 根模块 ( app.module.ts ) import { BrowserModule } from '@angular/platform-browser'; import { ReactiveFormsModule } from '@angular/forms'; import { NgModule } from '@angular/core'; import { HeroListComponent } from './hero-list/hero-list.component'; import {

装饰器模式

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-18 19:20:34
装饰器模式 创建一个装饰类,用来包装原有的类,在保证不改变其结构完整的情况下,提供额外的功能。 介绍 意图 :动态的为类增加新的功能。 使用场景 :在不想增加许多子类的情况下扩展类。 关键代码 : Component类充当抽象角色,不应该是具体实现。 修饰类引用和继承Component类,具体扩展类重写父类方法。 优点 :装饰类和被装饰类相互独立,不会相互耦合,是继承的一个替代模式,动态的对类的功能进行扩展,更加的灵活。 缺点 :多层装饰比较复杂 使用: // 接口 /** * 英雄接口 * @author 98543 */ public interface Hero { public void learnSkill(); } // 被修饰类 /** * 具体英雄 * @author 98543 */ public class BlindMonk implements Hero{ protected String name; public BlindMonk(String name) { this.name = name; } @Override public void learnSkill() { System.out.println(name+"学习了以上技能"); } } // 抽象修饰器 /** * 抽象修饰类 * @author 98543 */ public

D. Yet Another Monster Killing Problem

冷暖自知 提交于 2020-01-17 05:24:14
http://codeforces.com/contest/1257/problem/D D. Yet Another Monster Killing Problem time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output You play a computer game. In this game, you lead a party of 𝑚 heroes, and you have to clear a dungeon with 𝑛 monsters. Each monster is characterized by its power 𝑎𝑖. Each hero is characterized by his power 𝑝𝑖 and endurance 𝑠𝑖. The heroes clear the dungeon day by day. In the beginning of each day, you choose a hero (exactly one) who is going to enter the dungeon this day. When the hero enters the dungeon, he