Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group EINFÜHRUNGSPRAKTIKUM: STRATEGIESPIELE MICHAEL ROITZSCH ORGANISATION individuelles Arbeiten, keine Gruppen plagiieren verboten Einschreiben in „Schein“-Prüfung am 31.3. ihr bekommt: Quellcode-Archiv ihr liefert: einen Computer-Gegner Fragen per auditorium.inf.tu-dresden.de E-Mail: einfprakt@os.inf.tu-dresden.de TU Dresden Einführungspraktikum 2 ABGABE Mittwoch, 25.3.2015 12:00 Uhr mittags MEZ einfprakt@os.inf.tu-dresden.de TU Dresden Einführungspraktikum 3 PROGRAMMIEREN TU Dresden Einführungspraktikum 4 GAME GRID Entwicklung unter Linux in C oder C++ Referenz: PCs im ZIH Kommandozeile Tar-Archiv zu jedem Spiel auf Webseite bauen mit make README TU Dresden Einführungspraktikum 5 SPIELER interaktiver Tastatur-Spieler euer Computer-Gegner diese Datei ist von euch auszufüllen Master Control Program TU Dresden Einführungspraktikum 6 MAKE make all baut alles make demo zwei Tastatur-Spieler make run euer Gegner und Tastatur make fight euer Gegner zweimal make clean gebaute Dateien löschen make help TU Dresden Anleitung Einführungspraktikum 7 MCP verbindet zwei Spieler überträgt Spielfeld empfängt Zug siehe Tastatur-Spieler überwacht Regeln und Ressourcen TU Dresden Einführungspraktikum 8 MCP MCP fd 3 fd 3 fd 4 Spieler 1 TU Dresden fd 4 Spieler 2 Einführungspraktikum 9 FAQ ? TU Dresden Linux-Installation in VirtualBox gezielte Übergabe eines Spielzustands an Spieler dynamische Arrays Zufallszahlen Einführungspraktikum 10 BESTEHEN TU Dresden Einführungspraktikum 11 ANFORDERUNG euer Code muss fehlerfrei kompilieren „schöner“ Code bringt Bonuspunkte Computer-Gegner muss gültig spielen Regelverstöße führen zum Nicht-Bestehen nicht-triviale Strategie klare Gewinnchancen nutzen dem Gegner keine Steilvorlagen liefern Tipp: reicht Zwischenstände ein TU Dresden Einführungspraktikum 12 REGELN Spieler und MCP kommunizieren über UNIX-Pipes wie das geht seht ihr im Tastatur-Spieler ihr dürft von dort abschreiben MCP-Code darf nicht benutzt werden ist deshalb auch teilweise in Assembler erlaubt: C-Bibliothek, C++/STL, pthreads andere Bibliotheken auf Anfrage TU Dresden Einführungspraktikum 13 CODEQUALITÄT konsistente Formatierung sprechende Bezeichner Gültigkeitsbereich minimieren erläuternde Kommentare klare Code-Struktur kein Spaghetti- oder Lasagne-Code DRY: Don’t Repeat Yourself TU Dresden Einführungspraktikum 14 TURNIER make fight testet eure Spieler gegeneinander 60 Sekunden Bedenkzeit, 1GB Speicher nach Ablauf der 60 Sekunden wird Signal SIGXCPU zugestellt nach einer weiteren Sekunde SIGKILL Threads sind erlaubt, fork() nicht wartender Gegner bekommt SIGSTOP TU Dresden Einführungspraktikum 15 ABLAUF konzentriert euch zuerst darauf, gültige Züge zu finden Montag: Termin zur individuellen Besprechung eures Designs danach Zeit für fortgeschrittene Ideen Mittwoch: Abgabe nutzt auditorium oder E-Mail bei Fragen TU Dresden Einführungspraktikum 16 GRUPPEN Matrikel Spiel Student Mitarbeiter Haliotis Sven Dziadek Martin Küttler …08 – …30 Othello Till Smeijkal Björn Döbel …31 – …54 Backgammon Hendrik Sollich Jan Bierbaum Mühle Christian Menard Michael Roitzsch Dame Hannes Weisbach Nils Asmussen …00 – …07 …60 – …75 …76 – …99 TU Dresden Einführungspraktikum 17 TU Dresden Einführungspraktikum 18
© Copyright 2024