2016-05-21 3 views
1

Мне нужно создать счетчик очков для моего проекта игры в тетрис в Racket, и я застрял ... Это можно считать +100, +250, +400 или +600 в зависимости от того, будет ли один, два, три или четыре ряда удален. Основной проблемой для меня является то, что я не знаю, в каком классе% я должен сделать это в .. Результат должен выглядеть примерно так:RACKET Как создать счетчик счетчиков?

enter image description here

У меня есть другие части сделано, только окно счёта отсутствует. Единственная идея, которую я имею о том, как ее создать, - это кнопка, которую вы можете щелкнуть, и оценка будет обновлена. Процедура обратного вызова для этой кнопки будет выглядеть примерно так:

[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))) 
       ))] 

удаление двухрядной процедура, которая заботится о строках, если они заполняются (не упомянутые в коде). Тем не менее, я не уверен, что он работает, и он чувствует себя очень непрофессионально, а делает это по-другому ...

Кто-нибудь с идеей о том, как я могу создать счетчик? Я ценю все ответы!

ответ

2

На этой странице показаны различные типы элементов графического интерфейса:

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

ли это message% вы хотите?

+0

Не знал об этой галерее, спасибо! message% выглядит хорошо, важно то, что я могу обновлять его каждый раз, когда выполняется процедура удаления строки. –

Смежные вопросы