Skip to content

Commit

Permalink
first set of 10 puzzles complete
Browse files Browse the repository at this point in the history
  • Loading branch information
Entkenntnis committed Jun 8, 2022
1 parent 00b242e commit 5590488
Show file tree
Hide file tree
Showing 13 changed files with 123 additions and 100 deletions.
2 changes: 1 addition & 1 deletion lib/data/p1_start.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export const p1_start: Puzzle = {
Welt an:
</p>
<img
src="/puzzle/start.png"
src="/puzzle/p1.png"
alt="target"
className="mx-auto my-3 max-h-[120px]"
></img>
Expand Down
2 changes: 1 addition & 1 deletion lib/data/p2_smileys.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export const p2_smileys: Puzzle = {
nur eine Frage der Ausrichtung:
</p>
<img
src="/puzzle/smileys.png"
src="/puzzle/p2.png"
alt="target"
className="mx-auto my-3 max-h-[160px]"
></img>
Expand Down
96 changes: 45 additions & 51 deletions lib/data/p8_123.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,72 +9,66 @@ export const p8_123: Puzzle = {
description: (
<>
<p className="mb-2">
Herzlich Willkommen! Du hast Spaß am Bauen und Puzzlen? Und du möchtest
einen Einblick in die Programmierung erhalten? Dann bist du hier bei
Robot Karol am richtigen Ort!
</p>
<p className="mb-2">
Im Rahmen dieses kleinen Bau- und Puzzlespiels lernst du ein paar
grundlegende Prinzipien des Programmieren kennen. Schaue dir folgende
Welt an:
Mithilfe von geschweiften Klammern kann man zwischen den Programmen
Kommentare schreiben. Diese sollen den Code erklären, können aber auch
genutzt werden, um Teile des Programms zu aktivieren oder deaktiveren.
</p>
<img
src="/puzzle/start.png"
src="/puzzle/p8.png"
alt="target"
className="mx-auto my-3 max-h-[120px]"
className="mx-auto my-3 max-h-[140px]"
></img>
<p className="mb-2">
Ziel der Aufgaben ist es immer, die vorgegebene Welt nachzubauen.
Manchmal sieht man sofort, was zu tun ist - und manchmal braucht es
etwas Kreativität. Meistens ist schon ein kleines Programm vorbereitet,
mit dem man arbeiten kann, wie auch in diesem Fall: Unten links siehst
du den Code für das Programm und rechts siehts du auch eine{' '}
<em>Vorschau</em>, was das Programm macht. Es ist alles bereit, du musst
nur noch das Programm starten.
In diesem Programm steht alles bereit. Aktiviere die passende Teile, um
die drei Balken zu bauen.
</p>
</>
),
targetWorld: {
dimX: 6,
dimY: 6,
dimX: 7,
dimY: 5,
height: 6,
karol: { x: 0, y: 0, dir: 'south' },
karol: { x: 6, y: 0, dir: 'west' },
bricks: [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0],
[0, 0, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0],
],
marks: [
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[true, true, true, true, true, true, true],
],
blocks: [
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
[false, false, false, false, false, false, false],
],
},
code: `Schritt
Schritt
LinksDrehen
Schritt
Hinlegen Schritt
RechtsDrehen
Hinlegen
LinksDrehen
Hinlegen
Schritt
RechtsDrehen
Hinlegen`,
startSpeed: 'slow',
code: `{ Teil 1: Marke bis zur Wand setzen }
{
MarkeSetzen
wiederhole solange NichtIstWand
Schritt
MarkeSetzen
endewiederhole
}
{ Teil 2: Balken setzen }
{
wiederhole 1 mal
Hinlegen
Schritt
endewiederhole
}
`,
}
123 changes: 76 additions & 47 deletions lib/data/p9_linksundrechts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,72 +9,101 @@ export const p9_linksundrechts: Puzzle = {
description: (
<>
<p className="mb-2">
Herzlich Willkommen! Du hast Spaß am Bauen und Puzzlen? Und du möchtest
einen Einblick in die Programmierung erhalten? Dann bist du hier bei
Robot Karol am richtigen Ort!
</p>
<p className="mb-2">
Im Rahmen dieses kleinen Bau- und Puzzlespiels lernst du ein paar
grundlegende Prinzipien des Programmieren kennen. Schaue dir folgende
Welt an:
Das vorliegende Programm soll aus Ziegeln eine Form legen, die ein wenig
an ein Mensch-Ärger-Dich-Nicht-Spielfeld erinnert. Allerdings hatte der
Programmierer einige Male <em>LinksDrehen</em> und <em>RechtsDrehen</em>{' '}
verwechselt.
</p>
<img
src="/puzzle/start.png"
src="/puzzle/p9.png"
alt="target"
className="mx-auto my-3 max-h-[120px]"
className="mx-auto my-3 max-h-[160px]"
></img>
<p className="mb-2">
Ziel der Aufgaben ist es immer, die vorgegebene Welt nachzubauen.
Manchmal sieht man sofort, was zu tun ist - und manchmal braucht es
etwas Kreativität. Meistens ist schon ein kleines Programm vorbereitet,
mit dem man arbeiten kann, wie auch in diesem Fall: Unten links siehst
du den Code für das Programm und rechts siehts du auch eine{' '}
<em>Vorschau</em>, was das Programm macht. Es ist alles bereit, du musst
nur noch das Programm starten.
Korrigiere die Drehungen. Du siehst außerdem öfters den Befehl
ZweiZiegel. Karol hat die Möglichkeit, eigene Befehle mit dem
Schlüsselwort <em>Anweisung</em> zu definieren. Der Befehl ZweiZiegel
wird am Ende des Programms definiert.
</p>
<p className="mb-2">
Tipp: Du kannst die Vorschau mit der Taste V an- und ausschalten.
</p>
</>
),
targetWorld: {
dimX: 6,
dimY: 6,
dimX: 9,
dimY: 9,
height: 6,
karol: { x: 0, y: 0, dir: 'south' },
karol: { x: 1, y: 3, dir: 'east' },
bricks: [
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0],
[0, 0, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 1, 0, 0, 0],
[0, 1, 1, 1, 0, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 1, 1, 0, 1, 1, 1, 0],
[0, 0, 0, 1, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
],
marks: [
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
],
blocks: [
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
[false, false, false, false, false, false, false, false, false],
],
},
code: `Schritt
Schritt
code: `ZweiZiegel
LinksDrehen
ZweiZiegel
LinksDrehen
ZweiZiegel
RechtsDrehen
ZweiZiegel
LinksDrehen
Schritt
Hinlegen Schritt
ZweiZiegel
RechtsDrehen
Hinlegen
ZweiZiegel
RechtsDrehen
ZweiZiegel
RechtsDrehen
ZweiZiegel
RechtsDrehen
ZweiZiegel
RechtsDrehen
ZweiZiegel
LinksDrehen
Hinlegen
Schritt
ZweiZiegel
LinksDrehen
ZweiZiegel
RechtsDrehen
Hinlegen`,
startSpeed: 'slow',
Anweisung ZweiZiegel
Hinlegen
Schritt
Hinlegen
Schritt
endeAnweisung
`,
initWorld: (world) => {
world.karol.dir = 'east'
world.karol.x = 1
world.karol.y = 3
},
}
Binary file removed public/puzzle/fliesen.png
Binary file not shown.
Binary file removed public/puzzle/lol.png
Binary file not shown.
File renamed without changes
File renamed without changes
Binary file added public/puzzle/p8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/puzzle/p9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/puzzle/rechteck.png
Binary file not shown.
Binary file removed public/puzzle/smiley.png
Binary file not shown.
Binary file removed public/puzzle/säulen.png
Binary file not shown.

0 comments on commit 5590488

Please sign in to comment.