Töte & Gewinne
In unserem Spiel geht es darum eure Mitspieler durch das Töten von Mobs zu besiegen. In der Welt gibt es 3 Levels, sobald ein Spieler 30 Punkte im Level erreicht hat, geht es zum nächsten Level. Im ersten Level musst du die Mobs nicht suchen, sondern kannst sie einfach so töten. Im zweiten Level musst du sie zuerst unter der Erde suchen und dann kannst du sie töten. Beim dritten Level, musst du aufpassen, denn du musst einen „Parcour“ absolvieren und dabei die Mobs töten, du kannst währenddessen auch selbst sterben. Für jeden Kill bekommst du Punkte. Wenn man stirbt verliert man alle seine Waffen, deswegen findet man in jedem Level eine Truhe mit Waffen (diese befindet sich im letzten Level vor dem Gebäude und bei den anderen Levels innerhalb des Zauns). Wer zuerst 90 Punkte erreicht hat, hat gewonnen und wird zum Gewinnerhaus teleportiert. (Du kannst deine Mitspieler ebenfalls töten, so bekommst du alle Punkte vom Spieler und der getötete Mitspieler verliert somit alle seine Punkte, die er bisher gesammelt hat.) Dies konnten wir nicht erreichen, aus Zeitgründen und weil wir den Code dafür nicht herausfanden.
1. Level:
2. Level:
3. Level:
Gewinnerhaus:
Fazit:
- Was ist uns gelungen? Was nicht?
Wie oben schon erwähnt konnten wir das Spiel nicht so programmieren, dass wenn ein Spieler einen Mitspieler tötet die Punkte „übertragen“ werden. Die verschiedenen Levels, als auch das Teleportieren und Punkte verteilen ist uns sehr gut gelungen.
- Was hätte man verbessern können?
Wir haben viel von Hand gebaut, man hätte gewisse Sachen (wie z.B. das Gebäude im 3. Level) auch programmieren können.
- Vorstellung vs Endprodukt
Ursprünglich wollten wir ein Geisterhaus mit verschiedenen Räumen machen, uns ist dann aber schnell aufgefallen, dass es etwas zu schwierig sein würde und viel Zeit in Anspruch nehmen würde. Wir haben dann ein Spiel hergestellt mit verschiedenen Levels, was uns sehr gefallen hat.
Der Link zur Welt: https://education.minecraft.net/joinworld/MCwxMCw1LDA=
Codes die wir brauchen für das Spiel:
anzahlPunkte = 0
player.teleport(world(-17, 63, -46))
player.execute("give @s iron_shovel")
player.execute("gamemode adventure")
player.execute("spawnpoint @s -17 63 -46")
def testPunkteDOS():
if anzahlPunkte >= 60:
player.teleport(world(-225, 81, -92))
player.execute("give @s stone_sword")
player.execute("gamemode adventure")
player.execute("spawnpoint @s -225 81 -92")
player.on_died(if_on_died)
def testPunkteUNO():
if anzahlPunkte >= 30:
player.teleport(world(-174, 88, -126))
player.execute("give @s stone_sword ")
player.tell(mobs.target(NEAREST_PLAYER),"mobs sind begraben. Finde sie und gewinne Punkte!!")
player.execute("gamemode survival")
player.execute("spawnpoint @s -174 88 -126")
player.on_died(on_on_died)
def testPunkteTRES():
if anzahlPunkte >= 90:
player.say("YOU WON")
player.execute("spawnpoint @s -69 63 -220")
player.teleport(world(-69, 63, -220))
player.on_died(in_on_died)
def on_on_died():
global anzahlPunkte
anzahlPunkte = 0
def if_on_died():
global anzahlPunkte
anzahlPunkte = 30
def in_on_died():
global anzahlPunkte
anzahlPunkte = 60
def on_mob_killed_chicken():
global anzahlPunkte
player.tell(mobs.target(NEAREST_PLAYER),"+3 Punkte")
anzahlPunkte = anzahlPunkte + 3
player.execute("give @s diamond 3 5")
player.say("Punkte aktuell: " + ("" + str(anzahlPunkte)))
testPunkteDOS()
mobs.on_mob_killed(CHICKEN, on_mob_killed_chicken)
def on_mob_killed_sheep():
global anzahlPunkte
player.tell(mobs.target(NEAREST_PLAYER),"+5 Punkte")
anzahlPunkte = anzahlPunkte + 5
player.execute("give @s diamond 5 ")
player.say("Punkte aktuell: " + ("" + str(anzahlPunkte)))
testPunkteDOS()
mobs.on_mob_killed(SHEEP, on_mob_killed_sheep)
def on_mob_killed_cow():
global anzahlPunkte
player.tell(mobs.target(NEAREST_PLAYER),"+8 Punkte")
anzahlPunkte = anzahlPunkte + 8
player.execute("give @s diamond 8 ")
player.say("Punkte aktuell: " + ("" + str(anzahlPunkte)))
testPunkteDOS()
mobs.on_mob_killed(COW, on_mob_killed_cow)
def on_mob_killed():
global anzahlPunkte
player.tell(mobs.target(NEAREST_PLAYER),"+5 Punkte")
anzahlPunkte = anzahlPunkte + 7
player.execute("give @s diamond 7 ")
player.say("Punkte aktuell: " + ("" + str(anzahlPunkte)))
testPunkteTRES()
mobs.on_mob_killed(mobs.monster(ZOMBIE), on_mob_killed)
def on_mob_killed_salmon():
global anzahlPunkte
player.tell(mobs.target(NEAREST_PLAYER),"+4 Punkte")
anzahlPunkte = anzahlPunkte + 4
player.execute("give @s diamond 4")
player.say("Punkte aktuell: " + ("" + str(anzahlPunkte)))
testPunkteUNO()
mobs.on_mob_killed(SALMON, on_mob_killed_salmon)