当前位置: 首页>>代码示例>>Java>>正文


Java IronKey类代码示例

本文整理汇总了Java中com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey的典型用法代码示例。如果您正苦于以下问题:Java IronKey类的具体用法?Java IronKey怎么用?Java IronKey使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IronKey类属于com.shatteredpixel.shatteredpixeldungeon.items.keys包,在下文中一共展示了IronKey类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createItems

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
@Override
protected void createItems() {

	int keyPos = anteroom.random();
	while (!passable[keyPos]) {
		keyPos = anteroom.random();
	}
	drop( new IronKey( Dungeon.depth ), keyPos ).type = Heap.Type.CHEST;
	
	Item item = Bones.get();
	if (item != null) {
		int pos;
		do {
			pos = roomEntrance.random();
		} while (pos == entrance || map[pos] == Terrain.SIGN);
		drop( item, pos ).type = Heap.Type.REMAINS;
	}
}
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:19,代码来源:PrisonBossLevel.java

示例2: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void paint( Level level ) {

		Painter.fill( level, this, Terrain.WALL );
		Painter.fill( level, this, 1, Terrain.EMPTY_SP );
		Painter.fill( level, this, 2, Terrain.EMPTY );
		
		int cx = (left + right) / 2;
		int cy = (top + bottom) / 2;
		int c = cx + cy * level.width();
		
		Random.shuffle(prizeClasses);
		
		Item i1, i2;
		do {
			i1 = prize( level );
			i2 = prize( level );
		} while (i1.getClass() == i2.getClass());
		level.drop( i1, c ).type = Heap.Type.CRYSTAL_CHEST;
		level.drop( i2, c + PathFinder.NEIGHBOURS8[Random.Int( 8 )]).type = Heap.Type.CRYSTAL_CHEST;
		level.addItemToSpawn( new CrystalKey( Dungeon.depth ) );
		
		entrance().set( Door.Type.LOCKED );
		level.addItemToSpawn( new IronKey( Dungeon.depth ) );
	}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:25,代码来源:VaultRoom.java

示例3: countIronKeys

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void countIronKeys() {

        IronKey.curDepthQuantity = 0;

        for (Item item : backpack) {
            if (item instanceof IronKey && ((IronKey)item).depth == Dungeon.depth) {
                IronKey.curDepthQuantity += item.quantity();
            }
        }
    }
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:11,代码来源:Belongings.java

示例4: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public static void paint( Level level, Room room ) {

		fill( level, room, Terrain.WALL );
		fill( level, room, 1, Terrain.EMPTY );

		Point c = room.center();
		int cx = c.x;
		int cy = c.y;
		
		Room.Door entrance = room.entrance();
		
		entrance.set( Room.Door.Type.LOCKED );
		level.addItemToSpawn( new IronKey( Dungeon.depth ) );
		
		if (entrance.x == room.left) {
			set( level, new Point( room.right-1, room.top+1 ), Terrain.STATUE );
			set( level, new Point( room.right-1, room.bottom-1 ), Terrain.STATUE );
			cx = room.right - 2;
		} else if (entrance.x == room.right) {
			set( level, new Point( room.left+1, room.top+1 ), Terrain.STATUE );
			set( level, new Point( room.left+1, room.bottom-1 ), Terrain.STATUE );
			cx = room.left + 2;
		} else if (entrance.y == room.top) {
			set( level, new Point( room.left+1, room.bottom-1 ), Terrain.STATUE );
			set( level, new Point( room.right-1, room.bottom-1 ), Terrain.STATUE );
			cy = room.bottom - 2;
		} else if (entrance.y == room.bottom) {
			set( level, new Point( room.left+1, room.top+1 ), Terrain.STATUE );
			set( level, new Point( room.right-1, room.top+1 ), Terrain.STATUE );
			cy = room.top + 2;
		}
		
		level.drop( prize( level ), cx + cy * Level.WIDTH ).type = Type.TOMB;
	}
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:35,代码来源:CryptPainter.java

示例5: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public static void paint( Level level, Room room ) {

		fill( level, room, Terrain.WALL );
		fill( level, room, 1, Terrain.EMPTY );
		
		int cx = (room.left + room.right) / 2;
		int cy = (room.top + room.bottom) / 2;
		int c = cx + cy * Level.WIDTH;
		
		switch (Random.Int( 3 )) {
		
		case 0:
			level.drop( prize( level ), c ).type = Type.LOCKED_CHEST;
			level.addItemToSpawn( new GoldenKey( Dungeon.depth ) );
			break;
			
		case 1:
			Item i1, i2;
			do {
				i1 = prize( level );
				i2 = prize( level );
			} while (i1.getClass() == i2.getClass());
			level.drop( i1, c ).type = Type.CRYSTAL_CHEST;
			level.drop( i2, c + Level.NEIGHBOURS8[Random.Int( 8 )]).type = Type.CRYSTAL_CHEST;
			level.addItemToSpawn( new GoldenKey( Dungeon.depth ) );
			break;
			
		case 2:
			level.drop( prize( level ), c );
			set( level, c, Terrain.PEDESTAL );
			break;
		}
		
		room.entrance().set( Room.Door.Type.LOCKED );
		level.addItemToSpawn( new IronKey( Dungeon.depth ) );
	}
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:37,代码来源:VaultPainter.java

示例6: onOperateComplete

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
@Override
public void onOperateComplete() {
	
	if (curAction instanceof HeroAction.Unlock) {

		int doorCell = ((HeroAction.Unlock)curAction).dst;
		int door = Dungeon.level.map[doorCell];

		if (door == Terrain.LOCKED_DOOR){
			Notes.remove(new IronKey(Dungeon.depth));
			Level.set( doorCell, Terrain.DOOR );
		} else {
			Notes.remove(new SkeletonKey(Dungeon.depth));
			Level.set( doorCell, Terrain.UNLOCKED_EXIT );
		}
		GameScene.updateKeyDisplay();
		
		Level.set( doorCell, door == Terrain.LOCKED_DOOR ? Terrain.DOOR : Terrain.UNLOCKED_EXIT );
		GameScene.updateMap( doorCell );
		
	} else if (curAction instanceof HeroAction.OpenChest) {

		Heap heap = Dungeon.level.heaps.get( ((HeroAction.OpenChest)curAction).dst );
		if (heap.type == Type.SKELETON || heap.type == Type.REMAINS) {
			Sample.INSTANCE.play( Assets.SND_BONES );
		} else if (heap.type == Type.LOCKED_CHEST){
			Notes.remove(new GoldenKey(Dungeon.depth));
		} else if (heap.type == Type.CRYSTAL_CHEST){
			Notes.remove(new CrystalKey(Dungeon.depth));
		}
		GameScene.updateKeyDisplay();
		heap.open( this );
	}
	curAction = null;

	super.onOperateComplete();
}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:38,代码来源:Hero.java

示例7: createItems

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
@Override
protected void createItems() {
	Item item = Bones.get();
	if (item != null) {
		drop( item, randomRespawnCell() ).type = Heap.Type.REMAINS;
	}
	drop(new IronKey(10), randomPrisonCell());
}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:9,代码来源:PrisonBossLevel.java

示例8: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void paint( Level level ) {
	
	Painter.fill( level, this, Terrain.WALL );
	Painter.fill( level, this, 1, Terrain.EMPTY_SP );
	
	Door entrance = entrance();
	
	Painter.fill( level, left + 1, top+1, width() - 2, 1 , Terrain.BOOKSHELF );
	Painter.drawInside(level, this, entrance, 1, Terrain.EMPTY_SP );
	
	int n = Random.IntRange( 2, 3 );
	for (int i=0; i < n; i++) {
		int pos;
		do {
			pos = level.pointToCell(random());
		} while (level.map[pos] != Terrain.EMPTY_SP || level.heaps.get( pos ) != null);
		Item item;
		if (i == 0)
			item = Random.Int(2) == 0 ? new ScrollOfIdentify() : new ScrollOfRemoveCurse();
		else
			item = prize( level );
		level.drop( item, pos );
	}
	
	entrance.set( Door.Type.LOCKED );
	
	level.addItemToSpawn( new IronKey( Dungeon.depth ) );
}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:29,代码来源:LibraryRoom.java

示例9: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void paint( Level level ) {

		Door entrance = entrance();
		entrance.set(Door.Type.LOCKED);
		level.addItemToSpawn(new IronKey(Dungeon.depth));

		Painter.fill(level, this, Terrain.WALL);
		Painter.fill(level, this, 1, Terrain.GRASS);


		int heartX = Random.IntRange(left+1, right-1);
		int heartY = Random.IntRange(top+1, bottom-1);

		if (entrance.x == left) {
			heartX = right - 1;
		} else if (entrance.x == right) {
			heartX = left + 1;
		} else if (entrance.y == top) {
			heartY = bottom - 1;
		} else if (entrance.y == bottom) {
			heartY = top + 1;
		}

		placePlant(level, heartX + heartY * level.width(), new RotHeart());

		int lashers = ((width()-2)*(height()-2))/8;

		for (int i = 1; i <= lashers; i++){
			int pos;
			do {
				pos = level.pointToCell(random());
			} while (!validPlantPos(level, pos));
			placePlant(level, pos, new RotLasher());
		}
	}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:36,代码来源:RotGardenRoom.java

