Letter, points and light. Stars demo, scroll demo, flare demo, bounce demo
Dependencies: microbit
MicroBit Graphics Demo
- FunctionPointFlare();
- FunctionBounceTest();
- FunctionImageTest();
- FunctionPrintTest();
- FunctionStarTest();
- FunctionImageScroll();
Functions.h@2:b767fa1c9241, 2019-06-02 (annotated)
- Committer:
- MaxScorda
- Date:
- Sun Jun 02 20:07:38 2019 +0000
- Revision:
- 2:b767fa1c9241
- Parent:
- 1:ed77b498d5c8
- Child:
- 3:7fb07f1eeffe
New Test functions
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MaxScorda | 1:ed77b498d5c8 | 1 | void FunctionPointFlare() |
MaxScorda | 1:ed77b498d5c8 | 2 | { |
MaxScorda | 1:ed77b498d5c8 | 3 | |
MaxScorda | 1:ed77b498d5c8 | 4 | int value = 64 ; |
MaxScorda | 1:ed77b498d5c8 | 5 | for(int xx=-1 ; xx<=1; xx++) { |
MaxScorda | 1:ed77b498d5c8 | 6 | for( int yy=-1; yy<=1; yy++) { |
MaxScorda | 1:ed77b498d5c8 | 7 | uBit.display.image.setPixelValue(oldx+yy,oldy+xx, 0); |
MaxScorda | 1:ed77b498d5c8 | 8 | } |
MaxScorda | 1:ed77b498d5c8 | 9 | } |
MaxScorda | 1:ed77b498d5c8 | 10 | |
MaxScorda | 1:ed77b498d5c8 | 11 | |
MaxScorda | 1:ed77b498d5c8 | 12 | for(int xx=-1 ; xx<=1; xx++) { |
MaxScorda | 1:ed77b498d5c8 | 13 | for( int yy=-1; yy<=1; yy++) { |
MaxScorda | 1:ed77b498d5c8 | 14 | uBit.display.image.setPixelValue(i+yy,k+xx, 2); |
MaxScorda | 1:ed77b498d5c8 | 15 | // uBit.serial.printf("%d - %d", yy,xx); |
MaxScorda | 1:ed77b498d5c8 | 16 | } |
MaxScorda | 1:ed77b498d5c8 | 17 | } |
MaxScorda | 1:ed77b498d5c8 | 18 | uBit.display.image.setPixelValue(i,k, value); |
MaxScorda | 1:ed77b498d5c8 | 19 | |
MaxScorda | 1:ed77b498d5c8 | 20 | oldx=i; |
MaxScorda | 1:ed77b498d5c8 | 21 | oldy=k; |
MaxScorda | 1:ed77b498d5c8 | 22 | |
MaxScorda | 1:ed77b498d5c8 | 23 | i=(i+sign); |
MaxScorda | 1:ed77b498d5c8 | 24 | if ((i<0) || (i>4)) { |
MaxScorda | 1:ed77b498d5c8 | 25 | sign=-sign; |
MaxScorda | 1:ed77b498d5c8 | 26 | i=(i+sign); |
MaxScorda | 1:ed77b498d5c8 | 27 | k++; |
MaxScorda | 1:ed77b498d5c8 | 28 | k=k%5; |
MaxScorda | 1:ed77b498d5c8 | 29 | } |
MaxScorda | 1:ed77b498d5c8 | 30 | |
MaxScorda | 1:ed77b498d5c8 | 31 | // uBit.serial.printf("\nAccleremoter "); |
MaxScorda | 1:ed77b498d5c8 | 32 | // uBit.serial.printf("x:%d y:%d", uBit.accelerometer.getX(),uBit.accelerometer.getY()); |
MaxScorda | 1:ed77b498d5c8 | 33 | |
MaxScorda | 1:ed77b498d5c8 | 34 | uBit.sleep(100); |
MaxScorda | 1:ed77b498d5c8 | 35 | } |
MaxScorda | 1:ed77b498d5c8 | 36 | |
MaxScorda | 1:ed77b498d5c8 | 37 | void FunctionPrintTest() |
MaxScorda | 1:ed77b498d5c8 | 38 | { |
MaxScorda | 1:ed77b498d5c8 | 39 | // uBit.display.scrollAsync("Scorda",500); |
MaxScorda | 2:b767fa1c9241 | 40 | uBit.display.scrollAsync("Scorda"); |
MaxScorda | 2:b767fa1c9241 | 41 | uBit.sleep(500); |
MaxScorda | 1:ed77b498d5c8 | 42 | } |
MaxScorda | 1:ed77b498d5c8 | 43 | |
MaxScorda | 1:ed77b498d5c8 | 44 | void FunctionImageTest() |
MaxScorda | 1:ed77b498d5c8 | 45 | { |
MaxScorda | 1:ed77b498d5c8 | 46 | if (ccont%3==0) |
MaxScorda | 1:ed77b498d5c8 | 47 | uBit.display.print(C); |
MaxScorda | 1:ed77b498d5c8 | 48 | else if (ccont%3==1) |
MaxScorda | 1:ed77b498d5c8 | 49 | uBit.display.print(Cb); |
MaxScorda | 1:ed77b498d5c8 | 50 | else if (ccont%3==2) |
MaxScorda | 1:ed77b498d5c8 | 51 | uBit.display.print(Cd); |
MaxScorda | 1:ed77b498d5c8 | 52 | |
MaxScorda | 1:ed77b498d5c8 | 53 | uBit.sleep(500); |
MaxScorda | 1:ed77b498d5c8 | 54 | |
MaxScorda | 1:ed77b498d5c8 | 55 | } |
MaxScorda | 1:ed77b498d5c8 | 56 | |
MaxScorda | 1:ed77b498d5c8 | 57 | |
MaxScorda | 1:ed77b498d5c8 | 58 | void FunctionBounceTest() |
MaxScorda | 1:ed77b498d5c8 | 59 | { |
MaxScorda | 1:ed77b498d5c8 | 60 | static int xx[]= {2,0,0}; |
MaxScorda | 1:ed77b498d5c8 | 61 | static int yy[]= {3,0,0}; |
MaxScorda | 1:ed77b498d5c8 | 62 | static int tempidx, idxvett=0; |
MaxScorda | 1:ed77b498d5c8 | 63 | static int xost; |
MaxScorda | 1:ed77b498d5c8 | 64 | static int yost; |
MaxScorda | 1:ed77b498d5c8 | 65 | static int xcont=0; |
MaxScorda | 1:ed77b498d5c8 | 66 | static int signx=1, signy=1; |
MaxScorda | 1:ed77b498d5c8 | 67 | int value= 128; |
MaxScorda | 1:ed77b498d5c8 | 68 | bool cambiay=false; |
MaxScorda | 1:ed77b498d5c8 | 69 | int tempcolor; |
MaxScorda | 1:ed77b498d5c8 | 70 | |
MaxScorda | 1:ed77b498d5c8 | 71 | tempidx=idxvett; |
MaxScorda | 1:ed77b498d5c8 | 72 | idxvett=(idxvett+1)%3; |
MaxScorda | 1:ed77b498d5c8 | 73 | uBit.display.image.setPixelValue(xx[idxvett],yy[idxvett], 0); |
MaxScorda | 1:ed77b498d5c8 | 74 | xx[idxvett]=(xx[tempidx]+signx)%5; |
MaxScorda | 1:ed77b498d5c8 | 75 | yy[idxvett]=(yy[tempidx]+signy)%5; |
MaxScorda | 1:ed77b498d5c8 | 76 | |
MaxScorda | 1:ed77b498d5c8 | 77 | for(int i=0 ; i<=2; i++) { |
MaxScorda | 1:ed77b498d5c8 | 78 | tempidx=(tempidx+i)%3; |
MaxScorda | 1:ed77b498d5c8 | 79 | tempcolor=value/((i+1)*4); |
MaxScorda | 1:ed77b498d5c8 | 80 | uBit.display.image.setPixelValue(xx[tempidx],yy[tempidx], tempcolor); |
MaxScorda | 1:ed77b498d5c8 | 81 | } |
MaxScorda | 1:ed77b498d5c8 | 82 | //se sbatte sul punto ostacolo o ha fatto due |
MaxScorda | 1:ed77b498d5c8 | 83 | if (((xx[idxvett]==xost)&&(yy[idxvett]==yost))||(xcont==2)) { |
MaxScorda | 1:ed77b498d5c8 | 84 | uBit.display.image.setPixelValue(xost,yost, 0); |
MaxScorda | 1:ed77b498d5c8 | 85 | if ((xx[idxvett]==xost)&&(yy[idxvett]==yost)) |
MaxScorda | 1:ed77b498d5c8 | 86 | cambiay=true; |
MaxScorda | 1:ed77b498d5c8 | 87 | xost=rand()%5; |
MaxScorda | 1:ed77b498d5c8 | 88 | yost=rand()%5; |
MaxScorda | 1:ed77b498d5c8 | 89 | uBit.display.image.setPixelValue(xost,yost, value/4); |
MaxScorda | 1:ed77b498d5c8 | 90 | xcont=0; |
MaxScorda | 1:ed77b498d5c8 | 91 | } |
MaxScorda | 1:ed77b498d5c8 | 92 | |
MaxScorda | 1:ed77b498d5c8 | 93 | if ((yy[idxvett]==0) || (yy[idxvett]==4) || (cambiay==true)) { |
MaxScorda | 1:ed77b498d5c8 | 94 | signy=-signy; |
MaxScorda | 1:ed77b498d5c8 | 95 | } |
MaxScorda | 1:ed77b498d5c8 | 96 | |
MaxScorda | 1:ed77b498d5c8 | 97 | if ((xx[idxvett]==0) || (xx[idxvett]==4)) |
MaxScorda | 1:ed77b498d5c8 | 98 | signx=-signx; |
MaxScorda | 1:ed77b498d5c8 | 99 | |
MaxScorda | 1:ed77b498d5c8 | 100 | if (xx[idxvett]==0) |
MaxScorda | 1:ed77b498d5c8 | 101 | xcont++; |
MaxScorda | 1:ed77b498d5c8 | 102 | |
MaxScorda | 1:ed77b498d5c8 | 103 | |
MaxScorda | 1:ed77b498d5c8 | 104 | uBit.sleep(250); |
MaxScorda | 1:ed77b498d5c8 | 105 | |
MaxScorda | 1:ed77b498d5c8 | 106 | } |
MaxScorda | 1:ed77b498d5c8 | 107 | |
MaxScorda | 1:ed77b498d5c8 | 108 | void onButton(MicroBitEvent e) |
MaxScorda | 1:ed77b498d5c8 | 109 | { |
MaxScorda | 1:ed77b498d5c8 | 110 | static bool premuto=false; |
MaxScorda | 2:b767fa1c9241 | 111 | int numfun=4; |
MaxScorda | 1:ed77b498d5c8 | 112 | if ((e.source == MICROBIT_ID_BUTTON_A) && (premuto==false)) { |
MaxScorda | 1:ed77b498d5c8 | 113 | sceltavar--; |
MaxScorda | 1:ed77b498d5c8 | 114 | uBit.display.clear(); |
MaxScorda | 2:b767fa1c9241 | 115 | uBit.display.stopAnimation(); |
MaxScorda | 1:ed77b498d5c8 | 116 | uBit.serial.printf("\nBUTTON A: "); |
MaxScorda | 2:b767fa1c9241 | 117 | premuto=true; |
MaxScorda | 1:ed77b498d5c8 | 118 | } |
MaxScorda | 1:ed77b498d5c8 | 119 | |
MaxScorda | 1:ed77b498d5c8 | 120 | if ((e.source == MICROBIT_ID_BUTTON_B)&& (premuto==false)) { |
MaxScorda | 1:ed77b498d5c8 | 121 | sceltavar++; |
MaxScorda | 1:ed77b498d5c8 | 122 | uBit.display.clear(); |
MaxScorda | 2:b767fa1c9241 | 123 | uBit.display.stopAnimation(); |
MaxScorda | 1:ed77b498d5c8 | 124 | uBit.serial.printf("\nBUTTON B: "); |
MaxScorda | 1:ed77b498d5c8 | 125 | premuto=true; |
MaxScorda | 1:ed77b498d5c8 | 126 | } |
MaxScorda | 2:b767fa1c9241 | 127 | /* |
MaxScorda | 2:b767fa1c9241 | 128 | if (e.value == MICROBIT_BUTTON_EVT_CLICK) { |
MaxScorda | 2:b767fa1c9241 | 129 | uBit.serial.printf("\nCLICK"); |
MaxScorda | 2:b767fa1c9241 | 130 | premuto=true; |
MaxScorda | 2:b767fa1c9241 | 131 | } |
MaxScorda | 1:ed77b498d5c8 | 132 | |
MaxScorda | 2:b767fa1c9241 | 133 | if (e.value == MICROBIT_BUTTON_EVT_HOLD) { |
MaxScorda | 2:b767fa1c9241 | 134 | uBit.serial.printf("\nHOLD"); |
MaxScorda | 2:b767fa1c9241 | 135 | premuto=true; |
MaxScorda | 2:b767fa1c9241 | 136 | } |
MaxScorda | 2:b767fa1c9241 | 137 | if (e.value == MICROBIT_BUTTON_EVT_DOWN) { |
MaxScorda | 2:b767fa1c9241 | 138 | uBit.serial.printf("\nDOWN"); |
MaxScorda | 2:b767fa1c9241 | 139 | premuto=true; |
MaxScorda | 2:b767fa1c9241 | 140 | } |
MaxScorda | 2:b767fa1c9241 | 141 | */ |
MaxScorda | 1:ed77b498d5c8 | 142 | if (e.value == MICROBIT_BUTTON_EVT_UP) { |
MaxScorda | 1:ed77b498d5c8 | 143 | uBit.serial.printf("UP"); |
MaxScorda | 1:ed77b498d5c8 | 144 | premuto=false; |
MaxScorda | 1:ed77b498d5c8 | 145 | } |
MaxScorda | 1:ed77b498d5c8 | 146 | |
MaxScorda | 1:ed77b498d5c8 | 147 | sceltavar=(sceltavar+numfun)%numfun; |
MaxScorda | 2:b767fa1c9241 | 148 | // uBit.serial.printf("--%d--", sceltavar); |
MaxScorda | 1:ed77b498d5c8 | 149 | |
MaxScorda | 1:ed77b498d5c8 | 150 | } |
MaxScorda | 1:ed77b498d5c8 | 151 |