www.pudn.com > 20077419401162.rar > snake.h
#if !defined(SNAKE_H) #define SNAKE_H #include#define SNAKE_TIMER 1 class point { public: float x,y; }; class point_list { public: float x,y; class point_list *next; }; class snake { public: snake(point * Snake_Point = NULL,int Point_Num = 0); ~snake() { if(Snake_Point) delete []Snake_Point; if(Snake_Point) delete []Pre_Snake_Point; if(Img_Energy) delete []Img_Energy; } void DrawPoints(HDC); void StartTimer(HWND); void SnakeAlgorithm(); void PointToImg(class load_bmp_file &); point ReadPoint(int Index); void WritePoint(point temp,int Index); void SetPoints(int NumOfPoints); void StorePoints(); void AdjustCenter(class point &); ///////// int Point_Num; int No_Of_Mov; char FileName[100]; int Window_Width,Window_Height; point * Snake_Point; //relative position. point * Pre_Snake_Point;//store the Pre point Center; BOOL Termination_Flag; BOOL ShowPointFlag; int Img_Width,Img_Height; private: ////////// float InternalEnergy(int No,point OffSet); float ExternalEnergy(int No,point OffSet); double Energy1(int No,point OffSet); double Energy2(int No,point OffSet); double Energy3(int No,point OffSet); double Energy4(int No,point OffSet); point MinEnergyPoint(int No); point MovePoint(int Index); float GetScore(point ShouldMove,point NowOffSet); float Coefficient; char *Img_Energy; }; #endif