乱数のオブジェクト インスタンスを作成する関数があります。一般的なアイデアを示すために、これが一連のネットハックのような部屋を構築するためのアルゴリズムであると仮定します。
要件は、事前にいくつのインスタンスがあるか分からないようなものです。これらはランダムにオンザフライで生成されます。
簡単なメモ: 次のコードが機能しないことは十分承知していますが、(できれば!) 私の目的を示す必要があります。
import random
class Levelbuild(object):
def __init__(self):
self.l1 = dict({0:'a',1:'b',2:'c',3:'d',4:'e',5:'f',6:'g',7:'h',8:'i'})
# Pick a random number between 4 and 9.
for i in range(random.randint(4,9)):
self.l1[i] = Roombuilder()
選択されたランダムな整数が 5 であると仮定すると、理想的な結果は 5 つの Roombuilder() インスタンスになります。それぞれ、a、b、c、d、および e とラベル付けされています。
これを行う簡単な方法はありますか?この期間を行う方法はありますか?
- 編集 -
Nick ODell 氏の回答に感謝します。これは完全なコピー/貼り付けではありませんが、私が必要としているバリエーションです。
import random
class Room(object):
def __init__(self):
self.size = (5,5)
class Level(object):
def __init__(self):
roomnames = ['a','b','c','d','e','f','g','h','i']
self.rooms = {}
for i in range(random.randint(4, 9)):
self.rooms[roomnames[i]] = Room()
各「部屋」を手作業で構築するのではなく、今では...
test = Level()
print test.rooms['a'].size
>>> (5,5)