From: <Ki...@us...> - 2011-12-16 10:35:38
|
Revision: 10434 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=10434&view=rev Author: Kinsu Date: 2011-12-16 10:35:27 +0000 (Fri, 16 Dec 2011) Log Message: ----------- Corrected difficulty tagging, values are now right Modified Paths: -------------- main/branches/ai/trunk/src/ffll/fcl/difficulty_tagging1.fcl main/branches/ai/trunk/src/karts/controller/fuzzy_ai_controller.cpp Modified: main/branches/ai/trunk/src/ffll/fcl/difficulty_tagging1.fcl =================================================================== --- main/branches/ai/trunk/src/ffll/fcl/difficulty_tagging1.fcl 2011-12-16 10:02:29 UTC (rev 10433) +++ main/branches/ai/trunk/src/ffll/fcl/difficulty_tagging1.fcl 2011-12-16 10:35:27 UTC (rev 10434) @@ -5,9 +5,9 @@ FUNCTION_BLOCK VAR_INPUT - Angle REAL; (* RANGE(0 .. 180) (waypoint, object) angle *) + Angle REAL; (* RANGE( 0 .. 180) (waypoint, object) angle *) Direction REAL; (* RANGE(-999 .. 999) Agent direction in % of the angle *) - Distance REAL; (* RANGE(0 .. 100) Agent to object distance *) + Distance REAL; (* RANGE( 0 .. 100) Agent to object distance *) END_VAR VAR_OUTPUT @@ -15,9 +15,9 @@ END_VAR FUZZIFY Angle - TERM Small := ( 0, 0) ( 0, 1) ( 45, 0) ; - TERM Medium := (35, 0) ( 60, 1) ( 85, 0) ; - TERM Large := (90, 0) (180, 1) (180, 0) ; + TERM Small := ( 0, 0) ( 0, 1) (25, 0) ; + TERM Medium := (20, 0) (45, 1) (60, 0) ; + TERM Large := (55, 0) (90, 1) (180, 1) (180, 0) ; END_FUZZIFY FUZZIFY Direction Modified: main/branches/ai/trunk/src/karts/controller/fuzzy_ai_controller.cpp =================================================================== --- main/branches/ai/trunk/src/karts/controller/fuzzy_ai_controller.cpp 2011-12-16 10:02:29 UTC (rev 10433) +++ main/branches/ai/trunk/src/karts/controller/fuzzy_ai_controller.cpp 2011-12-16 10:35:27 UTC (rev 10434) @@ -1574,6 +1574,7 @@ // cout << "Kart To Targetted point vector : X = " << x << ", Z = " << z << endl; angle = /*(float)*/ kartToNextNode.getAngleTrig() - kartToItem.getAngleTrig(); + angle = (angle > 180)? 360 - angle : angle; // cout << "Angle (kart2Item, kart2Target)= " << angle << endl; x = m_kart->getVelocity().getX(); @@ -1584,6 +1585,7 @@ // cout << "Angle (Velocity, kart2Target)= " << vel << endl; direction = 100 * vel / angle; // cout << "relative direction " << direction << endl; + angle = (angle < 0) ? -angle : angle; tag = computeDifficultyTag(angle, direction, dist); std::stringstream * t = new std::stringstream(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |