[Squeak-ev] memory mit squeak

Markus Gaelli gaelli at iam.unibe.ch
Don Mar 31 12:21:01 UTC 2005


Noch ein Tipp: Spiele mit playerAtCursor vs. graphicAtCursor der 
Karte...

On Mar 31, 2005, at 1:58 PM, Markus Gaelli wrote:

> Hi Christian,
>
>>
>> ich bin dabei, für einen Workshop mit Kindern Tutorials vorzubereiten,
>> wie man mit Squeak Spiele macht. Ich dachte dabei an klassische Spiele
>> wie memory, vier gewinnt. Markus hat ja auch einige Klassiker
>> aufbereitet, die alle auch sehr gut geeignet sind (pacman vor allem 
>> ;-)
>>
>> Die Tutorials sollen sowohl das Spiel als auch Squeak einführen - am
>> beispiel von memory denke ich an folgende teile:
>> 1. Zeichnen von Objekten (Malkasten, basics, Arbeiten in Squeak,
>> Ablagen, Spielfeld)
>> 2. Erzeugen von Geschwistern eines Objektes (viele memory Karten,
>> Arbeitserleichterung...)
>> 3. Spielfeld anpassen (Tabellen, Zeilen,,,,)
>> 4. Anordnen der Karten auf Feld
>> 5. Mischen und Verdecken
>> 6. Aufdecken per Mausklick
>> 7. Paare als Punkt für Spieler zählen und aus dem Spiel nehmen
>> 8. Gewinner -> höchste Punktzahl
>> 9. Neues Spiel (-> 4)
>>
>> Bei meinem Memory komme ich gerade nciht weiter -vielleicht hat ja 
>> einer
>> einen Tip. Problem: test auf gleiche Paare schaffe ich nciht (Pkt. 7)
>> Hat jemand eine Idee, wie man testen könnte und dann bei positivem
>> Ergebnis die Paare verstecken kann? Der aktuelle Spieler soll dann 1
>> Punkt bekommen.
>>
>> Es reicht mir der Ansatz, brauche nicht de komplette Lösung.
>
> Ich vermute aufdecken, andersrum waere ja ein wenig einfach ;-)
>
> Fuege eine Variable "letzteKarte" in des Memory-Spielfeld ein.
> Diese dann auf den Typ "Spieler/Player" setzen.
>
> Das Skript fuer eine Karte sieht dann grob so aus:
> Bei MouseStillDown wird die Graphic der Karte auf jeden Fall 
> angezeigt, in einem anderen Skript mit event MouseUp wird folgendes 
> gemacht:
> Wenn die Grafik der letzten Karte gleich der Grafik der aktuellen 
> Karte ist _und_ die letzte Karte nicht gleich der aktuellen Karte ist, 
> dann zeige die Grafik der letzten Karte an.
> Sonst verdecke wieder die Grafik der aktuellen Karte.
> Dann die letzte Karte im Spielfeld aktualisieren.
> Ganz am Anfang die letzte Karte auf den schwarzen Punkt setzen (Land 
> der schwarzen Hoeppelchen) und dann immer auf nil/dot abfragen oder 
> eine Dummykarte reinnehmen oder...
>
> Hoffe das war kryptisch genug um nicht als Komplettloesung 
> durchzugehen, ausserdem hab ich es ohne Hand an Maus geschrieben, von 
> daher bestimmt noch ein paar kleine Fehler versteckt...
>
> Liebe Gruesse,
>
> Markus
>
>
>> Rudimentär ist das Projekt hier:
>> http://www.relearn.de/squeak/memory.html
>>
>> Gruss, Christian
>>
>