From d8e83400c8780fdd04018cd2f59313a3e4533d71 Mon Sep 17 00:00:00 2001 From: sicarius Date: Thu, 22 Feb 2007 21:22:02 +0000 Subject: Codestuff --- source/Concept/Framework/modules/logic/logic.c | 43 +++++++++++++++++++ source/Concept/Framework/modules/logic/logic.h | 58 ++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100755 source/Concept/Framework/modules/logic/logic.c create mode 100755 source/Concept/Framework/modules/logic/logic.h (limited to 'source/Concept/Framework/modules/logic') diff --git a/source/Concept/Framework/modules/logic/logic.c b/source/Concept/Framework/modules/logic/logic.c new file mode 100755 index 0000000..00599d8 --- /dev/null +++ b/source/Concept/Framework/modules/logic/logic.c @@ -0,0 +1,43 @@ +#include "logic.h" + +//----------------------------------------------------------------------------- +void Logic::OnBallOwned() +{ + Wireless* ourWireless = parent->GetModule(IO_WIRELESS_MAIN); + + //ourWireless->Send(WIRELESS_CODE); + //ourWireless->Send(); +} + +//----------------------------------------------------------------------------- +void Logic::OnBallLost() +{ + Wireless* ourWireless = parent->GetModule(IO_WIRELESS_MAIN); + + //ourWireless->Send(WIRELESS_CODE); + //ourWireless->Send(); +} + +//----------------------------------------------------------------------------- +void Logic::Update() +{ + // We want to use a navigator + Navigator* ourNavigator = parent->GetModule(IO_NAVIGATOR_MAIN); + + // is Keeper? + if(isKeeper) { + // turn around al little bit... + if((status == STATUS_KEEPER_TURN_LEFT && ourNavigator->AngleReached()) || + (status != STATUS_KEEPER_TURN_LEFT && status != STATUS_KEEPER_TURN_RIGHT)) { + status = STATUS_KEEPER_TURN_RIGHT; + ourNavigator->RotateTo(315,200); + } + else if(status == STATUS_KEEPER_TURN_RIGHT && ourNavigator->AngleReached()) { + status = STATUS_KEEPER_TURN_LEFT; + ourNavigator->RotateTo(45, 200); + } + } + else { // is Player? + + } +} diff --git a/source/Concept/Framework/modules/logic/logic.h b/source/Concept/Framework/modules/logic/logic.h new file mode 100755 index 0000000..296956b --- /dev/null +++ b/source/Concept/Framework/modules/logic/logic.h @@ -0,0 +1,58 @@ +#ifndef _LOGIC_H +#define _LOGIC_H + +#include "../../stdafx.h" + +#define STATUS_KEEPER_TURN_RIGHT 1 +#define STATUS_KEEPER_TURN_LEFT 2 + +class Logic : public IO_Module +{ +public: + Logic() + { + this->parent = NULL; + this->moduleId = 0; + this->isKeeper = false; + this->status = 0; + } + + Logic(uint32 logicId) + { + this->parent = NULL; + this->moduleId = logicId; + this->isKeeper = false; + this->status = 0; + } + +protected: + bool isKeeper; + uint8 status; + + void OnBallOwned(); + void OnBallLost(); + +public: + void Update(); + + bool IsKeeper() + { + return isKeeper; + } + + bool IsAttacker() + { + return !isKeeper; + } + + void SetKeeper(bool newStatus) { + this->isKeeper = newStatus; + } + + bool HasBall() + { + //fill me! + } +}; + +#endif -- cgit v1.2.3