Главная страницаСтатьиПрограммыСсылкиФорум |
Картинка взята из игры DXBall2. В стандартном арканоиде угол отлёта шарика зависит от точки, куда упал шарик на биту. Т.е если шарик упал на самый центр биты, то шарик полетит вверх, а если шарик упал на правый край биты, то шарик полетит вверх вправо. А вот мой арканоид: Естественно мой арканоид хуже :( Итак: как же я его писал? Для начала надо было определиться с функциями. Т.е. какие я функции буду использовать. Я решил использовать следующие функции: arcanoid(), ball(), kubic(), cubes(), main(). Ну с main() всё понятно. Arcanoid() - функция рисования самой биты. Ball() - функция рисования шарика и проверка столкновений шарика со стенками и с кубиками. Kubic() - рисует символ \376 (эта функция удобна потому, что для изменения символа кубика надо это изменить только в одном месте). Cubes() - рисует ряды кубиков. У меня в программе все функции (void). Все переменные хранятся в глобальной памяти. Вот какие переменные оказались:
А теперь, как я писал функции:
Я решил использовать для направления движения мячика скорость. Т.е. если скорость например по иксу положительна, то икс-координата мячика увеличивается. И получается очень простая реализация: x += vx; y += vy; Переменная timtime указывает на таймер по адресу 0040:006C. Получился арканоид, моя первая игра. |