Auto full-combo Koibumi2000 in Taiko no Tatsujin CS5
Dependencies: fll mbed-rtos mbed
main.cpp@36:09c32b11d1a0, 2015-02-17 (annotated)
- Committer:
- sierra
- Date:
- Tue Feb 17 08:31:54 2015 +0000
- Revision:
- 36:09c32b11d1a0
- Parent:
- 35:4ba2f4fd7015
- Child:
- 38:3ef142056a3c
Infinitely loop Koibumi2000
Who changed what in which revision?
User | Revision | Line number | New 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[] = { |
sierra | 36:09c32b11d1a0 | 184 | { 0, 40 }, { CIRCLE, 3 }, { CIRCLE, 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 | } |