# HG changeset patch # User Emmanuel Gil Peyrot # Date 1414255976 -7200 # Node ID 2a748aa29c3fb474aac63a492a5419d9636c9b2e # Parent d471b07ce4fda929d54fc6f40d02e2d036eff706 Add a sample character. diff --git a/pytouhou/games/sample/game.py b/pytouhou/games/sample/game.py --- a/pytouhou/games/sample/game.py +++ b/pytouhou/games/sample/game.py @@ -23,7 +23,7 @@ from pytouhou.game.orb import Orb from pytouhou.game.background import Background from pytouhou.vm import PythonMainRunner -from . import enemies +from . import enemies, shots class Common(object): @@ -78,7 +78,7 @@ class Common(object): default_power = [0, 64, 128, 128, 128, 128, 0][stage] - eosd_characters = resource_loader.get_eosd_characters() + sample_characters = shots.characters self.first_character = player_characters[0] // 2 self.player_anms = {} self.players = [None] * len(player_characters) @@ -92,7 +92,7 @@ class Common(object): self.player_anms[character] = (anm, face) self.players[i] = Player(i, self.player_anms[character][0], - eosd_characters[player_character], + sample_characters[player_character], character, default_power, continues) diff --git a/pytouhou/games/sample/shots.py b/pytouhou/games/sample/shots.py new file mode 100644 --- /dev/null +++ b/pytouhou/games/sample/shots.py @@ -0,0 +1,43 @@ +# -*- encoding: utf-8 -*- +## +## Copyright (C) 2014 Emmanuel Gil Peyrot +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published +## by the Free Software Foundation; version 3 only. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## + +from math import radians +from pytouhou.formats.exe import SHT, Shot + + +player = SHT() +player.horizontal_vertical_speed = 2. +player.horizontal_vertical_focused_speed = 1.5 +player.diagonal_speed = 1.5 +player.diagonal_focused_speed = 1. + +shot = Shot() +shot.interval = 10 +shot.delay = 5 +shot.pos = (0, -32) +shot.hitbox = (5, 5) +shot.angle = radians(-90) +shot.speed = 5. +shot.damage = 16 +shot.orb = 0 +shot.type = 2 +shot.sprite = 64 +shot.unknown1 = 0 + +# Dict of list of shots, each for one power level. +# Always define at least the shot for max power, usually 999. +player.shots[999] = [shot] + +# List of (unfocused, focused) shot types. +characters = [(player, player)]