📄 main.h
字号:
double z;
Vector(double vx = 0, double vy = 0,double vz = 0) { x = vx; y = vy;z=vz; }
double mod(){return sqrt(x*x + y*y + z*z );}
~Vector(){};
Vector operator -() { return Vector(-x, -y,-z); }
Vector operator +(const Vector &a) { return Vector(x + a.x, y + a.y,z+a.z); }
Vector operator -(const Vector &a) { return Vector(x - a.x, y - a.y,z-a.z); }
Vector operator *(const double &a) { return Vector(x * a, y * a, z*a); }
Vector operator *(const Vector &a) { return Vector(x * a.x, y * a.y,z*a.z); }
Vector operator /(const double &a) { return Vector(x / a, y / a,z/a); }
Vector operator /(const Vector &a) { return Vector(x / a.x, y / a.y,z/a.z); }
void operator =(const double &a) { x = a; y = a; z=z;}
void operator +=(const Vector &a) { x += a.x; y += a.y; z +=a.z;}
void operator +=(const double &a) { x += a; y += a; z +=a;}
void operator -=(const Vector &a) { x -= a.x; y -= a.y; z -=a.z;}
void operator -=(const double &a) { x -= a; y -= a; z -=a;}
void operator *=(const double &a) { x *= a; y *= a; z*=a;}
void operator /=(const double &a) { x /= a; y /= a; z/=a;}
operator !=(const Vector &a) { return (x != a.x) || (y != a.y) || (z != a.z); }
operator !=(const double &a) { return (x != a) || (y != a) || (z != a); }
operator ==(const Vector &a) { return (x == a.x) && (y == a.y) && (z == a.z); }
};
struct WM{
//======================
int myNumber;
Vector myPos;
Vector myVel;
Vector nextPos;
Vector nextVel;
//=======================
Vector ballPos;
Vector ballVel;
//=======================
Vector ourPos[11];
Vector oppPos[11];
Vector ourVel[11];
Vector oppVel[11];
//=======================
double myPanAngle;
double myTiltAngle;
//=======================
int pm;
int mSensationCount;
double currentTime;
//===================
int noball;
int noour[11];
int noopp[11];
int noflag[8];
};
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TOpenDialog *OpenDialog1;
TGroupBox *GroupBox1;
TTrackBar *TrackBar1;
TRadioButton *RadioButton1;
TNMUDP *NMUDP1;
TImageList *ImageList1;
TTimer *Timer1;
TServerSocket *ServerSocket1;
TTimer *Timer2;
TButton *Button1;
TButton *Button2;
TMemo *Memo1;
TToolBar *ToolBar1;
TToolButton *ToolButton1;
TToolButton *ToolButton2;
TToolButton *ToolButton3;
TToolButton *ToolButton4;
TToolButton *ToolButton5;
TToolButton *ToolButton6;
TToolButton *ToolButton7;
TToolButton *ToolButton8;
TSplitter *Splitter1;
TButton *Button3;
TClientSocket *ClientSocket1;
TButton *Button4;
TEdit *ServerIPEdit;
TPanel *MonitorCommandPanel;
TBitBtn *MonitorCommandButton;
TBitBtn *MonitorCommandCloseButton;
TMemo *MonitorCommandEdit;
void __fastcall RadioButton1Enter(TObject *Sender);
void __fastcall NMUDP1DataReceived(TComponent *Sender, int NumberBytes,
AnsiString FromIP, int Port);
void __fastcall TrackBar1Change(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
void __fastcall ToolButton5Click(TObject *Sender);
void __fastcall ToolButton4Click(TObject *Sender);
void __fastcall ToolButton3Click(TObject *Sender);
void __fastcall ToolButton2Click(TObject *Sender);
void __fastcall ToolButton6Click(TObject *Sender);
void __fastcall ToolButton1Click(TObject *Sender);
void __fastcall ToolButton8Click(TObject *Sender);
void __fastcall ToolButton7Click(TObject *Sender);
void __fastcall Timer2Timer(TObject *Sender);
void __fastcall ServerSocket1ClientConnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall ServerSocket1ClientDisconnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall FormPaint(TObject *Sender);
void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall FormMouseWheel(TObject *Sender, TShiftState Shift,
int WheelDelta, TPoint &MousePos, bool &Handled);
void __fastcall Button3Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall RadioButton1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall TrackBar1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall Button2KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall Button1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall Button3KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall Memo1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall FormResize(TObject *Sender);
void __fastcall Splitter1CanResize(TObject *Sender, int &NewSize,
bool &Accept);
void __fastcall ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall Button4Click(TObject *Sender);
void __fastcall Button4KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall MonitorCommandButtonClick(TObject *Sender);
void __fastcall MonitorCommandCloseButtonClick(TObject *Sender);
private: // User declarations
class Monitor hMonitor;
HDC hdc;
HGLRC hrc;
WM wm;
vecWM collWM[11];
TRadioButton * rbs[11];
vector<string> monitor;
int currentNumber;
string initstr;
int interval;
int connects;
bool mLiveMonitor;
bool mShowReal;
bool mFieldReverse;
bool mMonitorOnly;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
void ReadFiles(TStrings* files);
void ReadFile(FILE *p,vecWM &collWM);
void ReadMonitor(char* filename);
void SendWM(int pos);
//==============================
void ParseWM();
string strWM;
string strWMReal;
string strMonitor;
vector<string> strDebug;
vector<string> geoDebug;
Vector center;
double scale;
Vector RealToScreen(Vector p);
void MyPaint();
bool mouse_left_down;
bool mouse_right_down;
Vector mouse;
double FieldLength,FieldWidth,FieldHeight,GoalWidth,GoalDepth,GoalHeight;
bool big;
protected:
SendMessage(const string& msg);
void SendWorldModel(const string& msg);
//==============================
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -