narya class
Narya is used as you might think by the method names. Update is called every tick with enemy X, Y, and the time. Fire is called whenever the bot fires a bullet. GF(Status) is called whenever a firing angle needed. Status contains info like lateral and advancing velocity, distance etc. Ent is a kD-Tree. Wave represents a bullet wave. I'm sure you can figure out how it works by looking at the code.
i'm sorry, but I really consider this series of questions rude. Please spend more time trying to find the answers to your own questions before posting them on the wiki. "How does your whole bot work" is not a meaningful question. Each time you ask a question, you're requesting that other people in the community take time to read your question and construct a helpful answer to your question. It's only fair that before you ask us to spend our time, you spend your own time trying to find the answer first. And hopefully by that point, you will be able to ask a more specific question so that we can give you a good answer that will help you out.
I agree. Please ask specific questions about specific parts of a robot if you want to know, but please try to avoid over generalized questions or opinion based questions.
Which means try to avoid questions like "which is better" or "how does class A, B, C/bot X work". Try to read the questions of other users to get a better idea of what is acceptable and what is not.
Basically any question that is very easy to answer, but isn't easy to figure out through a little work and is not asking for an opinion as fact, is acceptable.
Good: "Did Diamond at one time use Displacement Vectors in it's movement?"
- Shows you have done research, but don't want to review every version of Diamond ever made for the answer, plus it might have in development but never in a released version. The question is easy to answer, and the author might be willing to throw additional detail on the question. (p.s. Voidious, I am now interested, did it?)
- P.S. While this is a good question, it is not a template. Do not just go asking "Did X at one time use Y in it's Z."
Acceptable: "How does Diamond use Displacement Vectors? I can't get mine to work. I am currently doing X and Y."
- This is asking for specific details about the inner workings of Diamond. It may require a bit more work to answer, but we will be much more inclined to do so since not only is it obvious have you done research, but you are trying to implement it as well.
Bad: "Is Diamond a Wave Surfer?" or "What movement does Diamond use?"
- Shows you have done no research, aside from looking at the rankings table to find out it's name. Such answers are easy to find.
Ugly: "How does Diamond work?" or "Can you make a Understanding Diamond article?"
- This is horrible, this is asking the author or someone else who has a deep understanding of the robot to give you extensive details on it. This would include a great deal of writing and possible research by the answerer. The second is a little more acceptable, but pretty much amounts to the first thing. You would need a lot of built up 'respect' in the community for someone to go through that much work, and even then, they probably have better things to be doing.
Useless: "Which X is best?" or "Is X better than Y?"
- These most likely are asking for an opinion, opinions are great, but no useful information has been exchanged. Plus it leaves out vital information needed to answer the question. Best at what? Better at what? In what situations? Even if you had asked "Is a wave surfer better then a sandbox flattener at dodging the most bullets in the rumble?", there are still problems, since the answer is "It depends on the implementation." So one should just avoid asking these questions period.
P.S. Do not 'massively' alter questions after they have received replies. You can add to them, clean them up (spelling, grammar), or even rephrase them, but don't change them.