This challenge is going to be a classic king of the hill game of RPS. You must write a program that takes two command line arguments, a string of all the moves that you have made, and a string of all the moves that your opponent has made. The program will then return either 'r', 'p' or 's' for rock, paper and scissors respectively. Your opponent's program will do the same thing, and the winner will get +1 point. The winner is determined by the following picture.
In the event of a tie, (Both throw the same move) no points will be awarded. If you fail to throw a valid move within 1/2 a second, or if you throw a move other than 'r', 'p' or 's', the other player will be awarded 2 points, and an 'x' will be added to the string of all of your moves. After 500 rounds, the program with more points will be awarded 1 win. If there is a tie after 500 rounds, it will go into sudden death mode. (First program to get any more points wins) The controller program (Which I haven't written yet, but I will get to) will keep track of calling the programs, keeping track of score and enforcing certain rules.
Now here is the part that makes it interesting. You must do it in a language that you have little to no experience with. I realize that this is highly subjective and there is nothing stopping someone from using a language that they already know very well, so this is on the honor system. The whole point of this challenge is to encourage people to experiment with languages that they wouldn't normally ever learn anything about. Also, I'm hoping this will be a little bit like code review. So the Java experts will comment on my answer that totally botches everything about Java and I learn a little bit more. And then when somebody who's never touched python before writes an answer in python, I will give them useful tips for how to improve their code, etc.
This isn't exactly a rule, since there is no way to enforce it, but don't use a language that you have already know. I will let you define what counts as "already knowing a language" but the spirit of the challenge is that everybody gets to try something new.
Every entrant will play every other entrant exactly one time. So if there were four entrants named a, b, c and d, we would have in this order, a vs b, a vs c, a vs d, b vs c, b vs d, c vs d.
You can not copy other entrants code to predict their behavior. You can try to predict entrants behavior, (e.g. analyzing their moves, looking for patterns etc.) but you cannot use their code directly.
Multiple submissions are not only allowed, they are encouraged! However, every submission by the same person must be in a different language. Also, no tag-teaming of any sort. Any entrants that attempt tag-teaming will have all of their entrances removed.