58 lines
1.1 KiB
C
58 lines
1.1 KiB
C
#ifndef __CAR_H
|
|
#define __CAR_H
|
|
|
|
#define PI 3.141592
|
|
#define ANGLESTEP 5
|
|
#define TRAINEESIZE 8192
|
|
#include "shmdata.h"
|
|
|
|
class Car
|
|
{
|
|
private :
|
|
SDL_Surface *Surface_car[360];
|
|
SDL_Rect rect;
|
|
bool carimage;
|
|
bool showbar;
|
|
bool camera[CAMVECT];
|
|
struct shmdata *SData;
|
|
int shmid;
|
|
int angstep;
|
|
|
|
int trainee[TRAINEESIZE][2];
|
|
int traineepos;
|
|
int traineesize;
|
|
public :
|
|
Car();
|
|
void updateCar(SDL_Surface* screen);
|
|
void loadImage(char *imagefile);
|
|
void initShm();
|
|
|
|
int incTraineeSize(int);
|
|
void incAngle();
|
|
void decAngle();
|
|
void incSpeed();
|
|
void decSpeed();
|
|
int incAngleStep(int);
|
|
bool APToggle();
|
|
bool APState() const;
|
|
bool neurToggle();
|
|
bool neurState() const;
|
|
int getSpeed() const;
|
|
int getAngle() const;
|
|
bool showBar(int i);
|
|
bool* getVect();
|
|
bool* getView();
|
|
void reset();
|
|
void turn180();
|
|
void showCamera(SDL_Surface* screen);
|
|
void showTrainee(SDL_Surface* screen);
|
|
void loadState();
|
|
void saveState();
|
|
void harakiri();
|
|
void setDelay(int del);
|
|
bool showNetwork(bool a);
|
|
bool showNetworkState();
|
|
};
|
|
|
|
#endif
|