Эту тему я хотел бы посвятить мануалу по созданию одной очень популярной в своё время игры с тетриса - змейка.
Облазив интернет по гуглу, я так и не нашёл приличного манула по коддингу этой игры, и поэтому решил написать свой собственный, дабы юзеры, ищущие по гуглу, натыкались на этот сайт, среди прочих, и получали достойную помощь =)
Я не пишу мануал для совсем ничего не знающих людей в области программирования, ибо это слишком хлопотно и долго, однако я постараюсь, как можно подробнее прокомментировать весь код…
С чего начнём, наверное с понимания принципа работы игры.
А их - этих принципов может быть много, лично мною были испробованы 3.
Но без сомнений ТРЕТИЙ- самый экономный, безбаговый и понятный, его основной принцип действия, то есть идея удаления массива хвоста и расширения массива по средствам постановки головы, был предложен vladgalay-ем, и превосходил, по вышеизложенным параметрам 2 моих собственных принципа =)
О нём я и буду писать.
И так, как же работает змейка, ну по сути её голова всегда движется вперёд, а хвост волочится за нею, но причём ровно в той последовательности, как мы ходили головой.
То есть нам надо прорисовывать постоянно новую голову вперёд а хвост затирать(удалять), а когда змейка будет кушать, то и хвост затирать не надо.
Мы поняли задачу, а теперь приступим к реализации.
Что нужно для счастья ? - представить змейку в качестве массива, но не просто массива а массива в массиве, если так можно выразиться, то есть у каждого квадратика, из которых состоит змея, будет свой массив, хранящий координаты этого квадратика по х и по у.
P.S. Условимся, что тело змейки, состоит из кубов размера 8 пикселей в ширину и 8 пикселей в высоту.
КОД
n,m,timer=1,0,0
kub=Image.load("kub.png")
Навигация |
Форма входа |
Календарь | ||||||||||||||||||||||||||||||||||||||||||||
|