Finished Lab 4 Pt 1

Dependencies:   mbed Sounds PinDetect

Committer:
trmontgomery
Date:
Fri Apr 05 19:46:26 2019 +0000
Revision:
0:daf9e2f8e1a1
Finished Lab 4 pt 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
trmontgomery 0:daf9e2f8e1a1 1 #pragma once
trmontgomery 0:daf9e2f8e1a1 2
trmontgomery 0:daf9e2f8e1a1 3 class Sprite
trmontgomery 0:daf9e2f8e1a1 4 {
trmontgomery 0:daf9e2f8e1a1 5 public:
trmontgomery 0:daf9e2f8e1a1 6 enum enDIRECTIONS {NO_DIR, UP_DIR, DOWN_DIR, LEFT_DIR, RIGHT_DIR};
trmontgomery 0:daf9e2f8e1a1 7 // Default Constructor
trmontgomery 0:daf9e2f8e1a1 8 Sprite();
trmontgomery 0:daf9e2f8e1a1 9 // Constructor
trmontgomery 0:daf9e2f8e1a1 10 Sprite(enDIRECTIONS inDir, unsigned int inRow, unsigned int inCol);
trmontgomery 0:daf9e2f8e1a1 11
trmontgomery 0:daf9e2f8e1a1 12 virtual ~Sprite(){};
trmontgomery 0:daf9e2f8e1a1 13
trmontgomery 0:daf9e2f8e1a1 14 void SetDesiredDirectionToMove(enDIRECTIONS dir);
trmontgomery 0:daf9e2f8e1a1 15
trmontgomery 0:daf9e2f8e1a1 16 virtual void SetLocation(const int &nRow, const int &nCol) {m_RowPos=nRow;m_ColPos=nCol;};
trmontgomery 0:daf9e2f8e1a1 17
trmontgomery 0:daf9e2f8e1a1 18 virtual void Move() = 0;
trmontgomery 0:daf9e2f8e1a1 19 virtual bool IsMoveAllowed(const int &nNewRow, const int &nNewCol) = 0;
trmontgomery 0:daf9e2f8e1a1 20 virtual int GetImageIndex() {return (m_nActiveImage++)%2;}
trmontgomery 0:daf9e2f8e1a1 21
trmontgomery 0:daf9e2f8e1a1 22 protected:
trmontgomery 0:daf9e2f8e1a1 23
trmontgomery 0:daf9e2f8e1a1 24 enDIRECTIONS m_CurrentDirection;
trmontgomery 0:daf9e2f8e1a1 25 enDIRECTIONS m_DesiredDirection;
trmontgomery 0:daf9e2f8e1a1 26
trmontgomery 0:daf9e2f8e1a1 27 unsigned int m_RowPos;
trmontgomery 0:daf9e2f8e1a1 28 unsigned int m_ColPos;
trmontgomery 0:daf9e2f8e1a1 29 int m_nActiveImage;
trmontgomery 0:daf9e2f8e1a1 30
trmontgomery 0:daf9e2f8e1a1 31
trmontgomery 0:daf9e2f8e1a1 32 };