Klasse 10Netbeans-Projekt 2010
Kryptografie: Materialien zum TILL-Workshop
am 3. April 2008 in Braunschweig
SET: Materialien zur Fortbildung
Projekte im Informatikunterricht
am 5. Juni 2008 um 14:00 Uhr in der HPS
In der Fortbildung wird ein Projekt zum Spiel SET
vorgeschlagen, bei dem die grafische Oberfläche
bereits fertig ist. Die Schülerinnen und Schüler
können sich trotzdem beliebig lange damit beschäftigen,
es zu einem (Netz)-Spiel auszubauen. Andererseits
kann man auch in einer Doppelstunde interessante
Entdeckungen machen.
Anfragen / Anregungen / Material bitte an => kl.boettcher [at] web.de
SET! 2005 ist ein Spiel bei Ravensburger (ca. 9 Euro; z. B. Amazon.de), das aber bereits 1999
von Wolf Behrenhoff u. a. 1999 beim
Bundeswettbewerb Jugend forscht als bestes Matheprojekt
eingereicht wurde. SET hat so einfache Regeln, dass es als Spiel für Grundschulkinder geeignet
ist, ist aber auch so reichhaltig, dass man sich bis weit in die Oberstufe hinein und darüber hinaus
damit beschäftigen kann.
SET im Internet:
Viele Anregungen (z. T. auch auf deutsch), alternative Regeln, Übungsprogramme
und sogar eine Seite für Lehrer findet man auf der Seite
setgame.com/set/
Einstieg:
Bevor weitere Klassen wie Stapel, Kartendeck, Spiel, Spieler, Spielleiter usw. modelliert
werden, sollte die Klasse Karte definiert sein.
Vorschlag:
Karten werden wie bei Behrenhoff u. a.
als vierstellige Ternärzahlen von 0000 bis 2222 (dezimal: 0 bis 80) dargestellt.
Die Bedeutung wird folgendermaßen festgelegt:
public final int M, U, F, A;
// MUFA => Muster, Umriss, Farbe, Anzahl
// Code: 27 9 3 1
String[] muster = {" leer ", " halb ", " voll "};
String[] umriss = {" Rechteck "," Ellipse "," Raute "};
String[] farbe = {" rot ", " grün ", " blau "};
String[] anzahl = {" eins ", " zwei ", " drei "};
// 0 1 2
Aufgabe 1: Erzeuge neun Karten, die zwölf Sets enthalten.
Lösung: (siehe auch das Bild ganz unten)
Erzeuge ein Quadrat wie bei TicTacToe und setze drei Karten ein,
die kein Set bilden.
a | | a|b|c 2 | | a | y | -b-c
---|---|--- -+-+- ---|---|--- ---|---|---
| b | 0|0|0 | 1 | x | b | a+2b+c
---|---|--- 0|1|2 ---|---|--- ---|---|---
c | | 0|2|1 1 | | c | z | -a-b
1|0|2
0 | | 1|1|1 2 | 0 | 1 z. B.:
---|---|--- 1|2|0 ---|---|--- x = -a-c
| 45| 2|0|1 0 | 1 | 2 = -b-(a+2b+c) (mod 3)
---|---|--- 2|1|0 ---|---|--- Alle Zeilen-, Spalten-, Diagonalen-
17| | 2|2|2 1 | 2 | 0 Summen ergeben 0 (mod 3).
Das dritte Merkmal (mit 0, 1, 2 kodiert) findet man mit
c = (6 - a - b) % 3
Die 6 ist nötig, weil mod(-2 - 2, 3) = 2 gilt, in Java aber
c = -4 % 3 zu c = -1 ausgewertet wird.
Man setze drei Karten a, b, c wie oben in das Quadrat und ergänze die
fehlenden Kartennummern. Um zu beweisen, dass in den Zeilen, Spalten und
Diagonalen jeweils Sets entstehen, setze man für a,b und c nur ein Merkmal.
Beim Ausfüllen des Quadrats kann der Setrechner helfen. Er verfügt inzwischen
über die Methode "Karte kartedrei()".
Einige Java-Materialien:
- Ein Java-Testprogramm: modelliert die Klasse Karte:
SetRechner.java
- => Ein- und Ausgabe für SetRechner (muss im Unterordner "hps" liegen):
EinAusFenster.java
Das EinAusFenster wird im Skript zur Kryptografie (siehe unten!) erläutert
Wenn man noch die einfachen Möglichkeiten von Java, Nachrichten im LAN auszutauschen nimmt,
dann kann das eine Unterrichtseinheit ergeben, die viele elementare Informatik-Themen umfasst.
Das Chat-Programm:
- Die main-Methode des Chat-Programms: Start.java
- Der UDP-Teil des Chat-Programms:
UDPVermittler.java
- Die Anzeige des Chat-Programms:
Anzeige.java
- Die Klasse Datenpaket: Datenpaket.java
- Zweigeteiltes EinAusFenster (muss im Unterordner "hps" liegen):
EinAusFenster2.java
- Der Java-Editor von Gerhard Röhner:
Zur Homepage
Was noch fehlt:
Setspiel.java vom 4. Juli 08 /19:00 Uhr
Vom Setspiel ist erst die grafische Benutzerschnittstelle kodiert. In einem Informatikkurs
wäre das zeitlich wohl kaum möglich, aber die Benutzung dieses Programmgerüstes dürfte
für die Schülerinnen und Schüler interessant und machbar sein.
Der erste Entwurf: