Stap 10: Dagen vier en vijf: Part One: U maakt een spel
Dagen vier en vijf van de kamp zijn gewijd aan het maken van een eenvoudig spel zich in groepen van twee of drie kinderen. Eerst, zorg u een eenvoudig spel.
Hier is een waar je moet springen op tien gouden blokken zo snel mogelijk.
from mc import * from random import * from time import * mc = Minecraft() mc.setBlocks(-15,0,-15,15,0,15,AIR) blockCount = 0 while blockCount < 10: x = randint(-15,15) z = randint(-15,15) if mc.getBlock(x,0,z) != GOLD_BLOCK.id: mc.setBlock(x,0,z,GOLD_BLOCK) blockCount = blockCount + 1 startTime = time() while blockCount > 0: position = mc.player.getTilePos() if mc.getBlock(position.x, position.y-1, position.z) == GOLD_BLOCK.id: mc.setBlock(position.x, position.y-1, position.z, AIR) blockCount = blockCount - 1 mc.postToChat("Yay, found one!") sleep(0.2) mc.postToChat("You found them all in "+str(time()-startTime)+" seconds!")
De eerste terwijl lus gaat op tot tien blokken zijn verborgen. De als gecontroleerd om ervoor te zorgen dat er is geen gouden blok al waar bent u het plaatsen van een (zorg ervoor dat uit te leggen de ! = deel). U kunt ook een tijdslimiet instellen en als tijd van ()-startTime hoger is dan die in de lus, u mc.postToChat ("out of time") en break beperken en ervoor te zorgen dat u het overwinning bericht alleen als boekt blockCount < = 0.
De tweede while lus gaat verder tot alle blokken wordt aangetroffen.
Als u een fancy reus weergave van hoeveel blokken zitten wilt toevoegen:
from text import drawText from fonts import FONTS
en zet dan vóór de tweede terwijl lus, alsook binnen het alsdit:
drawText(mc, FONTS['tallfont'], Vec3(0,0,16), Vec3(-1,0,0), Vec3(0,1,0), str(blockCount)+" ", SEA_LANTERN, AIR)
Een ander vrij eenvoudig spel om te pronken met is chase.py, opgenomen in de distributie van RaspberryJamMod, waar u bent achtervolgd door een lijn van gouden blokken. Een goede instelling te spelen dat binnen een spons van menger (/py mengersponge is).