jj

Dependencies:   microbit

Committer:
schizzlewizzle
Date:
Mon Feb 04 18:08:39 2019 +0000
Revision:
0:f7377a7aa985
tesst

Who changed what in which revision?

UserRevisionLine numberNew contents of line
schizzlewizzle 0:f7377a7aa985 1 #include "MicroBit.h"
schizzlewizzle 0:f7377a7aa985 2
schizzlewizzle 0:f7377a7aa985 3 int pLocationX;
schizzlewizzle 0:f7377a7aa985 4 int pLocationY;
schizzlewizzle 0:f7377a7aa985 5 int xPos = 4;
schizzlewizzle 0:f7377a7aa985 6 bool gameOver = false;
schizzlewizzle 0:f7377a7aa985 7 int y = 0;
schizzlewizzle 0:f7377a7aa985 8 int obstacleX = 0;
schizzlewizzle 0:f7377a7aa985 9 int score = 0;
schizzlewizzle 0:f7377a7aa985 10 int playX;
schizzlewizzle 0:f7377a7aa985 11
schizzlewizzle 0:f7377a7aa985 12 MicroBit uBit;
schizzlewizzle 0:f7377a7aa985 13
schizzlewizzle 0:f7377a7aa985 14 int getXPos(){
schizzlewizzle 0:f7377a7aa985 15 playX = uBit.accelerometer.getX();
schizzlewizzle 0:f7377a7aa985 16 if(playX > 0){
schizzlewizzle 0:f7377a7aa985 17 xPos++;
schizzlewizzle 0:f7377a7aa985 18 }else{
schizzlewizzle 0:f7377a7aa985 19 xPos--;
schizzlewizzle 0:f7377a7aa985 20 }
schizzlewizzle 0:f7377a7aa985 21
schizzlewizzle 0:f7377a7aa985 22 }
schizzlewizzle 0:f7377a7aa985 23
schizzlewizzle 0:f7377a7aa985 24 void checkCollision(){
schizzlewizzle 0:f7377a7aa985 25 //if (xPos == obstacleX || xPos == obstacleX - 1 && y == 4){
schizzlewizzle 0:f7377a7aa985 26 // gameOver = true;
schizzlewizzle 0:f7377a7aa985 27 //}
schizzlewizzle 0:f7377a7aa985 28 gameOver = false;
schizzlewizzle 0:f7377a7aa985 29
schizzlewizzle 0:f7377a7aa985 30 }
schizzlewizzle 0:f7377a7aa985 31 void displayPlayerLocation(){
schizzlewizzle 0:f7377a7aa985 32 getXPos();
schizzlewizzle 0:f7377a7aa985 33
schizzlewizzle 0:f7377a7aa985 34 if( xPos <= 4)
schizzlewizzle 0:f7377a7aa985 35 {
schizzlewizzle 0:f7377a7aa985 36 uBit.display.image.setPixelValue(xPos - 1, 4, 0);
schizzlewizzle 0:f7377a7aa985 37 }
schizzlewizzle 0:f7377a7aa985 38 if(xPos >= 0) {
schizzlewizzle 0:f7377a7aa985 39 uBit.display.image.setPixelValue(xPos + 1, 4, 0);
schizzlewizzle 0:f7377a7aa985 40 }
schizzlewizzle 0:f7377a7aa985 41
schizzlewizzle 0:f7377a7aa985 42 if (xPos < 0){
schizzlewizzle 0:f7377a7aa985 43 xPos = 0;
schizzlewizzle 0:f7377a7aa985 44 } else if(xPos > 4) {
schizzlewizzle 0:f7377a7aa985 45 xPos = 4;
schizzlewizzle 0:f7377a7aa985 46 }
schizzlewizzle 0:f7377a7aa985 47
schizzlewizzle 0:f7377a7aa985 48 checkCollision();
schizzlewizzle 0:f7377a7aa985 49 uBit.display.image.setPixelValue(xPos, 4, 255);
schizzlewizzle 0:f7377a7aa985 50 }
schizzlewizzle 0:f7377a7aa985 51 void displayObs(){
schizzlewizzle 0:f7377a7aa985 52 obstacleX = uBit.random(4);
schizzlewizzle 0:f7377a7aa985 53 for (y = 1; y >= 4; y++){
schizzlewizzle 0:f7377a7aa985 54 uBit.display.image.setPixelValue(obstacleX, y, 255);
schizzlewizzle 0:f7377a7aa985 55 if (obstacleX > 0)
schizzlewizzle 0:f7377a7aa985 56 {
schizzlewizzle 0:f7377a7aa985 57 uBit.display.image.setPixelValue(obstacleX - 1, y, 255);
schizzlewizzle 0:f7377a7aa985 58 }
schizzlewizzle 0:f7377a7aa985 59 if (y > 0)
schizzlewizzle 0:f7377a7aa985 60 {
schizzlewizzle 0:f7377a7aa985 61 uBit.display.image.setPixelValue(obstacleX, y - 1, 0);
schizzlewizzle 0:f7377a7aa985 62 }
schizzlewizzle 0:f7377a7aa985 63 if (obstacleX > 0 && y > 0)
schizzlewizzle 0:f7377a7aa985 64 {
schizzlewizzle 0:f7377a7aa985 65 uBit.display.image.setPixelValue(obstacleX - 1, y - 1, 0);
schizzlewizzle 0:f7377a7aa985 66 }
schizzlewizzle 0:f7377a7aa985 67 if (score > 0)
schizzlewizzle 0:f7377a7aa985 68 {
schizzlewizzle 0:f7377a7aa985 69 uBit.sleep(500 - score);
schizzlewizzle 0:f7377a7aa985 70 }else if (score >= 500)
schizzlewizzle 0:f7377a7aa985 71 {
schizzlewizzle 0:f7377a7aa985 72 uBit.sleep(0);
schizzlewizzle 0:f7377a7aa985 73 }else{
schizzlewizzle 0:f7377a7aa985 74 uBit.sleep(500);
schizzlewizzle 0:f7377a7aa985 75 }
schizzlewizzle 0:f7377a7aa985 76 }
schizzlewizzle 0:f7377a7aa985 77 checkCollision();
schizzlewizzle 0:f7377a7aa985 78 displayPlayerLocation();
schizzlewizzle 0:f7377a7aa985 79 uBit.display.image.setPixelValue(obstacleX, y, 0);
schizzlewizzle 0:f7377a7aa985 80 if (obstacleX > 0){
schizzlewizzle 0:f7377a7aa985 81 uBit.display.image.setPixelValue(obstacleX - 1, y, 0);
schizzlewizzle 0:f7377a7aa985 82 }
schizzlewizzle 0:f7377a7aa985 83 y = 0;
schizzlewizzle 0:f7377a7aa985 84 score += 5;
schizzlewizzle 0:f7377a7aa985 85 }
schizzlewizzle 0:f7377a7aa985 86
schizzlewizzle 0:f7377a7aa985 87
schizzlewizzle 0:f7377a7aa985 88
schizzlewizzle 0:f7377a7aa985 89
schizzlewizzle 0:f7377a7aa985 90 int main(){
schizzlewizzle 0:f7377a7aa985 91 uBit.init();
schizzlewizzle 0:f7377a7aa985 92 while(gameOver == false){
schizzlewizzle 0:f7377a7aa985 93 displayObs();
schizzlewizzle 0:f7377a7aa985 94 }
schizzlewizzle 0:f7377a7aa985 95 uBit.display.scroll("Gsme Over, Score: ");
schizzlewizzle 0:f7377a7aa985 96 uBit.display.scroll(score);
schizzlewizzle 0:f7377a7aa985 97 }
schizzlewizzle 0:f7377a7aa985 98
schizzlewizzle 0:f7377a7aa985 99
schizzlewizzle 0:f7377a7aa985 100
schizzlewizzle 0:f7377a7aa985 101
schizzlewizzle 0:f7377a7aa985 102 /*
schizzlewizzle 0:f7377a7aa985 103 void drawTheDot(){
schizzlewizzle 0:f7377a7aa985 104 int pointX = uBit.random(4);
schizzlewizzle 0:f7377a7aa985 105 int pointY = uBit.random(4);
schizzlewizzle 0:f7377a7aa985 106
schizzlewizzle 0:f7377a7aa985 107 uBit.display.image.setPixelValue(pointX, pointY, 255);
schizzlewizzle 0:f7377a7aa985 108 }
schizzlewizzle 0:f7377a7aa985 109
schizzlewizzle 0:f7377a7aa985 110 int main() {
schizzlewizzle 0:f7377a7aa985 111 uBit.init();
schizzlewizzle 0:f7377a7aa985 112
schizzlewizzle 0:f7377a7aa985 113 //int pointX = uBit.random(4);
schizzlewizzle 0:f7377a7aa985 114 // int pointY = uBit.random(4);
schizzlewizzle 0:f7377a7aa985 115 // uBit.display.scroll("Test");
schizzlewizzle 0:f7377a7aa985 116 // uBit.display.image.setPixelValue(pointX, pointY, 255);
schizzlewizzle 0:f7377a7aa985 117 drawTheDot();
schizzlewizzle 0:f7377a7aa985 118 release_fiber();
schizzlewizzle 0:f7377a7aa985 119 // uBit.display.image.setPixelValue(2,2, 255);
schizzlewizzle 0:f7377a7aa985 120 }
schizzlewizzle 0:f7377a7aa985 121 */