Difference between revisions of "User talk:Awesomeness"

From Robowiki
Jump to navigation Jump to search
m (fix formatting)
(Archiving old talk, mentioning problem)
Line 1: Line 1:
Note for you, Horizon Component System broke in 1.7. It cannot perform a radar lock so it can't dodge/fire effectively. Try robocode 1.6.0 or 1.6.1 and let see can you get score at this rate high? &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 02:28, 13 March 2009 (UTC)
+
'''Archived talk is [[User_talk:Awesomeness/Archived_Talk|here]].'''
  
Shoot, 1.6.1 doesn't work on my computer.  Strange...[[User:Awesomeness|Awesomeness]] 02:52, 13 March 2009 (UTC)
 
  
Welcome to Robocode [[Awesomeness]], good luck and have fun. Shout when in trouble. --[[User:Zyx|zyx]] 03:09, 13 March 2009 (UTC)
+
Okay, I need to make a list of bullets.  I have made a bullet class and everything, but I need a special list that will let me access all of the bullets in a while/for loop and be able to add and remove them at any time and never mess up. If I did this in a normal array I could do a for loop and access using an increasing number,  but I wouldn't know when to stop. In a while loop, if I used while(bulletsArray[x] != null) and then increment x, after I remove my first bullet that say, hit a wall, it will stop there.  I need help!
  
Welcome to the wiki indeed! About Horizon, maybe Horizon is fixed as of 1.7.1 Beta2? I haven't tested 1.7.1 Beta2 yet. And Nat, any reason you haven't made a bug report for it or is it the same bug as one already reported? --[[User:Rednaxela|Rednaxela]] 03:21, 13 March 2009 (UTC)
 
* I haven't download the 1.7beta2 yet. But, about bug report, I completely forget! Thanks for remind. I think there isn't ''anyone'' know this except me. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 11:25, 13 March 2009 (UTC)
 
  
Um... I do have one problem.  Whenever I try to use things such as GF targeting, Surfing, etc.  The tutorials never use the methods properly or something.  It gives a can't find symbol error for every custom method in the code. =/ -- [[User:Awesomeness|Awesomeness]]
+
:Thanks,
 +
::[[User:Awesomeness|Awesomeness]] 14:02, 2 May 2009 (UTC)
  
