Помогите плиз с созданием игры.
Нужно написать автогонки на C#.Я в написании игр новичок и мне нужно помощь в освоении:)
Вообщем правила просты: Игрок управляет машинкой, которая движется в двумерном пространстве вертикально вверх по дороге. Дорога имеет разметку на три полосы.По пути встречаются другие машины.
Игрок может двигать машинку в любое место игровой области клавишами влево, вправо, вверх, вниз, его задача – не сталкиваться с другими машинами.Каждая обогнанная машина оценивается в одно очко. Каждые заработанные 50 очков увеличивают скорость машины игрока. После 3 столкновений игра заканчивается.
Меню игры должно давать возможность начать новую игру, загрузить прошлую, поставить на паузу и сохранить результат. :confused:
Если кого то заинтересовало, напишите подсказки здесь:) Но лучше на мыло;)
Что именно подсказать?
Рисуете дорогу, рисуете автомобили. Реагируете на нажатия клавиш. Перемещаете автомобили. Делаете проверки на столкновения. Считаете очки и жизни.
Задавайте конкретные вопросы. Целиком за вас писать никто не будет.
Если уж совсем никак, поищите исходники готовых игр - в интернете их полно. И посмотрите, как другие люди сделали.
Ворованным софтом пользоваться не стыдно? Профессиональная версия далеко не бесплатна. Судя по уровню вопросов, вы начинающий. Уж лучше качайте версию 2010 Express.
Если человек студент, то пусть лучше vs2008\10 качает) по DreamSpark они бесплатны.
Что именно подсказать?
Рисуете дорогу, рисуете автомобили. Реагируете на нажатия клавиш. Перемещаете автомобили. Делаете проверки на столкновения. Считаете очки и жизни.
Дорога и автомобиль уже сделаны:) Вот как связать нажатие клавиши и перемещение автомобиля по трассе я не знаю.
Откуда [COLOR="Silver"]такой школотизм[/COLOR] такая скрытность, почему приходится информацию тащить клещами из вопрошающих?..
По теме. Если совсем нет желания использовать XNA, то можно просто обрабатывать события нажатия клавиш, например так:
{
if (e.KeyCode == Keys.Left) // нажата клавиша стрелка влево
{
...
}
else if (e.KeyCode == Keys.Right) // нажата клавиша стрелка вправо
{
...
}
}
Не помешает установить в true свойство формы KeyPreview.
Да, при этом события будут генерироваться системой с заметной паузой после первого. Если хочется от этого избавиться, то на выбор XNA, TAO, DirectInput. Последний подключается несколькими кликами мышкой и минимумом кода (впрочем, на компе должен стоять DirectX SDK).
Я ещё не начал создавать игру.
Я хочу в PictureBox загнать рисунок автомобиля.И управлять им при помощи события KeyPress.Трассы хочу сделать в txt файлах(пример трассы вложен), где я присвою каждой цифре картинку определённого припядствия.И при столкновении PictureBox'a с 1,2,3 будет отниматься жизнь.Но это только концепция. Возможно ли так сделать в программе?
Я вложил примерную концепцию трассы и всего окна игры.
Если [COLOR="Blue"]да[/COLOR], то подскажите плиз как это можно сделать.
Если [COLOR=Blue]да[/COLOR], то подскажите плиз как это можно сделать.
во первых не понятно, зачем матрицу прятать в текстовый файл? какие проблемы создать ее в каком то классе, да той же формы, на которой будет игра, если уж лучше места не нашлось. если конечно надо будет сохранять игру, тогда состояние игрового поля надо будет сохранять, если оно изменчиво, а не постоянно.
нету проблем связать пиктербокс, в котором будет рисунок автомобиля, с событиями нажатия клавиш, просто тебе надо сесть и начать с этим разбираться - писать код. как ты собираешься отображать трассу? тоже рисунком? отрисовывать при помощи GDI? в любом случае нужна будет отдельная область на форме под трассу, по которой уже будет двигаться машина. например можешь взять контрол Panel, ну или свой любимый PictureBox. Каждый пиксель этой области должен быть у тебя размечен при помощи матрицы из нулей, единичек... как ты себе там запланировал, ну и когда объект машины будет передвигаться по области трассы, ты уже должен будешь отслеживать ситуацию на трассе со всеми вытекающими последствиями при помощи этой матрицы, связывая координаты области трассы с данными матрицы состояния трассы.
[COLOR=Red]основной совет - начни делать.[/COLOR]
1. нарисуй трассу.
2. размести на ней машину.
3. начни перемещать машину на трассе при помощи клавиш (без реализации аварийных ситуаций и т.д., просто перемещение)
4. сделай матрицу состояния трассы и попробуй перемещать машину обрабатывая ту или иную ситуацию на трассе.
делая все поэтапно у тебя будут возникать те или иные конкретные вопросы, проблемы, возможно даже тебе придется кардинально изменять свой подход к решению поставленной задачи, но по любому ты будешь продвигаться. а вот просто разговаривая, задавая какие то общие вопросы, ты ничего не получишь и не куда не продвинешься, ничему не научишься, поверь личному опыту ....