Script Java
Script Java Script Java
5.1 ActionEvent und ActionListener natürlich, er macht keine Fehler. Man bestimmt dann, dass der Computer 1 Element ziehen soll: if (i==0) i=1; Wenden wir uns nun den restlichen Anweisungen der Methode zu: Durch das erste statement turn.setLabel("NEW GAME"); wird dem Button turn die Beschriftung „NEW GAME“ zugewiesen. In den Zeilen int i = (numberOfTokens()-1)%4; if (i==0) i=1; wird, wie bereits ausführlich erläutert, die Anzahl der zu ziehenden Elemente festgelegt, welche dann aufgrund des Aufrufs decrementTokens(i); tatsächlich weggenommen werden. Im Abschnitt if (numberOfTokens()==0) //no token left, user wins userWins(); else { message.setText("I took "+i+", it's your turn!"); setTakeButtonsVisible(true); //show takeButtons } wird der weitere Spielverlauf festgelegt. Sind nach dem Zug des Computers keine Elemente mehr im TextField, hat der Benutzer gewonnen. Der Aufruf der Methode userWins() bewirkt, dass das Label message den Text „Congratulations! I have to take the last token, you win!“ anzeigt. Sind aber immer noch tokens vorhanden, gibt der Computer an, wieviele Elemente er gezogen hat. Die Buttons TAKE ONE, TAKE TWO und TAKE THREE werden nun sichtbar. Wenn der Benutzer durch Aktivierung eines TAKE-Buttons Elemente wegnimmt, wird die Methode 134
5.1 ActionEvent und ActionListener public void userTakes(int k) { if (k>numberOfTokens()) message.setText("You can't take "+k+" tokens!"); else { setTakeButtonsVisible(false); //hide takeButtons decrementTokens(k); if (numberOfTokens()==0) //no token left, computer wins computerWins(); else { message.setText("You took "+k+", it's my turn!"); turn.setLabel("YOUR TURN"); } } } ausgeführt. In ihr wird sichergestellt, dass der Benutzer nicht mehr tokens ziehen kann, als noch vorhanden sind. Ansonsten wird der Zug realisiert. Sollten nach der Wegnahme keine Elemente mehr vorhanden sein, hat der Computer gewonnen. Es erfolgt die Ausgabe des Textes „Sorry! You lost because you took away the last token“. Ansonsten wird angezeigt, wieviele Element der Benutzer gezogen hat und dem Button turn die Beschriftung „YOUR TURN“ zugewiesen, damit der Benutzer den Computer nun zum nächsten Zug auffordern kann. 5.1.1.1 Event Handling Johny Gernimwind liegt es sehr am Herzen, dass das Rotkäppchen ein interaktives Puppentheater wird. Jedes Kind im Publikum hat ein Glöckchen, dank dessen es das Rotkäppchen oder den Jäger warnen kann. Wenn der Jäger zum Beispiel zum Haus der Grossmutter kommt, müsste er gemäss dem Märchen die Grossmutter zuerst im Haus suchen. Erst dann findet er den schlafenden, vollgefressenen Wolf auf der Wiese hinter dem Haus. Sollte er nun aber das laute Schellen der Kinder vernehmen, geht er direkt hinters Haus, um die Grossmutter und das Rotkäppchen aus dem Bauch des bösen Wolfs zu befreien. Auch werden die Kinder wohl das Rotkäppchen vor der Grossmutter mit den grossen Ohren, Augen und Händen warnen. Hierauf soll das Rotkäppchen zu flüchten versuchen - natürlich ist der Wolf aber schneller. Sollten die Glöckchen nicht ertönen, nimmt das Märchen seinen üblichen Verlauf. Im Gegensatz zum Rotkäppchen und zum Jäger darf der Wolf nicht auf das Schellen der Kinder hören, weil sie ihn in die Irre führen würden. So wie beim Rotkäppchen eine Interaktion zwischen dem Publikum und den Puppen (Rotkäppchen und Jäger) stattfindet, kann in einem Java-Programm der Benutzer mit dem Programm interagieren. Wie bereits in Abschnitt 2.1.1.4 erwähnt, wird eine solche Interaktion durch das Event Handling möglich. Im Puppentheater wird die Kommunikation zwischen den Kindern und den Marionetten durch die Glöckchen realisiert, in einem Java-Programm mit Maus und Tastatur. 135
- Seite 83 und 84: 3.1 int, boolean und Programmstrukt
- Seite 85 und 86: 3.1 int, boolean und Programmstrukt
- Seite 87 und 88: 3.1 int, boolean und Programmstrukt
- Seite 89 und 90: 3.1 int, boolean und Programmstrukt
- Seite 91 und 92: 3.1 int, boolean und Programmstrukt
- Seite 93 und 94: 3.1 int, boolean und Programmstrukt
- Seite 95 und 96: 3.1 int, boolean und Programmstrukt
- Seite 97 und 98: 3.1 int, boolean und Programmstrukt
- Seite 99 und 100: 3.1 int, boolean und Programmstrukt
- Seite 101 und 102: 3.1 int, boolean und Programmstrukt
- Seite 103 und 104: 3.1 int, boolean und Programmstrukt
- Seite 105 und 106: 3.2 Unicode und char } } textArea.a
- Seite 107 und 108: 3.2 Unicode und char Farben sind in
- Seite 109 und 110: 3.2 Unicode und char for (int i=0;i
- Seite 111 und 112: 3.3 Zusammenfassung Beschreibung We
- Seite 113 und 114: 4.1 Strings 4Strings Komplexe Daten
- Seite 115 und 116: 4.2 Einfache versus komplexe Datent
- Seite 117 und 118: 4.2 Einfache versus komplexe Datent
- Seite 119 und 120: 4.3 Type Casting Will man aber zwei
- Seite 121 und 122: 4.3 Type Casting 4.3.1.3 Datentyp b
- Seite 123 und 124: 4.4 Zusammenfassung 4.4 Zusammenfas
- Seite 125 und 126: 5.1 ActionEvent und ActionListener
- Seite 127 und 128: 5.1 ActionEvent und ActionListener
- Seite 129 und 130: 5.1 ActionEvent und ActionListener
- Seite 131 und 132: 5.1 ActionEvent und ActionListener
- Seite 133: 5.1 ActionEvent und ActionListener
- Seite 137 und 138: 5.1 ActionEvent und ActionListener
- Seite 139 und 140: 5.1 ActionEvent und ActionListener
- Seite 141 und 142: 5.1 ActionEvent und ActionListener
- Seite 143 und 144: 5.1 ActionEvent und ActionListener
- Seite 145 und 146: 5.2 Zusammenfassung ♦ Damit eintr
- Seite 147 und 148: 6.1 Instanzmethode versus Klassenme
- Seite 149 und 150: 6.1 Instanzmethode versus Klassenme
- Seite 151 und 152: 6.1 Instanzmethode versus Klassenme
- Seite 153 und 154: 6.1 Instanzmethode versus Klassenme
- Seite 155 und 156: 6.2 Visiblity Modifiers ClassMethod
- Seite 157 und 158: 6.2 Visiblity Modifiers } subjectLi
- Seite 159 und 160: 6.2 Visiblity Modifiers Eine Instan
- Seite 161 und 162: 6.2 Visiblity Modifiers 6.2.2 Synta
- Seite 163 und 164: 7.1 Calendar 7Method Overloading Ar
- Seite 165 und 166: 7.1 Calendar } text.requestFocus();
- Seite 167 und 168: 7.1 Calendar In den restlichen Zeil
- Seite 169 und 170: 7.1 Calendar Die Klassenmethode get
- Seite 171 und 172: 7.2 Graphics public void setTime(in
- Seite 173 und 174: 7.2 Graphics in der Methode paint()
- Seite 175 und 176: 7.2 Graphics zunehmen, muss man als
- Seite 177 und 178: 7.3 Arrays g.drawLine(x+r,y+r, x+r+
- Seite 179 und 180: 7.3 Arrays } } "one","two","three",
- Seite 181 und 182: 7.3 Arrays message.setText(time.toF
- Seite 183 und 184: 7.3 Arrays if (minutes%15==0) gepr
5.1 ActionEvent und ActionListener<br />
public void userTakes(int k) {<br />
if (k>numberOfTokens())<br />
message.setText("You can't take "+k+" tokens!");<br />
else {<br />
setTakeButtonsVisible(false); //hide takeButtons<br />
decrementTokens(k);<br />
if (numberOfTokens()==0)<br />
//no token left, computer wins<br />
computerWins();<br />
else {<br />
message.setText("You took "+k+", it's my turn!");<br />
turn.setLabel("YOUR TURN");<br />
}<br />
}<br />
}<br />
ausgeführt. In ihr wird sichergestellt, dass der Benutzer nicht mehr tokens ziehen kann, als<br />
noch vorhanden sind. Ansonsten wird der Zug realisiert. Sollten nach der Wegnahme keine<br />
Elemente mehr vorhanden sein, hat der Computer gewonnen. Es erfolgt die Ausgabe des<br />
Textes „Sorry! You lost because you took away the last token“. Ansonsten wird angezeigt,<br />
wieviele Element der Benutzer gezogen hat und dem Button turn die Beschriftung<br />
„YOUR TURN“ zugewiesen, damit der Benutzer den Computer nun zum nächsten Zug<br />
auffordern kann.<br />
5.1.1.1 Event Handling<br />
Johny Gernimwind liegt es sehr am Herzen, dass das Rotkäppchen ein interaktives<br />
Puppentheater wird. Jedes Kind im Publikum hat ein Glöckchen, dank dessen es das<br />
Rotkäppchen oder den Jäger warnen kann. Wenn der Jäger zum Beispiel zum Haus der<br />
Grossmutter kommt, müsste er gemäss dem Märchen die Grossmutter zuerst im Haus<br />
suchen. Erst dann findet er den schlafenden, vollgefressenen Wolf auf der Wiese hinter<br />
dem Haus. Sollte er nun aber das laute Schellen der Kinder vernehmen, geht er direkt<br />
hinters Haus, um die Grossmutter und das Rotkäppchen aus dem Bauch des bösen Wolfs<br />
zu befreien. Auch werden die Kinder wohl das Rotkäppchen vor der Grossmutter mit den<br />
grossen Ohren, Augen und Händen warnen. Hierauf soll das Rotkäppchen zu flüchten<br />
versuchen - natürlich ist der Wolf aber schneller. Sollten die Glöckchen nicht ertönen,<br />
nimmt das Märchen seinen üblichen Verlauf. Im Gegensatz zum Rotkäppchen und zum<br />
Jäger darf der Wolf nicht auf das Schellen der Kinder hören, weil sie ihn in die Irre führen<br />
würden.<br />
So wie beim Rotkäppchen eine Interaktion zwischen dem Publikum und den Puppen<br />
(Rotkäppchen und Jäger) stattfindet, kann in einem <strong>Java</strong>-Programm der Benutzer mit dem<br />
Programm interagieren. Wie bereits in Abschnitt 2.1.1.4 erwähnt, wird eine solche<br />
Interaktion durch das Event Handling möglich.<br />
Im Puppentheater wird die Kommunikation zwischen den Kindern und den Marionetten<br />
durch die Glöckchen realisiert, in einem <strong>Java</strong>-Programm mit Maus und Tastatur.<br />
135