Desenvolvendo um jogo do tipo Robocode com .Net, para um trabalho escolar
Atualmente, estou no meu último ano na escola, estudando para um Diploma Nacional Superior em Estudos de Computação, e basicamente neste semestre final, precisamos desenvolver um Projeto de Software, que basicamente incorpore umtodo sistema.
Agora, o que estou pensando em fazer é algo parecido comRobocode, mas em vez de Java, farei isso com o .Net Framework.
O que é o Robocode?Para aqueles que não sabem o que é o Robocode, é basicamente um tipo de jogo de programação em que as pessoas desenvolvem seus próprios robôs usando métodos das interfaces de classe e classes para download existentes, e então elesluta um ao outro em uma batalha autônoma em uma arena ... assim:
texto alternativo http://articles.techrepublic.com.com/i/tr/cms/contentPics/robocode.gif
Então, basicamente, como eu disse, quero recriar esse tipo de cenário usando o .Net Framework .. e estou postando esta pergunta aqui no StackOverflow, na esperança de que desenvolvedores mais experientes possam me guiar na direção certa para este projeto .
O que tenho em mente até agora é basicamente criar:
Um aplicativo offline que servirá como a arena de batalha e a interface do usuário para criar novas batalhas com robôs existentes.Uma interface on-line que os jogadores poderão usar para registrar novos robôs, visualizar pontuações anteriores em torneios, etc.E, obviamente, as interfaces de classe que os jogadores precisarão usar para criar seus robôs.Animação e gráficos (para as batalhas reais)Agora, é claro que haverá algum tipo de animação e movimento quando o bastão ocorrer, e eu não decidi o que ainda usar como meio para isso.
As opções que tenho atualmente em mente são:
Desenvolvendo, como eu disse no primeiro tópico acima, um aplicativo offline que servirá como campo de batalha e todas as animações serão feitas usando principalmente código C #Ou desenvolva um Aplicativo Silverlight que manipulará as animações (alterando o cenário de um aplicativo offline para agora um aplicativo onlineOu, talvez o menos viável, crie as animações de batalha usando JavaScript, com algo como oTela de pinturaO que você acha que poderia ser mais adequado para esse cenário em particular?
Desenvolvimento de classes e interfacesPara os jogadores desenvolverem os robôs, fornecerei certas interfaces de classe que eles poderão usar como no Robocode.
Exemplos de tais eventos e métodos podem incluir:
public void run () {}
public void onScannedRobot(ScannedRobotEvent e) {}
walk(/* ammount in pixels or w/e to walk to */);
turnRight(/* value in degrees for an angular turn */);
//etc...
Aqui está um trecho de código no Robocode (Java):
public class MyFirstRobot extends Robot {
public void run() {
while (true) {
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
}
Para, então, realmente fazer as batalhas acontecerem, estou pensando em usar o Reflection para realmente ler quais métodos o usuário realmente está usando e implementá-los para executá-los e serem invocados em momentos específicos da batalha.
Agora, o que eu gentilmente e humildemente peço a vocês, desenvolvedores experientes, é me guiar um pouco por esse projeto e me aconselhar sobre o que precisa ser feito ... para iniciantes,esse projeto é viável? E se realmente é,de onde eu preciso realmente começar com o meu projeto?
No que diz respeito às tecnologias e software que pretendo usar, são:
.NET Framework 3.5, com C # 3.0LINQ (Consulta Integrada ao Idioma)SQL Server 2008Microsoft Visual Studio 2008Framework jQueryPossivelmente SilverlightAgradeço a todos, mesmo que tenham conseguido ler até este ponto na minha pergunta e precisarei e aprecio imensamente toda a ajuda possível para concluir este projeto.
Obrigado pelo seu tempo e esforço.
Aliás, até agora, além deRobocode, Eu encontrei esses jogos que são semelhantes ao que estou tentando criar:
NRobotVirii (obrigadoMarc)