Well, seeing as the thread was started in my honor, I guess I’ll respond (or maybe it was just to get me to shut up? :yikes: )
But, it seems to me so long as you ignore the graphics for now, and just concentrate on how the simulation will proceed, knowledge of CS is mostly irrelevent. I’ll try to get things started off.
One of the most obvious elements you will have is Robot. What must Robot include, i.e., how does your game define a robot? Does it need a DriveTrain, or will you just hardcode certain speed parameters into it? Should it have a Color type, controlled by Match, to determine what alliance it is on? Should it keep a record of its past success, or its score – or maybe you want some larger Score object to keep everybody’s score? There are different design decisions like this, that all depend on how object oriented you want it, your tastes, and how you design the rest of the system. So most of this process will have to change as it evolves, if that sentence makes any sense, which is doubtful.
Okay, then you’ll need a Match element. afflictionblade has detailed some of what could be Match->Step (). (Oh, and keep in mind that how you have it, the AI for robot 4 gets to decide his move after everyone else has made thiers, meaning he always has more information than the others.) But Match will need other things. It will need some control like what is provided by FIRST, e.g., to disable robots who break certain rules, to start and stop matches, etc. A Timer. Something akin to a Ref. …
But rather than start from the robot like I did, you need to also start from the top. So let’s think about the Tournament structure for a moment. Like I mentioned earlier, it will need some Scheduler. Some larger Score element perhaps. Etc.
Also, now that I think of it, – how do you plan to handle autonomous mode? It seems it would be vastly easier to just forgo that formality, since programming it would be quite difficult indeed, at initial inspection. Well, I don’t want to do all of this, afterall it is your project. This is just a tiny start to get you thinking along the lines I think you should be thinking in …
/end whine (and by the way, whine hardly is not effective)