From e9bc29442f0c64b5c60e1bffad5097d20d9e1189 Mon Sep 17 00:00:00 2001 From: Daniel Brunner <0xFEEDC0DE64@gmail.com> Date: Tue, 31 Jan 2017 15:07:08 +0100 Subject: [PATCH] =?UTF-8?q?Schon=20wieder=20was=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .idea/workspace.xml | 825 ------------------ README.md | 3 + src/ninja/brunner/pgtl/program2/Program.java | 5 +- src/ninja/brunner/pgtl/program2/README.md | 6 +- .../brunner/pgtl/program2/screenshot2.png | Bin 0 -> 11019 bytes src/ninja/brunner/pgtl/program3/README.md | 58 +- .../brunner/pgtl/program3/screenshot.png | Bin 0 -> 14842 bytes 8 files changed, 70 insertions(+), 828 deletions(-) delete mode 100644 .idea/workspace.xml create mode 100644 src/ninja/brunner/pgtl/program2/screenshot2.png create mode 100644 src/ninja/brunner/pgtl/program3/screenshot.png diff --git a/.gitignore b/.gitignore index 981aeb8..f2a7a41 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ +/.idea/workspace.xml /out \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 6f5f9f8..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,825 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1481022021593 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/README.md b/README.md index e721285..317fea8 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,9 @@ Links zu den Übungen: [Übung 1: Hello World](https://github.com/0xFEEDC0DE64/PGTL-Programs/tree/master/src/ninja/brunner/pgtl/program1) + [Übung 2: Turing-Interpreter](https://github.com/0xFEEDC0DE64/PGTL-Programs/tree/master/src/ninja/brunner/pgtl/program2) + [Übung 3: Schneckenrennen](https://github.com/0xFEEDC0DE64/PGTL-Programs/tree/master/src/ninja/brunner/pgtl/program3) + [Übung 4: Kassenbon](https://github.com/0xFEEDC0DE64/PGTL-Programs/tree/master/src/ninja/brunner/pgtl/program4) \ No newline at end of file diff --git a/src/ninja/brunner/pgtl/program2/Program.java b/src/ninja/brunner/pgtl/program2/Program.java index 8461dee..b6f2bcb 100644 --- a/src/ninja/brunner/pgtl/program2/Program.java +++ b/src/ninja/brunner/pgtl/program2/Program.java @@ -25,7 +25,7 @@ public class Program { '-', '-', '-', '-', '-', '-', '-', '-', '-', '#', 's', //Sleep 1 second 'n', - 'j', 11 //Jump to instr offset 8 (Program 2) + 'j', 8 //Jump to instr offset 8 (Program 2) }; public static void main(String[] args) throws InterruptedException { @@ -80,6 +80,9 @@ public class Program { else currMemIndex++; break; + case 'n': + System.out.println(); + break; } } } diff --git a/src/ninja/brunner/pgtl/program2/README.md b/src/ninja/brunner/pgtl/program2/README.md index 9ce7e4b..ab3c795 100644 --- a/src/ninja/brunner/pgtl/program2/README.md +++ b/src/ninja/brunner/pgtl/program2/README.md @@ -11,4 +11,8 @@ j für Jump. Zu gewisser Instruktion springen ![Program.cs Code](https://raw.githubusercontent.com/0xFEEDC0DE64/PGTL-Programs/master/src/ninja/brunner/pgtl/program2/screenshot.png) -[Program.java](https://github.com/0xFEEDC0DE64/PGTL-Programs/blob/master/src/ninja/brunner/pgtl/program2/Program.java) \ No newline at end of file +[Program.java](https://github.com/0xFEEDC0DE64/PGTL-Programs/blob/master/src/ninja/brunner/pgtl/program2/Program.java) + +Demo output: + +![Demo outout](https://raw.githubusercontent.com/0xFEEDC0DE64/PGTL-Programs/master/src/ninja/brunner/pgtl/program2/screenshot2.png) \ No newline at end of file diff --git a/src/ninja/brunner/pgtl/program2/screenshot2.png b/src/ninja/brunner/pgtl/program2/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..8054545b6279eb0c7af8dcdece299236004f50a2 GIT binary patch literal 11019 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 O1B0ilpUXO@geCw~&L1HF literal 0 HcmV?d00001 diff --git a/src/ninja/brunner/pgtl/program3/README.md b/src/ninja/brunner/pgtl/program3/README.md index 8bc3c44..2dddaf0 100644 --- a/src/ninja/brunner/pgtl/program3/README.md +++ b/src/ninja/brunner/pgtl/program3/README.md @@ -1 +1,57 @@ -Test 3 \ No newline at end of file +Übung 3 + +Diese Übung wird ganz simpel initialisiert: + + Rennstrecke rennstrecken[] = { + rennSimulator.registriereRennstrecke("Kurze Strecke", 75), + rennSimulator.registriereRennstrecke("Mittlere Strecke", 100), + rennSimulator.registriereRennstrecke("Lange Strecke", 125), + rennSimulator.registriereRennstrecke("Extra lange Strecke", 150) + }; + + Schnecke schnecken[] = { + rennSimulator.registriereSchnecke("Schnecke 1"), + rennSimulator.registriereSchnecke("Schnecke 2"), + rennSimulator.registriereSchnecke("Schnecke 3"), + rennSimulator.registriereSchnecke("Schnecke 4"), + rennSimulator.registriereSchnecke("Schnecke 5"), + rennSimulator.registriereSchnecke("Schnecke 6"), + rennSimulator.registriereSchnecke("Schnecke 7"), + rennSimulator.registriereSchnecke("Schnecke 8"), + rennSimulator.registriereSchnecke("Schnecke 9"), + rennSimulator.registriereSchnecke("Schnecke 10"), + rennSimulator.registriereSchnecke("Schnecke 11"), + rennSimulator.registriereSchnecke("Schnecke 12"), + rennSimulator.registriereSchnecke("Schnecke 13"), + rennSimulator.registriereSchnecke("Schnecke 14"), + rennSimulator.registriereSchnecke("Schnecke 15"), + rennSimulator.registriereSchnecke("Schnecke 16"), + rennSimulator.registriereSchnecke("Schnecke 17") + }; + + Rennen rennen[] = { + rennSimulator.registriereRennen("Rennen 1", rennstrecken[0], new Schnecke[] { schnecken[0], schnecken[1], schnecken[3] }), + rennSimulator.registriereRennen("Rennen 2", rennstrecken[0], new Schnecke[] { schnecken[2], schnecken[3], schnecken[4] }), + rennSimulator.registriereRennen("Rennen 3", rennstrecken[1], new Schnecke[] { schnecken[2], schnecken[3], schnecken[4] }), + rennSimulator.registriereRennen("Rennen 4", rennstrecken[1], new Schnecke[] { schnecken[4], schnecken[5], schnecken[6] }) + }; + + Person personen[] = { + rennSimulator.getWettbüro().registrierePerson("Person 1", 1234), + rennSimulator.getWettbüro().registrierePerson("Person 2", 12345), + rennSimulator.getWettbüro().registrierePerson("Person 3", 123), + rennSimulator.getWettbüro().registrierePerson("Person 4", 4444), + rennSimulator.getWettbüro().registrierePerson("Person 5", 1500), + rennSimulator.getWettbüro().registrierePerson("Person 6", 8123), + rennSimulator.getWettbüro().registrierePerson("Person 7", 1000), + rennSimulator.getWettbüro().registrierePerson("Person 8", 5555) + }; + + rennSimulator.getWettbüro().wetteAbschließen(personen[0], rennen[0], rennen[0].schnecken[0], 100); + rennSimulator.getWettbüro().wetteAbschließen(personen[1], rennen[0], rennen[0].schnecken[0], 100); + rennSimulator.getWettbüro().wetteAbschließen(personen[2], rennen[0], rennen[0].schnecken[0], 100); + rennSimulator.getWettbüro().wetteAbschließen(personen[3], rennen[0], rennen[0].schnecken[0], 100); + +Das Ergebnis sieht wie folgt aus: + +![Demo outout](https://raw.githubusercontent.com/0xFEEDC0DE64/PGTL-Programs/master/src/ninja/brunner/pgtl/program3/screenshot.png) \ No newline at end of file diff --git a/src/ninja/brunner/pgtl/program3/screenshot.png b/src/ninja/brunner/pgtl/program3/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..c143ad2c65db566f79204add55479446b36de824 GIT binary patch literal 14842 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 KxvX