I think that it is because there is no and can never be a robot that can be guaranteed to beat another robot of its equal weight.
What I was trying to mean was exactly what variables are. The variability of whether or not wedges get under each other, if a bot is a little skewed one way or another, causing a weapon to not hit, etc.What I am trying to say is that there are so many variables that no two battles can be EXACTLY the same.
Now for RA2. Ra2 runs on the Havok physics engine, there is an element of randomness to it so it CANNOT be predicted at ANY time (for the most part)
A good example of the Popup vs. HS luck is Chernobyl vs. Revenge of Dr. Wham. in BBEANS 5. RODW was bounced away a certain, yet different way, because of the spinning, the route the bots take, the arena shape, etc. That bounce sent Chernobyl up, and at just the right angle, and a well-timed hit KOed it.A good example IRL is like trying to dribble a football like a basketball. You can TRY to do it a certain way (bouncing it on the flatter part of the football), but it does not always go to plan because of all of the variables.
Random function. I'm guessing it calls a random number between 0 and 1
returnValueType functionName(argument1Type argument1, argument2Type argument2, ...etc...) { //function code goes here}//example, although you usually don't have to write this, most OS's do this for you alreadyint rand() { //return type integer, no arguments // insert linear congruential generator implementation here}
returnValueType someVariable = functionName(argument1, argument2);//exampleint someRandomNumber = rand();// new value of type int, set it to the result of a rand() callsomeRandomNumber = someRandomNumber % 10;// set someRandomValue (notice the type is given only when a variable is first referenced, this is called declaring a variable) to its previous value, but with modulo operator of 10 applied to it