X-Git-Url: https://git.ctpug.org.za/?p=tabakrolletjie.git;a=blobdiff_plain;f=tabakrolletjie%2Fscenes%2Fhelp.py;h=4ec31fc5d7e9b083b5940821f150f6fc5eff3bd1;hp=c58fea548eb8cc1dbcf77f6d17770ca6c12c140d;hb=8a3d3e9efc18aafa3acf347bd059d4fc41a23a2e;hpb=48c809306d2aaf6ed2487aad4970138601d74a60 diff --git a/tabakrolletjie/scenes/help.py b/tabakrolletjie/scenes/help.py index c58fea5..4ec31fc 100644 --- a/tabakrolletjie/scenes/help.py +++ b/tabakrolletjie/scenes/help.py @@ -61,28 +61,96 @@ class HelpScene(BaseScene): "This is a space turnip, the most valuable vegetable in the" " universe. A crucial ingredient of longevity serum, space" " navigator tonic and a pink sweet that everyone loves.")), - HelpItem(("64", "mouldA.png"), ( - "This is Boyd the space mould. He loves turnips. You've" - " disinfected your ship a thousand times, but somehow he shows" - " up on every planet at night to devour your crop. He is" - " vulnerable to light, but beware -- he builds up a resistance" - " if you overuse the same colour.")), + ] + + mould = HelpItem(("64", "mouldA.png"), ( + "This is Boyd the space mould. He loves turnips. You've" + " disinfected your ship a thousand times, but somehow he shows" + " up on every planet at night to devour your crop. He is" + " vulnerable to light, but beware -- he builds up a resistance" + " if you overuse the same colour.")) + + mould._img.blit( + loader.load_image("32", "mouldB.png").convert_alpha(), + (30, 30), None) + mould._img.blit( + loader.load_image("32", "eyeballA.png").convert_alpha(), + (10, 10), None) + mould._img.blit( + loader.load_image("32", "eyelid.png").convert_alpha(), + (10, 10), None) + + items.append(mould) + + items.extend([ HelpItem(("32", "seed.png"), ( "This is a turnip seed. You get a limited number of these at" " the start of a level. You can plant them, and you can use" " them to buy lights to protect your crop. Turnips which" - " survive to harvest yield more seeds.")), + " survive to harvest yield more seeds. Click on the icon that" + " looks like this to start planting seeds. It takes three nights" + " for a turnip to mature.")), HelpItem(("48", "lamp.png"), ( "This is a lamp. It comes in many colours, and has some other" " varying properties. It is powered by your farm's battery" " during the night. The battery recharges during the day."), transform=Multiply(colour=COLOURS["yellow"])), + HelpItem(("48", "pulsatinglamp.png"), ( + "This is a pulsating lamp. Its light radius increases and" + " decreases."), + transform=Multiply(colour=COLOURS["cyan"])), HelpItem(("48", "spotlight.png"), ( - "This is a spotlight. Unlike a lamp, it has a rotating beam." + "This is a spotlight. Unlike a lamp, it has a beam which is" + " pointed in a particular direction. To change the direction of" + " a beam, right-click near the spotlight and drag. You can only" + " do this during the day. Some spotlights rotate."), + transform=Multiply(colour=COLOURS["red"])), + HelpItem(("48", "lamp.png"), ( " Lights can be multicoloured, like this one. You can toggle" " lights on and off at night to conserve power, and toggle the" " colour of multicoloured lights."), transform=ColourWedges(colours=("red", "green"))), + ]) + + soil = HelpItem(("48", "square.png"), ( + "This is soil. You can plant seeds in it and position lights on" + " it. Lights and plants can't overlap with each other.")) + soil._img.blit( + loader.load_image("textures", "soil.png").convert_alpha(), + (0, 0), None, pgl.BLEND_RGBA_MULT) + items.append(soil) + + stone = HelpItem(("48", "square.png"), ( + "This is a stone wall. It gets in your way. On the other hand, it" + " also gets in Boyd's way.")) + stone._img.blit( + loader.load_image("textures", "stone.png").convert_alpha(), + (0, 0), None, pgl.BLEND_RGBA_MULT) + items.append(stone) + + shrub = HelpItem(("48", "circle.png"), ( + "This is a shrub. It works exactly like a wall, except that it's" + " round.")) + shrub._img.blit( + loader.load_image("textures", "shrub.png").convert_alpha(), + (0, 0), None, pgl.BLEND_RGBA_MULT) + items.append(shrub) + + items.extend([ + HelpItem(("32", "spotlight.png"), ( + "Click on a light icon like this to get a menu of colour options" + " available on your level.")), + HelpItem(("32", "spotlight.png"), ( + "Once you have selected a colour option, you will be able to" + " place the light, as long as this does not reduce your seed" + " count to zero. The cost will be deducted from your seed" + " total."), + transform=Multiply(colour=COLOURS["magenta"])), + HelpItem(("32", "remove.png"), ( + "Buyer's remorse? Use this icon to blow up unwanted lights. You" + " don't get your money back. Sorry.")), + HelpItem(("32", "default_cursor.png"), ( + "You can use this to change your cursor back to an arrow.")), HelpItem(("32", "night.png"), ( "When you have finished planting seeds and placing lights, you" " can prepare for Boyd's night-time onslaught by clicking this" @@ -95,18 +163,10 @@ class HelpScene(BaseScene): " skip to the next day. Or you can keep playing with your lights." " If you have no power left either, or you are completely" " bankrupt, the night will end automatically.")), - ] - - # Special mould assembly - items[1]._img.blit( - loader.load_image("32", "mouldB.png").convert_alpha(), - (30, 30), None) - items[1]._img.blit( - loader.load_image("32", "eyeballA.png").convert_alpha(), - (10, 10), None) - items[1]._img.blit( - loader.load_image("32", "eyelid.png").convert_alpha(), - (10, 10), None) + HelpItem(("32", "exit.png"), ( + "Click this icon to quit the level in disgust and return to the" + " menu.")), + ]) return items @@ -124,10 +184,13 @@ class HelpScene(BaseScene): height += max( item._img_size, item.FONT.get_height() * len(item._text)) height += 5 - if height > SCREEN_SIZE[1]: + if height > SCREEN_SIZE[1] - 50: height = 50 x_offset = SCREEN_SIZE[0] / 2 + for tool in self._tools: + tool.render(surface) + def event(self, ev, gamestate): if ev.type == pgl.KEYDOWN: if ev.key in (pgl.K_q, pgl.K_ESCAPE):