ELEC2645 (2017/18) / Mbed 2 deprecated el15ww

Dependencies:   mbed

Committer:
weiway
Date:
Sun May 06 12:44:41 2018 +0000
Revision:
13:4026781772cb
Child:
14:9e2ce28b4e63
...

Who changed what in which revision?

UserRevisionLine numberNew contents of line
weiway 13:4026781772cb 1 #include "snake.h"
weiway 13:4026781772cb 2
weiway 13:4026781772cb 3
weiway 13:4026781772cb 4 snake::snake(){
weiway 13:4026781772cb 5
weiway 13:4026781772cb 6 }
weiway 13:4026781772cb 7
weiway 13:4026781772cb 8
weiway 13:4026781772cb 9 snake::~snake(){
weiway 13:4026781772cb 10
weiway 13:4026781772cb 11 }
weiway 13:4026781772cb 12
weiway 13:4026781772cb 13 void snake::init(){
weiway 13:4026781772cb 14 for (int i = 0; i <_snakesize ; i++) {
weiway 13:4026781772cb 15 _xoldpos[i] = 15;
weiway 13:4026781772cb 16 _yoldpos[i] = 23;
weiway 13:4026781772cb 17 _xnewpos[i] = 15 ;
weiway 13:4026781772cb 18 _ynewpos[i] = 23;
weiway 13:4026781772cb 19 }
weiway 13:4026781772cb 20 dir_snake = 3;
weiway 13:4026781772cb 21 _array = 100;
weiway 13:4026781772cb 22 _point = 0;
weiway 13:4026781772cb 23 _snakesize = 6;
weiway 13:4026781772cb 24 }
weiway 13:4026781772cb 25
weiway 13:4026781772cb 26 void snake::update(Direction d,float mag){
weiway 13:4026781772cb 27 if (dir_snake == 1){
weiway 13:4026781772cb 28 s() ;}
weiway 13:4026781772cb 29 else if (dir_snake == 2){
weiway 13:4026781772cb 30 n();}
weiway 13:4026781772cb 31 else if (dir_snake == 3){
weiway 13:4026781772cb 32 e();}
weiway 13:4026781772cb 33 else if (dir_snake == 4){
weiway 13:4026781772cb 34 w();}
weiway 13:4026781772cb 35 if ((d == S))
weiway 13:4026781772cb 36 { dir_snake = 1 ;}
weiway 13:4026781772cb 37 if ((d == N))
weiway 13:4026781772cb 38 { dir_snake = 2 ;}
weiway 13:4026781772cb 39 if ((d == E))
weiway 13:4026781772cb 40 { dir_snake = 3 ;}
weiway 13:4026781772cb 41 if ((d == W))
weiway 13:4026781772cb 42 { dir_snake = 4 ;}
weiway 13:4026781772cb 43
weiway 13:4026781772cb 44 }
weiway 13:4026781772cb 45
weiway 13:4026781772cb 46
weiway 13:4026781772cb 47 void snake::draw(N5110 &lcd)
weiway 13:4026781772cb 48 {
weiway 13:4026781772cb 49 for(int i=0; i<_snakesize; i++) {
weiway 13:4026781772cb 50 lcd.setPixel(_xnewpos[i],_ynewpos[i]);
weiway 13:4026781772cb 51 }
weiway 13:4026781772cb 52 }
weiway 13:4026781772cb 53
weiway 13:4026781772cb 54 Vector2D snake::get_pos()
weiway 13:4026781772cb 55 {
weiway 13:4026781772cb 56 Vector2D p = {_xnewpos[0],_ynewpos[0]};
weiway 13:4026781772cb 57 return p;
weiway 13:4026781772cb 58 }
weiway 13:4026781772cb 59
weiway 13:4026781772cb 60 void snake::set_pos(Vector2D p)
weiway 13:4026781772cb 61 {
weiway 13:4026781772cb 62 _xnewpos[0] = p.x;
weiway 13:4026781772cb 63 _ynewpos[0] = p.y;
weiway 13:4026781772cb 64
weiway 13:4026781772cb 65 }
weiway 13:4026781772cb 66
weiway 13:4026781772cb 67
weiway 13:4026781772cb 68 void snake::point()
weiway 13:4026781772cb 69 {
weiway 13:4026781772cb 70 _point++;
weiway 13:4026781772cb 71
weiway 13:4026781772cb 72 }
weiway 13:4026781772cb 73
weiway 13:4026781772cb 74
weiway 13:4026781772cb 75 int snake::get_point()
weiway 13:4026781772cb 76 {
weiway 13:4026781772cb 77 return _point ;
weiway 13:4026781772cb 78 }
weiway 13:4026781772cb 79
weiway 13:4026781772cb 80
weiway 13:4026781772cb 81 void snake::n() {
weiway 13:4026781772cb 82 _xnewpos[0] = _xoldpos[0] ;
weiway 13:4026781772cb 83 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 84 _xnewpos[i+1] = _xoldpos[i];
weiway 13:4026781772cb 85 }
weiway 13:4026781772cb 86 _ynewpos[0] = _yoldpos[0]- 1;
weiway 13:4026781772cb 87 for (int i = 0; i < _array-1; i++) {
weiway 13:4026781772cb 88 _ynewpos[i+1] = _yoldpos[i];
weiway 13:4026781772cb 89 }
weiway 13:4026781772cb 90 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 91 _xoldpos[i] = _xnewpos[i];
weiway 13:4026781772cb 92 _yoldpos[i] = _ynewpos[i];
weiway 13:4026781772cb 93 }
weiway 13:4026781772cb 94
weiway 13:4026781772cb 95 }
weiway 13:4026781772cb 96
weiway 13:4026781772cb 97
weiway 13:4026781772cb 98 void snake::s(){
weiway 13:4026781772cb 99 _xnewpos[0] = _xoldpos[0] ;
weiway 13:4026781772cb 100 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 101 _xnewpos[i+1] = _xoldpos[i];
weiway 13:4026781772cb 102 }
weiway 13:4026781772cb 103 _ynewpos[0] = _yoldpos[0]+ 1;
weiway 13:4026781772cb 104 for (int i = 0; i < _array-1; i++) {
weiway 13:4026781772cb 105 _ynewpos[i+1] = _yoldpos[i];
weiway 13:4026781772cb 106 }
weiway 13:4026781772cb 107 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 108 _xoldpos[i] = _xnewpos[i];
weiway 13:4026781772cb 109 _yoldpos[i] = _ynewpos[i];
weiway 13:4026781772cb 110 }
weiway 13:4026781772cb 111
weiway 13:4026781772cb 112 }
weiway 13:4026781772cb 113
weiway 13:4026781772cb 114
weiway 13:4026781772cb 115 void snake::w(){
weiway 13:4026781772cb 116 _xnewpos[0] = _xoldpos[0]-1;
weiway 13:4026781772cb 117 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 118 _xnewpos[i+1] = _xoldpos[i];
weiway 13:4026781772cb 119 }
weiway 13:4026781772cb 120 _ynewpos[0] = _yoldpos[0];
weiway 13:4026781772cb 121 for (int i = 0; i < _array-1; i++) {
weiway 13:4026781772cb 122 _ynewpos[i+1] = _yoldpos[i];
weiway 13:4026781772cb 123 }
weiway 13:4026781772cb 124 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 125 _xoldpos[i] = _xnewpos[i];
weiway 13:4026781772cb 126 _yoldpos[i] = _ynewpos[i];
weiway 13:4026781772cb 127 }
weiway 13:4026781772cb 128
weiway 13:4026781772cb 129 }
weiway 13:4026781772cb 130
weiway 13:4026781772cb 131
weiway 13:4026781772cb 132 void snake::e(){
weiway 13:4026781772cb 133 _xnewpos[0] = _xoldpos[0]+1;
weiway 13:4026781772cb 134 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 135 _xnewpos[i+1] = _xoldpos[i];
weiway 13:4026781772cb 136 }
weiway 13:4026781772cb 137 _ynewpos[0] = _yoldpos[0];
weiway 13:4026781772cb 138 for (int i = 0; i < _array-1; i++) {
weiway 13:4026781772cb 139 _ynewpos[i+1] = _yoldpos[i];
weiway 13:4026781772cb 140 }
weiway 13:4026781772cb 141 for (int i = 0; i < _array; i++) {
weiway 13:4026781772cb 142 _xoldpos[i] = _xnewpos[i];
weiway 13:4026781772cb 143 _yoldpos[i] = _ynewpos[i];
weiway 13:4026781772cb 144 }
weiway 13:4026781772cb 145
weiway 13:4026781772cb 146 }
weiway 13:4026781772cb 147
weiway 13:4026781772cb 148
weiway 13:4026781772cb 149