Auto full-combo Koibumi2000 in Taiko no Tatsujin CS5

Dependencies:   fll mbed-rtos mbed

Committer:
amutake
Date:
Thu Feb 19 17:52:17 2015 +0000
Revision:
38:3ef142056a3c
Parent:
36:09c32b11d1a0
Follow the change of EasySource

Who changed what in which revision?

UserRevisionLine numberNew contents of line
amutake 0:c80e972b4c59 1 #include "mbed.h"
amutake 0:c80e972b4c59 2 #include "rtos.h"
amutake 0:c80e972b4c59 3 #include "fll.h"
amutake 20:da2af91ee962 4 #include "fllaux.h"
amutake 10:79bb44beb08b 5 #include "taiko.h"
sierra 5:130721ce29f7 6
amutake 0:c80e972b4c59 7 int main(void)
amutake 0:c80e972b4c59 8 {
amutake 10:79bb44beb08b 9 note don1 = { Don, 1 };
amutake 10:79bb44beb08b 10 note don05 = { Don, 0.5 };
amutake 11:21b3b0494baa 11 note don025 = { Don, 0.25 };
amutake 11:21b3b0494baa 12 note un1 = { Un, 1 };
amutake 11:21b3b0494baa 13 note un05 = { Un, 0.5 };
amutake 13:fd698d077882 14 note ka1 = { Ka, 1 };
amutake 11:21b3b0494baa 15 note ka05 = { Ka, 0.5 };
amutake 13:fd698d077882 16 note ka025 = { Ka, 0.25 };
amutake 15:ed0c2da735c2 17 note renda2 = { Renda, 2 };
amutake 15:ed0c2da735c2 18 note dondai05 = { DonDai, 0.5 };
amutake 15:ed0c2da735c2 19 note dondai1 = { DonDai, 1 };
amutake 15:ed0c2da735c2 20 note kadai05 = { KaDai, 0.5 };
amutake 15:ed0c2da735c2 21 note kadai1 = { KaDai, 1 };
amutake 21:9cc452a67382 22
sierra 35:4ba2f4fd7015 23 button_t go_bs[] = {
amutake 21:9cc452a67382 24 CIRCLE, CIRCLE,
amutake 18:c5d3a4d6e8e5 25 };
amutake 21:9cc452a67382 26
sierra 35:4ba2f4fd7015 27 Producer* go = new OnetimeSource(go_bs, sizeof(go_bs) / sizeof(button_t));
amutake 21:9cc452a67382 28
amutake 15:ed0c2da735c2 29 // Koibumi2000
amutake 15:ed0c2da735c2 30 note* note_seq[] = {
amutake 18:c5d3a4d6e8e5 31 &un1, &un1, &un1, &un1,
amutake 18:c5d3a4d6e8e5 32 &un1, &un1, &un05, &dondai05, &un1,
amutake 21:9cc452a67382 33
amutake 15:ed0c2da735c2 34 &don05, &don05, &un1, &un1, &un1,
amutake 15:ed0c2da735c2 35 &un1, &un1, &un1, &un1,
amutake 21:9cc452a67382 36
amutake 15:ed0c2da735c2 37 &don05, &don05, &un1, &un1, &un1,
amutake 15:ed0c2da735c2 38 &dondai1, &un1, &dondai1, &un1,
amutake 21:9cc452a67382 39
amutake 15:ed0c2da735c2 40 //
amutake 15:ed0c2da735c2 41 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
amutake 15:ed0c2da735c2 42 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
amutake 21:9cc452a67382 43
amutake 15:ed0c2da735c2 44 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
amutake 15:ed0c2da735c2 45 &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
amutake 21:9cc452a67382 46
amutake 15:ed0c2da735c2 47 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
amutake 15:ed0c2da735c2 48 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
amutake 21:9cc452a67382 49
amutake 15:ed0c2da735c2 50 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
amutake 15:ed0c2da735c2 51 &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
amutake 21:9cc452a67382 52
amutake 15:ed0c2da735c2 53 //
amutake 15:ed0c2da735c2 54 &dondai1, &un1, &don025, &don025, &don025, &don025, &don1, //
amutake 21:9cc452a67382 55
amutake 15:ed0c2da735c2 56 //
amutake 15:ed0c2da735c2 57 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 58 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 21:9cc452a67382 59
amutake 15:ed0c2da735c2 60 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 61 &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
amutake 21:9cc452a67382 62
amutake 15:ed0c2da735c2 63 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 64 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 21:9cc452a67382 65
amutake 15:ed0c2da735c2 66 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 67 &don05, &ka05, &don05, &ka05, &don05, &kadai05, &un1,
amutake 21:9cc452a67382 68
amutake 15:ed0c2da735c2 69 //
amutake 15:ed0c2da735c2 70 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 71 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 21:9cc452a67382 72
amutake 15:ed0c2da735c2 73 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 74 &don05, &ka05, &don05, &ka05, &don05, &kadai05, &kadai05, &kadai05,
amutake 21:9cc452a67382 75
amutake 15:ed0c2da735c2 76 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 77 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 21:9cc452a67382 78
amutake 15:ed0c2da735c2 79 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 15:ed0c2da735c2 80 &don05, &ka05, &don05, &ka05, &don025, &don025, &don025, &don025, &don1,
amutake 21:9cc452a67382 81
amutake 15:ed0c2da735c2 82 //
amutake 15:ed0c2da735c2 83 &don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &dondai1,
amutake 15:ed0c2da735c2 84 &don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &dondai1,
amutake 21:9cc452a67382 85
amutake 15:ed0c2da735c2 86 &don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
amutake 15:ed0c2da735c2 87 &don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
amutake 21:9cc452a67382 88
amutake 15:ed0c2da735c2 89 &don025, &don025, &don05, &un05, &ka025, &ka025, &ka05, &un05, &dondai1,
amutake 15:ed0c2da735c2 90 &don025, &don025, &don05, &un05, &ka025, &ka025, &ka05, &un05, &dondai1,
amutake 21:9cc452a67382 91
amutake 15:ed0c2da735c2 92 &don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
amutake 15:ed0c2da735c2 93 &don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
amutake 21:9cc452a67382 94
amutake 15:ed0c2da735c2 95 //
amutake 15:ed0c2da735c2 96 &don05, &don05, &don1, &don05, &don025, &don025, &don05, &don05,
amutake 15:ed0c2da735c2 97 &don05, &don05, &don1, &don05, &don025, &don025, &don05, &don05,
amutake 21:9cc452a67382 98
amutake 15:ed0c2da735c2 99 &don05, &don05, &don1, &don05, &don025, &don025, &don05, &don05,
amutake 15:ed0c2da735c2 100 &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025, &don05, &don05,
amutake 21:9cc452a67382 101
amutake 15:ed0c2da735c2 102 &don05, &ka05, &don05, &ka05, &don05, &don025, &don025, &don05, &don05,
amutake 15:ed0c2da735c2 103 &don05, &ka05, &don05, &ka05, &don05, &don025, &don025, &don05, &don05,
amutake 21:9cc452a67382 104
amutake 15:ed0c2da735c2 105 &don05, &ka05, &don05, &ka05, &don05, &don025, &don025, &don05, &ka05,
amutake 15:ed0c2da735c2 106 &don05, &don025, &don025, &don05, &ka05, &don05, &ka025, &ka025, &ka05, &ka05,
amutake 21:9cc452a67382 107
amutake 15:ed0c2da735c2 108 //
amutake 15:ed0c2da735c2 109 &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
amutake 15:ed0c2da735c2 110 &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
amutake 21:9cc452a67382 111
amutake 15:ed0c2da735c2 112 &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
amutake 15:ed0c2da735c2 113 &don05, &don025, &don025, &don025, &don025, &don05, &don05, &don025, &don025, &don025, &don025,&don05,
amutake 21:9cc452a67382 114
amutake 21:9cc452a67382 115 &don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don05, &ka05, &ka05,
amutake 21:9cc452a67382 116 &don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don05, &ka05, &ka05,
amutake 21:9cc452a67382 117
amutake 21:9cc452a67382 118 &don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don05, &ka05, &ka05,
amutake 15:ed0c2da735c2 119 &don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &dondai1,
amutake 21:9cc452a67382 120
amutake 15:ed0c2da735c2 121 // irregular time
amutake 15:ed0c2da735c2 122 &don05, &don1, &don1, &don1, &don05, &un05, &don05, &don05, &don05, &don1, &don05, &don05,
amutake 15:ed0c2da735c2 123 &un05, &don1, &don1, &don1, &don05, &don05, &don05, &don1, // ?
amutake 21:9cc452a67382 124
amutake 21:9cc452a67382 125 &don05, &don1, &don1, &don05, &don05, &don05, &un05, &ka025, &ka025, &ka05, &ka025, &ka025, &ka1, &don05, &don05,
amutake 15:ed0c2da735c2 126 &un05, &don1, &don05, &don05, &don05, &un05, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &un05,
amutake 21:9cc452a67382 127
amutake 15:ed0c2da735c2 128 &don05, &don025, &don025, &don05, &don1, &don1, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &don025, &don025, &don1, &don05, &don1, &don1, &don1, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &don05, &don05, &don05,
amutake 21:9cc452a67382 129
amutake 15:ed0c2da735c2 130 // normal time
amutake 21:9cc452a67382 131 &don1, &ka1, &don1, &ka1, &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
amutake 15:ed0c2da735c2 132 &don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &ka025, &ka025, &ka05, &don1, &un1, &un05, &don025, &don025, &don05, &don05,
amutake 21:9cc452a67382 133
amutake 21:9cc452a67382 134 &don1, &ka1, &don1, &ka1, &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
amutake 21:9cc452a67382 135 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don05, &don05, &don05, &don05,
amutake 21:9cc452a67382 136
amutake 21:9cc452a67382 137 &don1, &ka1, &don1, &ka1, &dondai1, &kadai1, &dondai1, &kadai1,
amutake 15:ed0c2da735c2 138 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
amutake 15:ed0c2da735c2 139 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
amutake 21:9cc452a67382 140 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
amutake 21:9cc452a67382 141 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05,
amutake 21:9cc452a67382 142
amutake 15:ed0c2da735c2 143 &renda2, &un05, &don025, &don025, &don1,
amutake 21:9cc452a67382 144
amutake 15:ed0c2da735c2 145 // switch (tatsujin)
amutake 21:9cc452a67382 146 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 21:9cc452a67382 147 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 16:253d933a7633 148
amutake 21:9cc452a67382 149 &don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
amutake 21:9cc452a67382 150 &don05, &ka05, &don05, &ka05, &don05, &kadai05, &un05, &kadai05,
amutake 21:9cc452a67382 151
amutake 16:253d933a7633 152 //
amutake 15:ed0c2da735c2 153 &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
amutake 15:ed0c2da735c2 154 &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
amutake 21:9cc452a67382 155
amutake 15:ed0c2da735c2 156 &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
amutake 21:9cc452a67382 157 &don05, &don05, &don05, &don05, &don05, &don025, &don025, &don025, &don025, &don05,
amutake 16:253d933a7633 158 //
amutake 21:9cc452a67382 159 &don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &ka025, &ka025, &ka05,
amutake 21:9cc452a67382 160 &don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &ka025, &ka025, &ka05,
amutake 21:9cc452a67382 161
amutake 21:9cc452a67382 162 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
amutake 15:ed0c2da735c2 163 &don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don025, &don025, &don05, &ka05,
amutake 16:253d933a7633 164 //
amutake 15:ed0c2da735c2 165 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05,
amutake 15:ed0c2da735c2 166 &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05,
amutake 21:9cc452a67382 167
amutake 21:9cc452a67382 168 &don025, &don025, &ka025, &ka025, &don025, &don025, &ka025, &ka025, &don025, &don025, &ka025, &ka025, &don025, &don025, &ka025, &ka025,
amutake 15:ed0c2da735c2 169 &don05, &don05, &don05, &don05, &don025, &don025, &don025, &don025, &don025, &don025, &don05,
amutake 21:9cc452a67382 170
amutake 15:ed0c2da735c2 171 // irregular time
amutake 15:ed0c2da735c2 172 &don05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &don05, &don05, &don1,
amutake 15:ed0c2da735c2 173 &don05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &don05, &don05, &don1,
amutake 21:9cc452a67382 174
amutake 16:253d933a7633 175 // last
amutake 15:ed0c2da735c2 176 &dondai05, &dondai05
amutake 15:ed0c2da735c2 177 };
amutake 21:9cc452a67382 178
amutake 18:c5d3a4d6e8e5 179 Producer* taiko = new TaikoSource(note_seq, sizeof(note_seq)/sizeof(note*), 200);
amutake 21:9cc452a67382 180
sierra 36:09c32b11d1a0 181 Producer* delayed_taiko = new DelayFlow(taiko, 9.068);
sierra 36:09c32b11d1a0 182
sierra 36:09c32b11d1a0 183 button_time menu_bs[] = {
amutake 38:3ef142056a3c 184 space(40), single(CIRCLE), space(3), single(CIRCLE), space(4)
sierra 36:09c32b11d1a0 185 };
amutake 21:9cc452a67382 186
sierra 36:09c32b11d1a0 187 Producer* back = new EasySource(menu_bs, sizeof(menu_bs) / sizeof(menu_bs[0]));
sierra 36:09c32b11d1a0 188
sierra 36:09c32b11d1a0 189 Producer* src_seq[] = { go, delayed_taiko, back };
sierra 36:09c32b11d1a0 190
sierra 36:09c32b11d1a0 191 Producer* oneset = new SequentialFlow(src_seq, sizeof(src_seq) / sizeof(src_seq[0]));
sierra 36:09c32b11d1a0 192
sierra 36:09c32b11d1a0 193 Producer* source = new RepeaterFlow(oneset);
amutake 21:9cc452a67382 194
sierra 32:fdf9f6fca8a2 195 FLL fll(source);
sierra 32:fdf9f6fca8a2 196 fll.run();
amutake 0:c80e972b4c59 197 }