~ubuntu-branches/ubuntu/oneiric/denemo/oneiric

« back to all changes in this revision

Viewing changes to actions/menus/MainMenu/Educational/StepSkipOrSame

  • Committer: Bazaar Package Importer
  • Author(s): Alessio Treglia
  • Date: 2010-10-27 08:00:18 UTC
  • mfrom: (1.2.7 upstream) (3.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20101027080018-suwj9ozy99d0a5a2
Tags: 0.8.16-1ubuntu1
* Merge with Debian testing (LP: #638617), Ubuntu remaining changes:
  - debian/patches/ubuntuize.diff:
    + Provide a Ubuntu-specific customization.
  - debian/patches/fix_desktop.diff:
    + Add missing trailing semicolon.
    + Add MIME types.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0"?>
2
 
<Denemo>
3
 
  <merge>
4
 
    <title>A Denemo Keymap</title>
5
 
    <author>AT, JRR, RTS</author>
6
 
    <map>
7
 
      <row>
8
 
        <action>StepSkipOrSame</action>
9
 
        <scheme>;;;;;;;;;;;;;;;
10
 
                ;;StepSkipOrSame
11
 
 
12
 
;;StepSkipOrSame
13
 
;; tests interval recognition.
14
 
(define StepSkipOrSame::score 0)
15
 
(define StepSkipOrSame::interval 3)
16
 
(define StepSkipOrSame::start (current-time))
17
 
(define StepSkipOrSame::end (current-time))
18
 
(define StepSkipOrSame::num-goes 30)
19
 
(define StepSkipOrSame::intervalwas #t)
20
 
(define StepSkipOrSame::acceptable_list (list "a" "k" "t"))
21
 
(define StepSkipOrSame::stepstring #t)
22
 
(define StepSkipOrSame::userinput #t)
23
 
(define StepSkipOrSame::direction 0)
24
 
 
25
 
(define (StepSkipOrSame::showscore)
26
 
  (d-DirectivePut-score-display "StepSkipOrSame::GameScore" (string-append "&lt;b&gt;Score: " (object-&gt;string StepSkipOrSame::score) "&lt;/b&gt; in " (object-&gt;string (- StepSkipOrSame::end StepSkipOrSame::start)) " Secs.")))
27
 
 
28
 
(define (StepSkipOrSame::help) 
29
 
  (d-InfoDialog "Is the music moving by a step, skip or staying the same. If the note is going up by skip hit the *k* key. If it is moving by step hit the *t* key. If it is staying the same hit the *a* key")
30
 
)
31
 
 
32
 
(define (StepSkipOrSame::GameOver)
33
 
   (d-InfoDialog (string-append "Game Over\n" "Your Score = " (number->string StepSkipOrSame::score)))
34
 
)
35
 
 
36
 
(define (StepSkipOrSame::ScoreBoard)
37
 
   (d-InfoDialog (EducationGames::Scoreboard_Pretty_Print
38
 
         (EducationGames::ScoreboardFile "StepSkipOrSame")))
39
 
)
40
 
 
41
 
(CreateButton "StepSkipOrSame::GameScore" "&lt;span font_desc=\"12\"&gt;Score&lt;/span&gt;")
42
 
(d-SetDirectiveTagActionScript "StepSkipOrSame::GameScore" "(StepSkipOrSame::ScoreBoard)")
43
 
(CreateButton "StepSkipOrSame::GameHelp" "&lt;b&gt;Help&lt;/b&gt;")
44
 
(d-SetDirectiveTagActionScript "StepSkipOrSame::GameHelp" "(StepSkipOrSame::help)")
45
 
 
46
 
 
47
 
;;;;;;;; the main function to run the test - just goes to end and places a note at a random height above the cursor, returning the cursor to where it was.
48
 
(define (StepSkipOrSame::offerNote) 
49
 
(if (>= StepSkipOrSame::num-goes 0)
50
 
        (let ( (steps 0) )
51
 
          ;;  (d-GoToEnd)
52
 
          (let gotoEnd () (if  (d-NextObject) (gotoEnd)))
53
 
          (set! steps (random StepSkipOrSame::interval))
54
 
          (if (= StepSkipOrSame::direction 0)
55
 
              (begin
56
 
                    (EducationGames::shiftup steps)
57
 
                    (set! StepSkipOrSame::direction 1))
58
 
              (begin 
59
 
                    (EducationGames::shiftdown steps)
60
 
                    (set! StepSkipOrSame::direction 0)))
61
 
            
62
 
          (d-Insert2) 
63
 
                     
64
 
          (if (= steps 0)
65
 
              (begin
66
 
                (set! StepSkipOrSame::stepstring "a")))
67
 
          (if (= steps 1)
68
 
              (begin
69
 
                (set! StepSkipOrSame::stepstring "t")))
70
 
          (if (>= steps 2)
71
 
              (begin
72
 
                (set! StepSkipOrSame::stepstring "k")))
73
 
 
74
 
          
75
 
          (StepSkipOrSame::showscore)
76
 
          (set! StepSkipOrSame::num-goes (-  StepSkipOrSame::num-goes 1))
77
 
          )
78
 
        ))
79
 
 
80
 
;;;;;;;;; callback when user chooses a note
81
 
(define (StepSkipOrSame::intervalchosen interval)
82
 
                      (begin
83
 
                        (set! StepSkipOrSame::end (current-time))
84
 
                        (let gotoEnd () (if  (d-NextObject) (gotoEnd))) 
85
 
                        (if  (string=? StepSkipOrSame::stepstring interval)
86
 
                             (begin
87
 
                               (set! StepSkipOrSame::score (+ StepSkipOrSame::score 1))
88
 
                               (EducationGames::PlaceAnswerStatus "CheckMark"))
89
 
                             (begin
90
 
                               (set! StepSkipOrSame::score (- StepSkipOrSame::score 1))
91
 
                               (EducationGames::PlaceAnswerStatus "CrossSign"))) 
92
 
                               (StepSkipOrSame::offerNote)
93
 
                               ))
94
 
        
95
 
;;;;;;;; the main function to run the test
96
 
(define StepSkipOrSame::runtest 
97
 
        (lambda (n)
98
 
          (if (>= n 0) (begin
99
 
                        (set! StepSkipOrSame::userinput (EducationGames::GetAcceptableKeyInput StepSkipOrSame::acceptable_list))
100
 
                        (StepSkipOrSame::intervalchosen StepSkipOrSame::userinput)      
101
 
                        (StepSkipOrSame::runtest StepSkipOrSame::num-goes)))))
102
 
 
103
 
                        
104
 
(define (StepSkipOrSame::plus)
105
 
  (set! StepSkipOrSame::interval (+ StepSkipOrSame::interval 1))
106
 
  (if (&gt; StepSkipOrSame::interval 32)
107
 
      (set! StepSkipOrSame::interval 32))
108
 
  (d-DirectivePut-score-display "StepSkipOrSame::GameInterval"
109
 
                                (string-append "&lt;span font_desc=\"12\"&gt;Interval: " (object-&gt;string StepSkipOrSame::interval) "&lt;/span&gt;")))
110
 
 
111
 
(define (StepSkipOrSame::minus)
112
 
  (set! StepSkipOrSame::interval (- StepSkipOrSame::interval 1))
113
 
  (if (&lt; StepSkipOrSame::interval 2)
114
 
      (set! StepSkipOrSame::interval 2))
115
 
  (d-DirectivePut-score-display "StepSkipOrSame::GameInterval"
116
 
                                (string-append "&lt;span font_desc=\"12\"&gt;Interval: " (object-&gt;string StepSkipOrSame::interval) "&lt;/span&gt;")))
117
 
 
118
 
(define (StepSkipOrSame::setInterval)
119
 
  (set! StepSkipOrSame::interval (string-&gt;number (d-GetUserInput "Interval" "Give number of steps you want to name note over" (object-&gt;string StepSkipOrSame::interval))))
120
 
  (if (boolean? StepSkipOrSame::interval)
121
 
       (set! StepSkipOrSame::interval 8))
122
 
  (if (&lt; StepSkipOrSame::interval 2)
123
 
       (set! StepSkipOrSame::interval 2))
124
 
  (if (&gt; StepSkipOrSame::interval 32)
125
 
      (set! StepSkipOrSame::interval 32))
126
 
  (d-DirectivePut-score-display "StepSkipOrSame::GameInterval"
127
 
                                (string-append "&lt;span font_desc=\"12\"&gt;Interval: " (object-&gt;string StepSkipOrSame::interval) "&lt;/span&gt;")))
128
 
 
129
 
 
130
 
(CreateButton "StepSkipOrSame::GameMinus" "&lt;b&gt;-&lt;/b&gt;")
131
 
(d-SetDirectiveTagActionScript "StepSkipOrSame::GameMinus" "(StepSkipOrSame::minus)")
132
 
(CreateButton "StepSkipOrSame::GameInterval" (string-append "&lt;span font_desc=\"12\"&gt;Interval: " (object-&gt;string StepSkipOrSame::interval) "&lt;/span&gt;"))
133
 
(d-SetDirectiveTagActionScript "StepSkipOrSame::GameInterval" "(StepSkipOrSame::setInterval)")
134
 
(CreateButton "StepSkipOrSame::GamePlus" "&lt;b&gt;+&lt;/b&gt;")
135
 
(d-SetDirectiveTagActionScript "StepSkipOrSame::GamePlus" "(StepSkipOrSame::plus)")       
136
 
 
137
 
(define (StepSkipOrSame::createbuttons position ustring)
138
 
  (CreateButton (string-append "StepSkipOrSame::" position)  (string-append " &lt;span font_desc=\"32\" foreground=\"blue\"&gt;" position  "&lt;/span&gt;"))
139
 
  (d-SetDirectiveTagActionScript  (string-append "StepSkipOrSame::" position) (string-append "(StepSkipOrSame::intervalchosen \"" ustring "\")")))
140
 
 
141
 
(StepSkipOrSame::createbuttons "step" "t")
142
 
(StepSkipOrSame::createbuttons "skip" "k")
143
 
(StepSkipOrSame::createbuttons "same" "a")
144
 
 
145
 
(EducationGames::Chime)
146
 
 
147
 
(EducationGames::shiftup 6)
148
 
(d-Insert2)
149
 
(StepSkipOrSame::offerNote)
150
 
(set! StepSkipOrSame::start (current-time))
151
 
(StepSkipOrSame::runtest StepSkipOrSame::num-goes)
152
 
(if (not                                                                                                                                           (EducationGames::Write_Scoreboard_File
153
 
  (EducationGames::ScoreboardFile "StepSkipOrSame") StepSkipOrSame::score))
154
 
  (StepSkipOrSame::GameOver)
155
 
  (StepSkipOrSame::ScoreBoard)
156
 
  )
157
 
 
158
 
(EducationGames::Chime)
159
 
 
160
 
;;;;;;;;;;;;;;;;;;;;;;;;;;
161
 
 
162
 
</scheme>
163
 
        <label>Step, Skip, or Same?</label>
164
 
        <tooltip>%tests your ability to determine if note is moving by a step or skip</tooltip>
165
 
      </row>
166
 
    </map>
167
 
  </merge>
168
 
</Denemo>