def draw_encount(self): ''' 遭遇時の表示処理 ※未使用メソッド ''' PyxelUtil.text(56, 148, ["NA", "NI", "KA", " ", "TI", "KA", "TU", "D", "I", "TE", "KI", "TA", "* !"], pyxel.COLOR_RED)
def draw_talk_kobold(self): ''' 会話失敗(コボルド)処理 ''' PyxelUtil.text(16, 148, ["u", "ma", "so", "u", "na", " ", "ni", "nn", "ke", "d", "nn", "ta", "d", "* !"], pyxel.COLOR_LIGHTBLUE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_talk(self): ''' 会話表示処理 ''' PyxelUtil.text(16, 148, ["*ONYX", "WO", " ", "ME", "SA", "D", "SI", "TE", " ", "KA", "D", "NN", "HA", "D", "RI", "MA", "SI", "LYO", "U", "* !"], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw(self): ''' 各フレームの描画処理 ''' super().draw() # 敵の描画 if self.state != self.STATE_ENCOUNT: for _chr in enemyParty.memberList: super().drawCharacter(_chr, _chr.x, _chr.y) for _idx in range(5 if len(enemyParty.memberList) > 5 else len(enemyParty.memberList)): # ステータス _member = enemyParty.memberList[_idx] # 名前 PyxelUtil.text(136, (_idx + 1) * 16 - 2, ["*" + _member.name], pyxel.COLOR_WHITE) # 体力最大値 _maxlife_x = _member.maxlife if _member.maxlife <= 100 else 100 pyxel.rect(136, (_idx + 1) * 16 + 6, _maxlife_x, 3, pyxel.COLOR_RED) # 体力 _life_x = _member.life if _member.life <= 100 else 100 pyxel.rect(136, (_idx + 1) * 16 + 6, _life_x, 3, pyxel.COLOR_DARKBLUE) _handler = self.handler.get(self.state, None) if _handler != None: _handler[self.HANDLER_DRAW]()
def draw_talk_failed(self): ''' 会話失敗処理 ''' PyxelUtil.text(16, 148, ["HA", "NA", "SI", "NI", " ", "NA", "RA", "NA", "KA", "LTU", "TA", "* !"], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_leave(self): ''' 店を出る描画処理 ''' PyxelUtil.text(16, 140, ["O", "TA", "D", "I", "SI", "D", "NI", "."], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_leave(self): ''' 店を出る表示 ''' PyxelUtil.text(16, 148, ["TO", "D", "U", "MO", " ", "A", "RI", "KA", "D", "TO", "U", " ", "KO", "D", "SA", "D", "I", "MA", "SI", "TA", "."], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_choose_error(self): ''' 装備不可エラーの表示処理 ''' PyxelUtil.text(16, 140, ["*" + playerParty.memberList[self.member_index].name + " ", "HA", "* " + enemyParty.item.name + " ", "WO", " ", "MO", "TE", "NA", "I", "* !"], pyxel.COLOR_RED) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_donotenter(self): ''' "DO NOT ENTER!"のメッセージ ''' PyxelUtil.text(162, 112, "*DO NOT ENTER !", pyxel.COLOR_RED) pyxel.blt(136, 108, 2, 112, 16, 16, 16, 0) pyxel.blt(224, 108, 2, 112, 16, 16, 16, 0)
def draw_story_fadeout(self): ''' ストーリーフェードアウト ''' for i in range(len(self.STORY)): PyxelUtil.text(20, i * 14 + 20, self.STORY[i], self.TEXTCOLOR[self.story_count - 1])
def draw_battle(self): ''' 戦闘表示処理 ''' if self.message != None and len(self.message) > 0: for idx, value in enumerate(self.message): PyxelUtil.text(16, 140 + idx * 8, value[0], value[1])
def draw_lose(self): ''' プレイヤーパーティー全滅表示処理 ''' PyxelUtil.text(70, 156, ["*+ + ", "SE", "D", "NN", "ME", "TU", " ", "SI", "MA", "SI", "TA", "* + +"], pyxel.COLOR_RED) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_directionmarket(self): ''' MARKETへの看板の表示 ''' if playerParty.direction == Direction.NORTH: PyxelUtil.text(166, 112, ["* MARKET ->"], pyxel.COLOR_WHITE) else: PyxelUtil.text(166, 112, ["*<- MARKET"], pyxel.COLOR_WHITE)
def draw_win_getexp(self): ''' 経験値獲得表示処理 ''' if self.message != None and len(self.message) > 0: for idx, value in enumerate(self.message): PyxelUtil.text(16, 140 + idx * 8, value[0], value[1]) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_win_getgold(self): ''' ゴールド獲得表示処理 ''' if self.reward_gold > 0: PyxelUtil.text(16, 148, ["*" + str(self.reward_gold) + " G.P. ", "TU", "D", "TU", "NO", " ", "*gold", "WO", " ", "MI", "TU", "KE", "TA", "* !"], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_nosurgery(self): ''' 治療不要描画処理 ''' PyxelUtil.text(16, 140, [ "MI", "NA", "SA", "NN", " ", "KE", "NN", "KO", "U", "TE", "D", "SU", "." ], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_done(self): ''' 治療完了描画処理 ''' PyxelUtil.text(16, 140, [ "*" + self.member.name + " ", "HA", " ", "SU", "LTU", "KA", "RI", " ", "YO", "KU", "NA", "RI", "MA", "SI", "TA", "." ], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_enemy_escape_judge(self): ''' 敵逃走判定表示処理 ''' if self.isEnemyEscpaed: PyxelUtil.text(16, 140, [ "NI", "KE", "D", "TE", " ", "I", "LTU", "TA", "*..."], pyxel.COLOR_WHITE) else: PyxelUtil.text(90, 148, ["** * * BATTLE * * *"], pyxel.COLOR_RED)
def __drawPlayer(self, number, head, helm, body, weapon, shield): pyxel.blt(12, (number * 20) + 2, 1, (head % 32) * 8, int(head / 32) * 8, 8, 8, 0) # 頭 pyxel.blt(12, (number * 20) + 10, 1, 32, 32, 8, 16, 0) # 体 pyxel.blt(4, (number * 20) + 2, 1, 0, 48, 8, 16, 0) # 武器 PyxelUtil.text(24, (number * 20) + 4, ["*PLAYER"], number + 7) # 名前 pyxel.rect(24, (number * 20) + 12, 16, 3, 5) pyxel.rect(24, (number * 20) + 15, 30, 1, 6)
def draw_enter(self): ''' 施設に入った時の表示 ''' PyxelUtil.text(16, 140, [ "WA", "TA", "SI", "HA", "* Slea ", "TO", "I", "U", "i", "si", "lya", "TE", "D", "SU", "." ], pyxel.COLOR_WHITE) PyxelUtil.text(180, 180, "*[HIT SPACE KEY]", pyxel.COLOR_YELLOW)
def draw_choose(self): ''' メンバー選択描画処理 ''' PyxelUtil.text(16, 140, [ "TA", "D", "RE", "WO", " ", "MI", "TE", " ", "A", "KE", "D", "MA", "SI", "LYO", "U", "KA", "* ?" ], pyxel.COLOR_WHITE) PyxelUtil.text(16, 164, ["*[L] ", "TA", "TI", "SA", "RU"], pyxel.COLOR_YELLOW)
def draw_gate(self): ''' ゲートの表示 ''' for _x in range(12, 66, 4): pyxel.rect(_x + self.DRAW_OFFSET_X, 12 + self.DRAW_OFFSET_Y, 2, 54, pyxel.COLOR_BLACK) pyxel.rect(32 + self.DRAW_OFFSET_X, 29 + self.DRAW_OFFSET_Y, 18, 9, pyxel.COLOR_YELLOW) PyxelUtil.text(33 + self.DRAW_OFFSET_X, 30 + self.DRAW_OFFSET_Y, "*GATE", pyxel.COLOR_BLACK)
def draw_story(self): ''' ストーリー表示 ''' if self.story_index > 0: for i in range(self.story_index): PyxelUtil.text(20, i * 14 + 20, self.STORY[i]) PyxelUtil.text(20, self.story_index * 14 + 20, self.STORY[self.story_index], self.TEXTCOLOR[self.story_count - 1])
def draw_menu(self): ''' メニューの描画処理 ''' PyxelUtil.text(97, 140, ["*** CAMP MENU **"], pyxel.COLOR_LIGHTBLUE) PyxelUtil.text(16, 148, ["*[D] ", "KU", "SU", "RI", "WO", " ", "NO", "MU"], pyxel.COLOR_YELLOW) PyxelUtil.text(16, 156, ["*[S] ", "se", "-", "hu", "d"], pyxel.COLOR_YELLOW) PyxelUtil.text(16, 164, ["*[Q] ", "ke", "d", "-", "mu", "WO", " ", "TI", "LYU", "U", "TA", "D", "NN"], pyxel.COLOR_YELLOW) PyxelUtil.text(16, 172, ["*[SPACE] ", "ki", "lya", "nn", "hu", "hd", "WO", " ", "O", "WA", "RU"], pyxel.COLOR_YELLOW)
def draw_issurgery(self): ''' 治療確認描画処理 ''' PyxelUtil.text(16, 140, [ "*" + self.member.name + " ", "NO", " ", "TI", "RI", "LYO", "U", "HI", " ", "HA", " ", "*" + str(self.price) + "gold", " ", "TE", "D", "SU", "." ], pyxel.COLOR_WHITE) PyxelUtil.text( 16, 148, ["TI", "RI", "LYO", "U", " ", "SI", "MA", "SU", "KA", "*? [Y/N]"], pyxel.COLOR_WHITE)
def draw_confirm(self): ''' 両手持ち武器を買うときの確認表示処理\n 武器屋独自の処理となる ''' PyxelUtil.text(16, 140, ["KO", "NO", "HU", "D", "KI", "HA", " ", "RI", "LYO", "U", "TE", "MO", "TI", "TA", "D", "."], pyxel.COLOR_WHITE) PyxelUtil.text(16, 148, ["TA", "TE", "WO", " ", "MO", "TE", "NA", "KU", "NA", "RU", "KA", "D", " ", "I", "I", "KA", "NE", "* ?"], pyxel.COLOR_WHITE) PyxelUtil.text(56, 164, ["*[Y] ", "HA", "I"], pyxel.COLOR_YELLOW) PyxelUtil.text(56, 172, ["*[N] ", "I", "I", "E"], pyxel.COLOR_YELLOW)
def draw(self): ''' 各フレームの描画処理 ''' super().draw() for idx, member in enumerate(playerParty.memberList): _y = 14 + idx * 16 # メンバーの薬の所持数を表示 if member.potion != -1: pyxel.blt(63, _y + 1, 1, (0 if member.potion == 0 else 8), 40, 4, 5) PyxelUtil.text(68, _y, ["*x{:1d}".format(member.potion)], pyxel.COLOR_YELLOW) # メンバーの所持金を表示 PyxelUtil.text( 83, _y, ["*{:5d} G.P.".format(member.gold)], pyxel.COLOR_YELLOW) pyxel.blt(self.DRAW_OFFSET_X + 15, self.DRAW_OFFSET_Y + 15, 0, 0, 205, 50, 50)
def draw_choose_talk(self): ''' 会話選択表示処理 ''' PyxelUtil.text(16, 140, ["NA", "NI", "WO", " ", "HA", "NA", "SI", "KA", "KE", "MA", "SU", "KA", "* ?"], pyxel.COLOR_WHITE) PyxelUtil.text(16, 156, ["* [J] JOIN US."], pyxel.COLOR_YELLOW) PyxelUtil.text( 16, 164, ["* [G] GOOD LUCK & GOOD BY."], pyxel.COLOR_YELLOW) PyxelUtil.text( 16, 172, ["* [Y] YOUR MONEY OR YOUR LIFE."], pyxel.COLOR_YELLOW)
def draw_choose_equip(self): ''' 装備するメンバーの選択表示処理 ''' if enemyParty.item.name == "MAGIC MANTLE": PyxelUtil.text(16, 140, ["MA", "HO", "U", "NO", "ma", "nn", "to", "WO", " ", "MI", "TU", "KE", "TA", "* !"], pyxel.COLOR_WHITE) else: PyxelUtil.text(16, 140, ["SU", "HA", "D", "RA", "SI", "I", "* " + enemyParty.item.name + " ", "WO", " ", "MI", "TU", "KE", "TA", "* !"], pyxel.COLOR_WHITE) PyxelUtil.text(16, 148, ["TA", "D", "RE", "KA", "D", " ", "TU", "KA", "I", "MA", "SU", "KA", "* ?"], pyxel.COLOR_WHITE) PyxelUtil.text(16, 172, ["* [L] ", "TU", "KA", "WA", "NA", "I"], pyxel.COLOR_YELLOW)
def draw_choose_action(self): ''' プレイヤーパーティーの行動決定表示処理 ''' PyxelUtil.text(16, 140, ["TO", "D", "U", "SI", "MA", "SU", "KA", "* ?"], pyxel.COLOR_WHITE) PyxelUtil.text(16, 156, ["* [A] ", "TA", "TA", "KA", "U"], pyxel.COLOR_YELLOW) PyxelUtil.text(16, 164, ["* [R] ", "NI", "KE", "D", "RU"], pyxel.COLOR_YELLOW) PyxelUtil.text(16, 172, ["* [T] ", "HA", "NA", "SU"], pyxel.COLOR_YELLOW)