X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.py;h=e2bf5c378288421101bbd0fdce810982e122e7e0;hp=34a2236dd3955f28eec9cb14a3a86957cee6fa68;hb=8f11332df97a3f1888aa0c8859ab7e178b9e298c;hpb=327ce969ed0a2607044ee1659d025b6a73abfdf3 diff --git a/sst.py b/sst.py index 34a2236..e2bf5c3 100755 --- a/sst.py +++ b/sst.py @@ -141,7 +141,7 @@ class Planet: self.pclass = None # could be ""M", "N", "O", or "destroyed" self.crystals = "absent"# could be "mined", "present", "absent" self.known = "unknown" # could be "unknown", "known", "shuttle_down" - self.inhabited = False # is it inhabites? + self.inhabited = False # is it inhabited? def __str__(self): return self.name @@ -159,8 +159,10 @@ class Quadrant: class Page: def __init__(self): self.stars = None - self.starbase = None + self.starbase = False self.klingons = None + def __repr__(self): + return "<%s,%s,%s>" % (self.klingons, self.starbase, self.stars) def fill2d(size, fillfun): "Fill an empty list in 2D." @@ -1028,7 +1030,7 @@ def randdevice(): return None # we should never get here def collision(rammed, enemy): - "Collision handling fot rammong events." + "Collision handling for rammong events." prouts(_("***RED ALERT! RED ALERT!")) skip(1) prout(_("***COLLISION IMMINENT.")) @@ -1179,8 +1181,8 @@ def torpedo(origin, bearing, dispersion, number, nburst): game.state.baseq = filter(lambda x: x != game.quadrant, game.state.baseq) game.quad[w.i][w.j] = '.' game.base.invalidate() - game.state.galaxy[game.quadrant.i][game.quadrant.j].starbase -= 1 - game.state.chart[game.quadrant.i][game.quadrant.j].starbase -= 1 + game.state.galaxy[game.quadrant.i][game.quadrant.j].starbase = False + game.state.chart[game.quadrant.i][game.quadrant.j].starbase = False game.state.basekl += 1 newcnd() return None @@ -5435,10 +5437,14 @@ def setup(): game.instar = 0 for i in range(GALSIZE): for j in range(GALSIZE): - k = randrange(1, QUADSIZE**2/10+1) + # Can't have more stars per quadrant than fit in one decimal digit, + # if we do the chart representation will break. + k = randrange(1, min(10, QUADSIZE**2/10)) game.instar += k game.state.galaxy[i][j].stars = k # Locate star bases in galaxy + if game.idebug: + prout("=== Allocating %d bases" % game.inbase) for i in range(game.inbase): while True: while True: @@ -5461,6 +5467,8 @@ def setup(): prout("=== Saving base #%d, close to #%d" % (i, j)) if not contflag: break + if game.idebug: + prout("=== Placing base #%d in quadrant %s" % (i, w)) game.state.baseq.append(w) game.state.galaxy[w.i][w.j].starbase = game.state.chart[w.i][w.j].starbase = True # Position ordinary Klingon Battle Cruisers