Er, what method are you using to compile it? The tutorials are using methods just fine. --[[User:Rednaxela|Rednaxela]] 03:45, 13 March 2009 (UTC)
 
 
The compiler ALWAYS gives me errors unless I set it to "-classpath /Users/student/Documents/Robocode/libs/robocode.jar".  Maybe that's cuz I use a mac.  [[User:Awesomeness|Awesomeness]] 14:36, 13 March 2009 (UTC)
 
 
Er, you always need to include the classpath if you're compiling from the command line normally. It has nothing to do with using a mac. The only way to go without it is either by including it in the CLASSPATH environment variable, or using an IDE like Eclipse --[[User:Rednaxela|Rednaxela]] 17:16, 13 March 2009 (UTC)
 
 
I'm not using a terminal to compile, I'm just changing the compiler settings for the classpath.  I really need GF or PM targeting for my bot!  =(  [[User:Awesomeness|Awesomeness]] 19:01, 13 March 2009 (UTC)
 
 
So what are you using? The editor/compiler built into Robocode? It should work straight out the box... --[[User:Skilgannon|Skilgannon]] 19:25, 13 March 2009 (UTC)
 
 
 
I use the Javac thingy, not Jikes.  It doesn't matter which I use, I'm pretty sure, I seem to get the same output for them no matter which compiler I use.  Same errors with the default classpath.
 
 
NEVERMIND!!!  YEEEAAAHHH!  I got GuessFactor targeting to work perfectly!  And with my already good movement strategy, it's awesome!  I'm so proud of myself because I thought up this movement concept myself, and I checked, no one else uses it!  It's a truly original strategy!  I think...
 
 
Umm... I just had a thought...  If two robots battle each other and use static variables with the same name(s), will the robots mess up? --[[User:Awesomeness|Awesomeness]]
 
 
Nope, they won't. Robocode loads each robot with a seperate classloader, which makes it so individual robots in battle keep completely seperated static data. --[[User:Rednaxela|Rednaxela]] 02:23, 14 March 2009 (UTC)
 
 
Okay. Can someone take a look at my page, [[Fission]]?  I need help making it into a jar.
 
 
----
 
----
For Elite: Have you try just 35 rounds? Many of nanobot's pattern matcher get stuck exactly after round 35... And I think I look correct, but
 
{| border="1"
 
| 22 || robar.nano.Assertive 0.3 || 62.58 || 70.73 || 1730.7
 
|}
 
22th is now Assertive. PlusarNano is at 29th. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 09:46, 17 March 2009 (UTC)
 
 
Hmm... You're right.  Either way, I easily beat the 29th bot so I'm happy =D
 
 
 
Hi, good luck for the rumble! If you have any questions about nanos, I'm a nano-freak. ;) Looking for strong nano-dodgers try the Neophyte series, Freddie, Mosquito series, AceSurf, Acero, RaikoNano. --[[User:Robar|HUNRobar]] 20:54, 18 March 2009 (UTC)
 
 
* I think the strong of Neophyte is not for movement, at least not a dodge, but it come from its distance control (180px) and good gun. That why PRAL and SRAL perform so good per LT. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 03:29, 19 March 2009 (UTC)
 
 
== Trigonometry Question ==
 
 
Ok, this is kind of unrelated, but all you guys here are experts at trigonometry,and although I go to a VERY advanced school, I'm only 13, and I have a limited understanding.  I am making a java application totally unrelated to Robocode.  Say I have this scenario:
 
 
I've made a dot that moves around with the arrow keys, but I want another dot to follow it.  I've made the first dot move according to the arrow keys, and I could make the follower dot's movement simple, but I want it to move DIRECTLY towards the arrow key mover dot.  To do this I need two things:
 
 
-A method returning a double and taking parameters x, y, x2, and y2 giving the angle in radians between them in comparison to vertical.  For example, if x and y are 0, 0 and x1 and y2 are 2, 2, then the angle you'd get is 2.35619449, or 135 degrees in radians.
 
 
-A way to get the change in x and y when given an angle.  It returns x and y and takes a double called angle.  For example, if the angle was 90 degrees, (in radians, though, of course) then it would return 1, 0, if it was 180 degrees, it'd return  0, 1, and if it was 270 degrees it'd be -1, 0.
 
 
Sorry if this is confusing...  Someone help, please! --[[Awesomeness]] (moved by --[[User:Zyx|zyx]] 01:24, 29 March 2009 (UTC))
 
 
* That first method is equal to Math.atan2(x2-x1,y1-y2). --[[User:Rednaxela|Rednaxela]] 01:27, 29 March 2009 (UTC)
 
 
* For the second method, your first value would be Math.sin(angle+Math.PI), and the second value would be Math.cos(angle+Math.PI). (Keep in mind that you can't return two values from one method unless putting them in an object/array or something) --[[User:Rednaxela|Rednaxela]] 01:31, 29 March 2009 (UTC)
 
 
(edit conflict)
 
 
* Although [[Rednaxela]] already answered, I believe he's methods may be too Robocodish, as I think he still has the rotated Math we use here. But I may be wrong.
 
 
* First let me clarify. I think you have the 0,0 on the top left corner, am I right? That's the only reason I would understand your results for question1, and probably makes sense since you are using display coordinates.
 
 
* Being that the case, the first method is something like this
 
<pre>
 
double angle(double x, double y, double x2, double y2) {
 
  double alpha = Math.atan2(-(y2 - y), x2 - x);
 
  return Math.PI / 2 - alpha;
 
}
 
</pre>
 
:see that atan2(y, x) will give you the angle from origin (0,0) to (x, y). The minus sign in the y parameter is to account for the fact that 0,0 is on top left and not bottom left as in regular math. PI / 2 should be the vertical vector you mention, the may need some tweaking, but they are small if any.
 
 
* For the second method, I will give a hint and let you try work it out. The sine of an angle represents the y-axis, and the cosine is x-axis. Try working out them for your fits. Use a calculator to check the values, Windows calc can handle sin/cos of Degrees or radians, and most scientific calculators do as well.
 
 
Hope it helps. Ask again after some work ;-). --[[User:Zyx|zyx]] 01:47, 29 March 2009 (UTC)
 
 
[[Rednaxela]] methods are not in Robocode coordinates, are actually in display coordinates, so probably are more direct to your needs. --[[User:Zyx|zyx]] 01:56, 29 March 2009 (UTC)
 
 
I believed [[Rednaxela]] method are robocode's, not trigonometry standard. But robocode use the same coordinates system as same as java awt/swing component. Anyway, don't use [[Rednaxela]] in your math class! In math class you should do [[Zyx]]'s. Another thing, standard/java's 0 degrees would be at right but robocode use top, so beware when you write robots that you should switch sin <-> cos and atan2(z,x) to atan2(x,y).
 
 
One more thing, you said "I'm only 13, and I have a limited understanding." I don't know where do you learn (you say very advanced school, but I'm in advanced school, too), but I'm 13 too and understand a lot of trigonometry already (well, not all. I still have some problem, too.) yet I have not learn that in classroom (but learn from some other source, including robocode) Trigonomatry is not hard, as I and my friends taught another friend within 10 minutes and that include all basic sin/cos/tan and the inverse. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 06:33, 29 March 2009 (UTC)
 
 
* Incorrect Nat, the methods I listed are ''not'' for robocode style angles/coordinates, they are for the style that [[User:Awesomeness|Awesomeness]] very specifically requested. It was quite specifically said that 0 degrees should be up, and 2, 2 should be 135 degrees. Which is neither robocode-style nor standard-trig-style, but is the style I set those methods up to use. --[[User:Rednaxela|Rednaxela]] 06:47, 29 March 2009 (UTC)
 
 
* Yes [[Nat]], I was confused at first too, but they are quite what asked for. The first method should give the same results as the one I posted, but his method takes care for the 0 being on top more directly than I did; and I don't think that matters in this case, but is faster than mine :-). --[[User:Zyx|zyx]] 10:51, 29 March 2009 (UTC)
 
 
** Well well, I know that Rednaxela method are what Awesomeness want, I just warn him not to use your method in his math class or in other place. Also, in old wiki, there is said somewhere that this style is robocode's, but I know that this is what Awesomeness want :-) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 13:28, 29 March 2009 (UTC)
 
 
::* This style ''isn't'' quite robocode's. In robocode, 0 degrees is up AND 2,2 is 45 degrees not 135 degrees. Inverted y axis from robocode in other words --[[User:Rednaxela|Rednaxela]] 15:37, 29 March 2009 (UTC)
 

Revision as of 16:02, 2 May 2009

Archived talk is here.


Okay, I need to make a list of bullets. I have made a bullet class and everything, but I need a special list that will let me access all of the bullets in a while/for loop and be able to add and remove them at any time and never mess up. If I did this in a normal array I could do a for loop and access using an increasing number, but I wouldn't know when to stop. In a while loop, if I used while(bulletsArray[x] != null) and then increment x, after I remove my first bullet that say, hit a wall, it will stop there. I need help!


Thanks,
Awesomeness 14:02, 2 May 2009 (UTC)