summaryrefslogtreecommitdiffstats
path: root/source/Concept/Framework/modules/logic/logic.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/Concept/Framework/modules/logic/logic.c')
-rwxr-xr-xsource/Concept/Framework/modules/logic/logic.c43
1 files changed, 43 insertions, 0 deletions
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<Wireless>(IO_WIRELESS_MAIN);
+
+ //ourWireless->Send(WIRELESS_CODE);
+ //ourWireless->Send();
+}
+
+//-----------------------------------------------------------------------------
+void Logic::OnBallLost()
+{
+ Wireless* ourWireless = parent->GetModule<Wireless>(IO_WIRELESS_MAIN);
+
+ //ourWireless->Send(WIRELESS_CODE);
+ //ourWireless->Send();
+}
+
+//-----------------------------------------------------------------------------
+void Logic::Update()
+{
+ // We want to use a navigator
+ Navigator* ourNavigator = parent->GetModule<Navigator>(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?
+
+ }
+}