2016-05-21 11 views
1

Ich muss einen Score-Zähler für mein Tetris-Spiel-Projekt in Racket erstellen und ich stecke fest ... Es ist zu zählen, +100, +250, +400 oder +600 abhängig davon, ob eins, zwei, drei oder vier Reihen bekommen gelöscht. Das Hauptproblem für mich ist, dass ich weiß nicht, in welcher Klasse% ich soll es in .. Das Ergebnis etwas tun, sollte wie folgt aussehen:RACKET Wie erstelle ich einen Score Counter?

enter image description here

Ich habe die anderen Teile getan, nur Das Punktefenster fehlt. Die einzige Idee, die ich habe, um es zu erstellen, ist mit einem Knopf, den Sie anklicken können und der Punktestand wird aktualisiert. Das Callback-Verfahren für diese Schaltfläche würde wie folgt aussehen:

[callback (lambda (button event) 
       (cond 
       ((eq? delete-row 1) (send *score-button* set-label (+ (send *score-button* get-label) 100))) 
       ((eq? delete-row 2) (send *score-button* set-label (+ (send *score-button* get-label) 250))) 
       ((eq? delete-row 3) (send *score-button* set-label (+ (send *score-button* get-label) 400))) 
       ((eq? delete-row 4) (send *score-button* set-label (+ (send *score-button* get-label) 600))) 
       ))] 

delete-Reihe ist die Prozedur, die Pflege der Reihen nimmt, wenn sie gefüllt werden (nicht im Code erwähnt). Ich bin mir jedoch nicht sicher, ob es überhaupt funktioniert und es fühlt sich sehr unprofessionell an, anstatt es anders zu machen ...

Jeder mit einer Idee, wie ich diesen Zähler erstellen kann? Ich schätze alle Antworten!

Antwort

2

Diese Seite zeigen die verschiedenen Arten von GUI-Elementen:

http://docs.racket-lang.org/gui/Widget_Gallery.html?q=text%25

Ist es ein message% Sie wollen?

+0

Ich wusste nichts über diese Galerie, danke! Nachricht% sieht gut aus, die wichtige Sache ist, dass ich sie jedes Mal aktualisieren kann, wenn meine delete-row-Prozedur ausgeführt wird. –