示例10: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void paint( Level level ) {
	
	Painter.fill( level, this, Terrain.WALL );
	Painter.fill( level, this, 1, Terrain.EMPTY );

	Point c = center();
	int cx = c.x;
	int cy = c.y;
	
	Door entrance = entrance();
	
	entrance.set( Door.Type.LOCKED );
	level.addItemToSpawn( new IronKey( Dungeon.depth ) );
	
	if (entrance.x == left) {
		Painter.set( level, new Point( right-1, top+1 ), Terrain.STATUE );
		Painter.set( level, new Point( right-1, bottom-1 ), Terrain.STATUE );
		cx = right - 2;
	} else if (entrance.x == right) {
		Painter.set( level, new Point( left+1, top+1 ), Terrain.STATUE );
		Painter.set( level, new Point( left+1, bottom-1 ), Terrain.STATUE );
		cx = left + 2;
	} else if (entrance.y == top) {
		Painter.set( level, new Point( left+1, bottom-1 ), Terrain.STATUE );
		Painter.set( level, new Point( right-1, bottom-1 ), Terrain.STATUE );
		cy = bottom - 2;
	} else if (entrance.y == bottom) {
		Painter.set( level, new Point( left+1, top+1 ), Terrain.STATUE );
		Painter.set( level, new Point( right-1, top+1 ), Terrain.STATUE );
		cy = top + 2;
	}
	
	level.drop( prize( level ), cx + cy * level.width() ).type = Heap.Type.TOMB;
}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:35,代码来源:CryptRoom.java

示例11: update

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
@Override
public void update() {
    super.update();

    float health = (float)Dungeon.hero.HP / Dungeon.hero.HT;

    if (health == 0) {
        avatar.tint( 0x000000, 0.6f );
        blood.on = false;
    } else if (health < 0.25f) {
        avatar.tint( 0xcc0000, 0.4f );
        blood.on = true;
    } else {
        avatar.resetColor();
        blood.on = false;
    }

    hp.scale.x = health;
    exp.scale.x = (width / exp.width) * Dungeon.hero.exp / Dungeon.hero.maxExp();

    if (Dungeon.hero.lvl != lastLvl) {

        if (lastLvl != -1) {
            Emitter emitter = (Emitter)recycle( Emitter.class );
            emitter.revive();
            emitter.pos( 27, 27 );
            emitter.burst( Speck.factory( Speck.STAR ), 12 );
        }

        lastLvl = Dungeon.hero.lvl;
        level.text( Integer.toString( lastLvl ) );
        level.measure();
        level.x = PixelScene.align( 27.0f - level.width() / 2 );
        level.y = PixelScene.align( 27.5f - level.baseLine() / 2 );
    }

    int k = IronKey.curDepthQuantity;
    if (k != lastKeys) {
        lastKeys = k;
        keys.text( Integer.toString( lastKeys ) );
        keys.measure();
        keys.x = width - 8 - keys.width()    - 18;
    }

    int tier = Dungeon.hero.tier();
    if (tier != lastTier) {
        lastTier = tier;
        avatar.copy( HeroSprite.avatar( Dungeon.hero.heroClass, tier ) );
    }

    resume.setPos( width - resume.width(), (loot.visible ? loot.bottom() : danger.bottom()) + 2 );
}
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:53,代码来源:StatusPane.java

示例12: restoreFromBundle

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void restoreFromBundle( Bundle bundle ) {

		//moving keys to Notes, for pre-0.6.1 saves
		if (bundle.contains("ironKeys")) {
			int[] ironKeys = bundle.getIntArray( "ironKeys" );
			for (int i = 0; i < ironKeys.length; i++){
				if (ironKeys[i] > 0){
					Notes.add((Key) new IronKey(i).quantity(ironKeys[i]));
				}
			}
		}
		
		if (bundle.contains("specialKeys")) {
			int[] specialKeys = bundle.getIntArray( "specialKeys" );
			for (int i = 0; i < specialKeys.length; i++){
				if (specialKeys[i] > 0){
					if (i % 5 == 0){
						Notes.add((Key) new SkeletonKey(i).quantity(specialKeys[i]));
					} else {
						Notes.add((Key) new GoldenKey(i).quantity(specialKeys[i]));
					}
				}
			}
		}
		
		backpack.clear();
		backpack.restoreFromBundle( bundle );
		
		weapon = (KindOfWeapon) bundle.get(WEAPON);
		if (weapon != null) {
			weapon.activate(owner);
		}
		
		armor = (Armor)bundle.get( ARMOR );
		if (armor != null){
			armor.activate( owner );
		}
		
		misc1 = (KindofMisc)bundle.get(MISC1);
		if (misc1 != null) {
			misc1.activate( owner );
		}
		
		misc2 = (KindofMisc)bundle.get(MISC2);
		if (misc2 != null) {
			misc2.activate( owner );
		}
	}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:49,代码来源:Belongings.java

