Minecraftprojekt

Welt: https://eduetatfr-my.sharepoint.com/:u:/g/personal/svenluca_riedo_studentfr_ch/EYRufAHudPZChBEC8EIuvOcBVO9sJhYDkiylRcfo1f05cA


Einleitung

Wir haben verschiedene Hindernisläufe codiert/gebaut. Jeder hat mindestens ein Level kreiert, Ismael leider nicht, da er nur zu Besuch da war. Das Hauptprinzip sind Hindernisse hinter sich zu lassen, richtiges Timing ist sehr wichtig. Die Haupt Manouver sind Hüpfen, laufen und rennen, Bauen ist nicht nötig. Die Ideenfindung dauerte nicht alzu lange, wir teilten danach die Arbeit auf.


Die Lobby/Level Auswahl (Sven)

Am Anfang spawnt man in einer Kirche, von dort aus kann man dann via commandblocks und Druckplaten sich zu den jeweiligen Leveln begeben.

Bauvorgang

Die Wände der Boden und die inneren Terrassen wurden manuel per Commands in Minecraft selbst eingefügt. Anschliessend kamen die von Harry Potter inspirierten fliegenden Kerzen in die Kirche. Das Dach hat wurde von Hand gebaut da man es ständig angepasst hat. Doch Kerzen alleine gaben viel zu wenig Licht ab um die Kirche zu beleuchten darum wurden viele Fenster eingebaut.

Probleme

Obwohl per command Tiere in der Welt nicht existieren sollten taucht manchmal das Problem auf das Leute zufälligerweise teleportiert werden da Tiere bevor das sie gelöst werden noch Druckplatten berühren was anschliessend durch @p den nächst gelegenen Spieler teleportiert.

Code für Weg:

  blocks.fill(BLOCK_OF_QUARTZ,
      pos(-22, 3, -321),
      pos(-18, 3, -359),
      FillOperation.REPLACE)
  blocks.fill(CHISELED_QUARTZ_BLOCK,
      pos(-23, 3, -321),
      pos(-23, 3, -359),
      FillOperation.REPLACE)
  blocks.fill(CHISELED_QUARTZ_BLOCK,
      pos(-17, 3, -321),
      pos(-17, 3, -359),
      FillOperation.REPLACE)
      

—-

Level 1: Der Glasturm (Yannick)https://makecode.com/_5D9chX9E3LCD:

In diesem Level beginnt man ganz unten und das Ziel ist die verschiedenen Arten von Sprüngen zu schaffen um nach ganz oben zu gelangen ohne von der Lava erwischt zu werden (die Lava steigt „langsam“ an) oder die Sprünge zu scheitern. Die Lava wird automatisch gestartet wenn man das Level spielt. Wenn man das Level geschafft hat, wird man direkt zur Lobby teleportiert. Das ganze Level wurde durch die Codierung „hergestellt“.

Codierung:

loeschen() → Es löscht die ganze Umgebung die es braucht, um das Level zu bauen.

GLASS_WALL(10, 4, 10, 30, 30) → Es stellt die Basis, also das Glass Gebäude her.

treppe1(11,4,36) → Es baut die ersten fünf Plattformen Vertikal auf. Die Art von Sprüngen sind: zwei Blöcke nach vorn und eins nach oben.

treppe2(35,8,36) → Es baut die weitern vier Plattformen Horizontal auf und die Art von Sprüngen sind die gleichen wie bei der treppe1(11,4,36).

treppe3(35,12,12) → Es stellt die folgenden drei Plattformen Vertikal her und die Art von Sprüngen sind: drei Blöcken nach vorn und null nach oben

quarztreppe() → Produziert verschiedene Arten von Sprüngen aus der Art von Blöcken Treppen.

plattform1(11, 21, 36) → Baut eine Plattform nach der quarztreppe() Herausforderung.

plattform2(17, 22, 34) plattform3(19, 23, 28) plattform4(26, 23, 26) plattform5(28, 23, 19) plattform6(34, 24, 13) → Die plattform2 bis 6() bauen Plattformen her und sie werden abwechselnd rechts und links platziert. Die Sprünge sind: zwei Blöcke nach vorn und eins nach oben, und drei nach vorn und null nach oben gemischt.

player.on_travelled(WALK, on_travelled_walk1) → Es sollte die Lava starten, falls du das Level startest. Also wenn du (10<x<25) und (y==5) und (35<z<40) befindest. Leider geht dieser Code nicht, aber nur der Lava Code geht an sich schon (doch mit player.on_travelled funktioniert es nicht).

player.on_travelled(WALK, on_travelled_walk2) → Ich habe hier versucht, falls man stirbt, dass man direkt zur Lobby teleportiert wird. Wie gesagt habe ich es nicht geschafft das zu meistern.

