Letter, points and light. Stars demo, scroll demo, flare demo, bounce demo

Dependencies:   microbit

MicroBit Graphics Demo

  • FunctionPointFlare();
  • FunctionBounceTest();
  • FunctionImageTest();
  • FunctionPrintTest();
  • FunctionStarTest();
  • FunctionImageScroll();
Committer:
MaxScorda
Date:
Sun Jun 02 19:30:26 2019 +0000
Revision:
1:ed77b498d5c8
Child:
2:b767fa1c9241
New test functions

Who changed what in which revision?

UserRevisionLine numberNew 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 1:ed77b498d5c8 40 uBit.display.printAsync("Scorda",500);
MaxScorda 1:ed77b498d5c8 41 }
MaxScorda 1:ed77b498d5c8 42
MaxScorda 1:ed77b498d5c8 43 void FunctionImageTest()
MaxScorda 1:ed77b498d5c8 44 {
MaxScorda 1:ed77b498d5c8 45 if (ccont%3==0)
MaxScorda 1:ed77b498d5c8 46 uBit.display.print(C);
MaxScorda 1:ed77b498d5c8 47 else if (ccont%3==1)
MaxScorda 1:ed77b498d5c8 48 uBit.display.print(Cb);
MaxScorda 1:ed77b498d5c8 49 else if (ccont%3==2)
MaxScorda 1:ed77b498d5c8 50 uBit.display.print(Cd);
MaxScorda 1:ed77b498d5c8 51
MaxScorda 1:ed77b498d5c8 52 uBit.sleep(500);
MaxScorda 1:ed77b498d5c8 53
MaxScorda 1:ed77b498d5c8 54 }
MaxScorda 1:ed77b498d5c8 55
MaxScorda 1:ed77b498d5c8 56
MaxScorda 1:ed77b498d5c8 57 void FunctionBounceTest()
MaxScorda 1:ed77b498d5c8 58 {
MaxScorda 1:ed77b498d5c8 59 static int xx[]= {2,0,0};
MaxScorda 1:ed77b498d5c8 60 static int yy[]= {3,0,0};
MaxScorda 1:ed77b498d5c8 61 static int tempidx, idxvett=0;
MaxScorda 1:ed77b498d5c8 62 static int xost;
MaxScorda 1:ed77b498d5c8 63 static int yost;
MaxScorda 1:ed77b498d5c8 64 static int xcont=0;
MaxScorda 1:ed77b498d5c8 65 static int signx=1, signy=1;
MaxScorda 1:ed77b498d5c8 66 int value= 128;
MaxScorda 1:ed77b498d5c8 67 bool cambiay=false;
MaxScorda 1:ed77b498d5c8 68 int tempcolor;
MaxScorda 1:ed77b498d5c8 69
MaxScorda 1:ed77b498d5c8 70 tempidx=idxvett;
MaxScorda 1:ed77b498d5c8 71 idxvett=(idxvett+1)%3;
MaxScorda 1:ed77b498d5c8 72 uBit.display.image.setPixelValue(xx[idxvett],yy[idxvett], 0);
MaxScorda 1:ed77b498d5c8 73 xx[idxvett]=(xx[tempidx]+signx)%5;
MaxScorda 1:ed77b498d5c8 74 yy[idxvett]=(yy[tempidx]+signy)%5;
MaxScorda 1:ed77b498d5c8 75
MaxScorda 1:ed77b498d5c8 76 for(int i=0 ; i<=2; i++) {
MaxScorda 1:ed77b498d5c8 77 tempidx=(tempidx+i)%3;
MaxScorda 1:ed77b498d5c8 78 tempcolor=value/((i+1)*4);
MaxScorda 1:ed77b498d5c8 79 uBit.display.image.setPixelValue(xx[tempidx],yy[tempidx], tempcolor);
MaxScorda 1:ed77b498d5c8 80 }
MaxScorda 1:ed77b498d5c8 81 //se sbatte sul punto ostacolo o ha fatto due
MaxScorda 1:ed77b498d5c8 82 if (((xx[idxvett]==xost)&&(yy[idxvett]==yost))||(xcont==2)) {
MaxScorda 1:ed77b498d5c8 83 uBit.display.image.setPixelValue(xost,yost, 0);
MaxScorda 1:ed77b498d5c8 84 if ((xx[idxvett]==xost)&&(yy[idxvett]==yost))
MaxScorda 1:ed77b498d5c8 85 cambiay=true;
MaxScorda 1:ed77b498d5c8 86 xost=rand()%5;
MaxScorda 1:ed77b498d5c8 87 yost=rand()%5;
MaxScorda 1:ed77b498d5c8 88 uBit.display.image.setPixelValue(xost,yost, value/4);
MaxScorda 1:ed77b498d5c8 89 xcont=0;
MaxScorda 1:ed77b498d5c8 90 }
MaxScorda 1:ed77b498d5c8 91
MaxScorda 1:ed77b498d5c8 92 if ((yy[idxvett]==0) || (yy[idxvett]==4) || (cambiay==true)) {
MaxScorda 1:ed77b498d5c8 93 signy=-signy;
MaxScorda 1:ed77b498d5c8 94 }
MaxScorda 1:ed77b498d5c8 95
MaxScorda 1:ed77b498d5c8 96 if ((xx[idxvett]==0) || (xx[idxvett]==4))
MaxScorda 1:ed77b498d5c8 97 signx=-signx;
MaxScorda 1:ed77b498d5c8 98
MaxScorda 1:ed77b498d5c8 99 if (xx[idxvett]==0)
MaxScorda 1:ed77b498d5c8 100 xcont++;
MaxScorda 1:ed77b498d5c8 101
MaxScorda 1:ed77b498d5c8 102
MaxScorda 1:ed77b498d5c8 103 uBit.sleep(250);
MaxScorda 1:ed77b498d5c8 104
MaxScorda 1:ed77b498d5c8 105 }
MaxScorda 1:ed77b498d5c8 106
MaxScorda 1:ed77b498d5c8 107 void onButton(MicroBitEvent e)
MaxScorda 1:ed77b498d5c8 108 {
MaxScorda 1:ed77b498d5c8 109 static bool premuto=false;
MaxScorda 1:ed77b498d5c8 110 int numfun=3;
MaxScorda 1:ed77b498d5c8 111 if ((e.source == MICROBIT_ID_BUTTON_A) && (premuto==false)) {
MaxScorda 1:ed77b498d5c8 112 sceltavar--;
MaxScorda 1:ed77b498d5c8 113 uBit.display.clear();
MaxScorda 1:ed77b498d5c8 114 uBit.serial.printf("\nBUTTON A: ");
MaxScorda 1:ed77b498d5c8 115 }
MaxScorda 1:ed77b498d5c8 116
MaxScorda 1:ed77b498d5c8 117 if ((e.source == MICROBIT_ID_BUTTON_B)&& (premuto==false)) {
MaxScorda 1:ed77b498d5c8 118 sceltavar++;
MaxScorda 1:ed77b498d5c8 119 uBit.display.clear();
MaxScorda 1:ed77b498d5c8 120 uBit.serial.printf("\nBUTTON B: ");
MaxScorda 1:ed77b498d5c8 121 }
MaxScorda 1:ed77b498d5c8 122
MaxScorda 1:ed77b498d5c8 123 if (e.value == MICROBIT_BUTTON_EVT_CLICK) {
MaxScorda 1:ed77b498d5c8 124 uBit.serial.printf("\nCLICK");
MaxScorda 1:ed77b498d5c8 125 premuto=true;
MaxScorda 1:ed77b498d5c8 126 }
MaxScorda 1:ed77b498d5c8 127
MaxScorda 1:ed77b498d5c8 128 if (e.value == MICROBIT_BUTTON_EVT_HOLD) {
MaxScorda 1:ed77b498d5c8 129 uBit.serial.printf("\nHOLD");
MaxScorda 1:ed77b498d5c8 130 premuto=true;
MaxScorda 1:ed77b498d5c8 131 }
MaxScorda 1:ed77b498d5c8 132 if (e.value == MICROBIT_BUTTON_EVT_DOWN) {
MaxScorda 1:ed77b498d5c8 133 uBit.serial.printf("\nDOWN");
MaxScorda 1:ed77b498d5c8 134 premuto=true;
MaxScorda 1:ed77b498d5c8 135 }
MaxScorda 1:ed77b498d5c8 136
MaxScorda 1:ed77b498d5c8 137 if (e.value == MICROBIT_BUTTON_EVT_UP) {
MaxScorda 1:ed77b498d5c8 138 uBit.serial.printf("UP");
MaxScorda 1:ed77b498d5c8 139 premuto=false;
MaxScorda 1:ed77b498d5c8 140 }
MaxScorda 1:ed77b498d5c8 141
MaxScorda 1:ed77b498d5c8 142 sceltavar=(sceltavar+numfun)%numfun;
MaxScorda 1:ed77b498d5c8 143 uBit.serial.printf("--%d--", sceltavar);
MaxScorda 1:ed77b498d5c8 144
MaxScorda 1:ed77b498d5c8 145 }
MaxScorda 1:ed77b498d5c8 146