示例13: actUnlock

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
private boolean actUnlock( HeroAction.Unlock action ) {
	int doorCell = action.dst;
	if (Level.adjacent( pos, doorCell )) {
		
		theKey = null;
		int door = Dungeon.level.map[doorCell];
		
		if (door == Terrain.LOCKED_DOOR) {
			
			theKey = belongings.getKey( IronKey.class, Dungeon.depth );
			
		} else if (door == Terrain.LOCKED_EXIT) {
			
			theKey = belongings.getKey( SkeletonKey.class, Dungeon.depth );
			
		}
		
		if (theKey != null) {
			
			spend( Key.TIME_TO_UNLOCK );
			sprite.operate( doorCell );
			
			Sample.INSTANCE.play( Assets.SND_UNLOCK );
			
		} else {
			GLog.w( TXT_LOCKED_DOOR );
			ready();
           }

           return false;

       } else if (getCloser( doorCell )) {

           return true;

       } else {
           ready();
           return false;
       }
}
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:41,代码来源:Hero.java

示例14: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public void paint( Level level ) {

		Painter.fill( level, this, Terrain.WALL );
		Painter.fill( level, this, 1, Terrain.EMPTY );

		Point c = center();
		int cx = c.x;
		int cy = c.y;
		
		Door door = entrance();
		
		door.set( Door.Type.LOCKED );
		level.addItemToSpawn( new IronKey( Dungeon.depth ) );
		
		if (door.x == left) {
			
			Painter.fill( level, right - 1, top + 1, 1, height() - 2 , Terrain.STATUE );
			cx = right - 2;
			
		} else if (door.x == right) {
			
			Painter.fill( level, left + 1, top + 1, 1, height() - 2 , Terrain.STATUE );
			cx = left + 2;
			
		} else if (door.y == top) {
			
			Painter.fill( level, left + 1, bottom - 1, width() - 2, 1 , Terrain.STATUE );
			cy = bottom - 2;
			
		} else if (door.y == bottom) {
			
			Painter.fill( level, left + 1, top + 1, width() - 2, 1 , Terrain.STATUE );
			cy = top + 2;
			
		}
		
		Statue statue = new Statue();
		statue.pos = cx + cy * level.width();
		level.mobs.add( statue );
	}
 
开发者ID:00-Evan,项目名称:shattered-pixel-dungeon,代码行数:41,代码来源:StatueRoom.java

示例15: paint

import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; //导入依赖的package包/类
public static void paint( Level level, Room room ) {

		fill( level, room, Terrain.WALL );
		fill( level, room, 1, Terrain.EMPTY );

		Point c = room.center();
		int cx = c.x;
		int cy = c.y;
		
		Room.Door door = room.entrance();
		
		door.set( Room.Door.Type.LOCKED );
		level.addItemToSpawn( new IronKey( Dungeon.depth ) );
		
		if (door.x == room.left) {
			
			fill( level, room.right - 1, room.top + 1, 1, room.height() - 1 , Terrain.STATUE );
			cx = room.right - 2;
			
		} else if (door.x == room.right) {
			
			fill( level, room.left + 1, room.top + 1, 1, room.height() - 1 , Terrain.STATUE );
			cx = room.left + 2;
			
		} else if (door.y == room.top) {
			
			fill( level, room.left + 1, room.bottom - 1, room.width() - 1, 1 , Terrain.STATUE );
			cy = room.bottom - 2;
			
		} else if (door.y == room.bottom) {
			
			fill( level, room.left + 1, room.top + 1, room.width() - 1, 1 , Terrain.STATUE );
			cy = room.top + 2;
			
		}
		
		Statue statue = new Statue();
		statue.pos = cx + cy * Level.WIDTH;
		level.mobs.add( statue );
		Actor.occupyCell( statue );
	}
 
开发者ID:wolispace,项目名称:soft-pixel-dungeon,代码行数:42,代码来源:StatuePainter.java


注:本文中的com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。