Auto full-combo Koibumi2000 in Taiko no Tatsujin CS5

Dependencies:   fll mbed-rtos mbed

Committer:
amutake
Date:
Sat Feb 14 16:51:25 2015 +0000
Revision:
8:d16a0fcc2735
Parent:
7:61b4825304e2
Child:
9:0d6631edfc32
fll_run

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 0:c80e972b4c59 4
amutake 0:c80e972b4c59 5 #define FRAME 1.0 / 60 // 1 frame (sec)
amutake 0:c80e972b4c59 6
amutake 7:61b4825304e2 7 // [ Up, Right, Down, ... ]
amutake 7:61b4825304e2 8 // +--- OrFoldFlow ---> [ Up|Circle, Right, Down|Triangle, Up, Right|Circle, ... ]
amutake 7:61b4825304e2 9 // [ Circle, none, Triangle, none, ... ]
sierra 6:d0348b7a2f05 10 class OrFoldFlow : public FoldFlow {
sierra 5:130721ce29f7 11 public:
sierra 6:d0348b7a2f05 12 OrFoldFlow(Producer **srcs, int srcs_size) : FoldFlow(srcs, srcs_size) {}
sierra 5:130721ce29f7 13 virtual button_t fold(button_t *bs, int bs_size) {
sierra 5:130721ce29f7 14 button_t b = 0x00;
sierra 5:130721ce29f7 15 for(int i = 0; i < bs_size; i++) {
sierra 5:130721ce29f7 16 b |= bs[i];
sierra 5:130721ce29f7 17 }
sierra 5:130721ce29f7 18 return b;
sierra 5:130721ce29f7 19 }
sierra 5:130721ce29f7 20 };
sierra 5:130721ce29f7 21
amutake 0:c80e972b4c59 22 int main(void)
amutake 0:c80e972b4c59 23 {
sierra 5:130721ce29f7 24 button_t array0[] = {R1, 0};
amutake 7:61b4825304e2 25 button_t array1[] = {CIRCLE, 0};
amutake 7:61b4825304e2 26
amutake 7:61b4825304e2 27 // fll user must make a Producer
sierra 6:d0348b7a2f05 28 Producer* source0 = new RepeaterSource(array0, sizeof(array0)/sizeof(button_t));
sierra 6:d0348b7a2f05 29 Producer* source1 = new RepeaterSource(array1, sizeof(array1)/sizeof(button_t));
sierra 6:d0348b7a2f05 30 Producer* ss[] = {source0, source1};
sierra 6:d0348b7a2f05 31 Producer* source = new OrFoldFlow(ss, 2);
amutake 8:d16a0fcc2735 32
amutake 8:d16a0fcc2735 33 fll_run(source);
amutake 0:c80e972b4c59 34 }