player.on_travelled(WALK, on_travelled_walk3) → Es teleportiert dich zur Lobby, wenn du bei der plattform6(34, 24, 13) bist.


Level 2: Entkomme der Lava (Alexis)https://makecode.com/_PzoUbCY3D7YC:

Das Level spielt sich in das Horizontale und Vertikale aus. Eine Tür dient als Eingang zum Level, danach fängt das Level direkt an. Schnell und präzis muss man mit Hilfe von Blöcken, Leitern etc. hoch gehen, bevor das Lava sie erreicht. Der zweite Teil ist relativ einfacher. Man muss auf Zäunen Hüpfen bevor das Lava sie ebenfalls erreicht. Am Ende hüpft man runter und erreicht Wasser. Dank einem Hebel kann man sich zurück zur Lobby teleportieren.

Codierung:

Das Codieren der Hindernisse und des Levels wurden vor allem dank des blocks.fill(x, world(x y z), world(x y z), FillOperation.Hollow). Diese Funktion füllt ein beliebiger Raum mit Blöcken aus, leert es danach aber, was es dann hohl macht. Um das steigende Lava zu codieren habe ich wiederum die blocks.fill Operation benötigt. Schliesslich musste sich diese blocks.fill Operation einfach auf mehreren Stöcken ausführen: def lavay(hoehe):

  blocks.fill(LAVA, world(189,hoehe,189), world(181,hoehe,181))

for i in range(2, 16, 1):

      lavay(i)
      loops.pause(1000)

Dazwischen gibt es Pausen von einer Sekunde, weil die Lava sonst zu schnell steigen würde und das Level eigentlich unmöglich wird. Schwierigkeiten: Die Zeit reichte nicht um herauszufinden, wie man den Lava-Loop abbricht. So wäre es möglich, dass das Lava wieder bei null startet sobald der Spieler stirbt.


Level 3: Turmbezwingung (Sven)

In dem Level wird man in ein Turm teleportiert. Dort muss man mithilfe geschickter Sprünge und ein bisschen Hirn verschiedene Arten von Sprünge schaffen. Wenn man runterfällt stirbt man entweder durch Fallschaden oder durch die Lava. Damit man nicht immer neu beginnen muss gibt es Checkpoints welche mit Commandblöcken funktionieren.

Bauvorgang:

Zuerst wurde mithilfe von Python der Turm gebaut, dieser wurde dann manuell und durch vieles testen weitergebaut. Es wurde versucht möglichst abwechslungsreiche Sprünge zu schaffen damit es nicht langweilig wird. Es gab einen kleinen Teil wo Rami Suter aus der Parallelklasse weitergeholfen hat eine weitere Idee einzubringen. Das Finale Produkt wurde von Rami Suter, Mike Stämpfli und diversen Leuten aus der 2D2 getestet um Verbesserungsvorschläge zu erhalten. Diese waren meist bezüglich den Checkpoints welche anschliessend dementsprechend platziert wurden.

Code für Turm:

  blocks.fill(SANDSTONE,
      pos(-1000, 4, 20),
      pos(-980, 54, 0),
      FillOperation.HOLLOW)

—-

Level 4: Bonuslevel

Mike Stämpfli war so nett und hat freiwillig und aus eigenem Antrieb ein kleines Bonuslevel erstellt während dem er auf dieser Welt war. Der Grundgedanke beim Bau war dass es verschiedene kleine Abschnitte gibt die jeweils ihr eigenes „theme“ haben. Auch hier wurde mit Checkpoints aus Commandblöcken gearbeitet. Es wurde alles manuell von Hand gebaut.


Danksagung

Mike Stämpfli Für den Aufwand das Bonuslevel zu machen und das 3te Level zu testen

Rami Suter für kreative Unterstützung beim Bau sowohl fürs testen des 3ten Level

Timo Amacker für kreative Unterstützung beim Bau der Lobby


Speicherung von Codes: alexis: https://makecode.com/_UCdKrvFvtEfC

04.02.2022: https://makecode.com/_i3j8aD3w4D6p\

sxdefr: https://makecode.com/_T6acJwipJD5V

notfall https://makecode.com/_iCp1UCXkkeD2

13.12.21 alexis: https://makecode.com/_RqEC2C6DF9K4

yannick: 1.0 https://makecode.com/_Xm8Ec1KY0heb

2.0 https://makecode.com/_0Ki0u7VFg2Yk

3.0 https://makecode.com/_5D9chX9E3LCD

minecraft welt: https://makecode.com/_8h80JD5TPCkp

https://makecode.com/_fVk0r4LJ0iWY

level 1: https://makecode.com/_A0wgsv4jKYqm

aösldf: https://makecode.com/_H1T6aRiCfEPi

  • archiv/gf/gf2021_2022/2d2/alexisismaelsvenyannick.txt
  • Zuletzt geändert: 2022/08/27 18:08
  • von lehmannr