ELEC2645 (2017/18) / Mbed 2 deprecated el15ww

Dependencies:   mbed

Committer:
weiway
Date:
Thu May 03 12:46:31 2018 +0000
Revision:
10:946a3835a7c7
Parent:
8:30ad5229cc0b
engine and the function of each direction

Who changed what in which revision?

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