, Этот подход имеет то преимущество, что вы можете сражаться с лучшими роботами Java. На самом деле в роботах есть большое сокровище.

тоящее время я учусь на последнем курсе в школе, готовлюсь к высшему национальному диплому по информатике, и в основном в этом последнем семестре нам необходимо разработать программный проект, который в основном включаетвсе система.

Теперь то, что я думаю сделать, это что-то вродеRobocode, но вместо Java я буду делать это с .Net Framework.

Что такое Робокод?

Для тех из вас, кто не знает, что такое Robocode, это в основном своего рода игра для программирования, в которой люди разрабатывают своих собственных роботов, используя методы из интерфейсов классов и загружаемых классов, которые существуют, а затем ониборьба друг друга в автономной битве на арене ... вот так

альтернативный текст http://articles.techrepublic.com.com/i/tr/cms/contentPics/robocode.gif

В общем, как я уже сказал, я хочу воссоздать такой сценарий, используя .Net Framework ... и я публикую этот вопрос здесь, в StackOverflow, в надежде, что более опытные разработчики смогут направить меня в правильном направлении для этого проекта. ,

До сих пор я имел в виду, в основном, создать:

Автономное приложение, которое будет служить ареной сражений и пользовательским интерфейсом для создания новых сражений с существующими роботами и тому подобным.Онлайн-интерфейс, который игроки смогут использовать для регистрации новых роботов, просмотра результатов турниров и т. Д.И, очевидно, интерфейсы классов, которые игроки должны будут использовать для создания своих роботов.Анимация и графика (для реальных сражений)

Теперь, конечно, будет какая-то анимация и движение, когда случится летучая мышь, и я еще не решил, что еще использовать в качестве средства для этого.

Варианты, которые я сейчас имею в виду:

Разработка, как я уже говорил в первых пунктах, автономного приложения, которое будет служить полем битвы, и все анимации будут выполняться с использованием в основном кода C #Или разработайте приложение Silverlight, которое будет обрабатывать анимации (таким образом, изменив сценарий с автономного приложения на теперь онлайн-приложение).Или, возможно, наименее выполнимый из них, создайте анимацию битвы, используя JavaScript, с чем-то вродехолст

Как вы думаете, что может быть более подходящим для этого конкретного сценария?

Разработка классов и интерфейсов

Чтобы игроки могли разрабатывать роботов, я предоставлю определенные интерфейсы классов, которые они смогут использовать, как в Robocode.

Примеры таких событий и методов могут включать:

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...

Вот фрагмент кода из Robocode (Java):

public class MyFirstRobot extends Robot {
    public void run() {
        while (true) {
             ahead(100);
             turnGunRight(360);
             back(100);
             turnGunRight(360);
         }
    }
}

Для того, чтобы на самом деле начать сражения, я думаю об использовании Reflection, чтобы на самом деле прочитать, какие методы пользователь фактически использует и использует для запуска и запуска в определенные моменты сражения и тому подобное.

Теперь, что я любезно и смиренно прошу у вас, опытных разработчиков, это немного рассказать о моем проекте и посоветовать, что нужно сделать ... для начала,этот проект вообще возможен? И если это действительно так,откуда мне нужно начать свой проект?

Что касается технологий и программного обеспечения, которые я собираюсь использовать, это:

.NET Framework 3.5, с C # 3.0LINQ (Language Integrated Query)SQL Server 2008Microsoft Visual Studio 2008JQuery FrameworkВозможно Silverlight

Я благодарю вас всех, даже за то, что удалось прочитать этот вопрос в моем вопросе, и мне понадобится и очень ценю всю помощь, которую я могу получить для завершения этого проекта.

Спасибо за ваше время и усилия.

Кстати, до сих пор, кромеRobocodeЯ нашел эти игры, которые похожи на то, что я пытаюсь создать:

NRobotвирусы (СпасибоМарк)

Ответы на вопрос(1)

Ваш ответ на вопрос