シンプルなゲームを作ろうとしています。
ロジックは次のようなものです: 「5 つのドアがあり、それぞれに 1 から 5 の番号が付けられています。ユーザーは、任意の番号を入力するように求められます。たとえば、「1」と入力すると、GoldRoom が開きます (関連付けられたクラスが開かれます)。処理されます)」
これで、1 つのクラス を定義GoldRoom()
し、テストのために「1」と入力しました。処理は期待どおりに行われます。ただし、選択肢として「2」を入力すると、print ステートメントの代わりに処理が行われます。つまり、else ステートメントは実行されません。
どこが間違っていますか?
#################################
# Learning to make a game#
#################################
# An attempt to make a game
# Each room will be described by a class, whose base class will be Room
# The user will be prompted to enter a number, each number will be assigned with a Room in return
from sys import exit
print "Enter your choice:"
room_chosen = int(raw_input("> "))
if room_chosen == 1:
goldroom = GoldRoom()
goldroom.gold_room()
def dead(why):
print "why, Good Job!"
exit(0)
#class Room(object): #the other room will be derived of this
# pass
class Room(object):
pass
class GoldRoom(Room):
# here the user will be asked with question on how much Gold he wants
print"This room is full of gold. How much do you take!"
next = raw_input("> ")
if "0" in next or "1" in next:
how_much = int(next)
print how_much
else:
dead("Man, learn to type some number")
if how_much < 50:
print "Nice, you are not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")
#class KoiPondRoom(Room):
# in this room, the user will be made to relax
#class Cthulhu_Room(Room):
# sort of puzzle to get out
#class Bear_Room(Room):
# bear room
#class Dark_Room(Room):
# Dark Room, will be turned into Zombie
#class Dead_Room(Room):
# Those who enter here would be dead
if room_chosen == 1:
goldroom = GoldRoom()
goldroom.gold_room()
else:
print "YOU SUCK!"