Игра ходом коня .
|
Эта статья содержит короткие пояснения по листингу
моей программы "Ходом коня" и естественно архив с самой программой. Для
запуска игры необходимо распаковать проект и открыть его в
gambas. Упакованный проект: HodKonem02.tar.gz 1) Об игре : Целью игры является обойти на поле 10*10 ходом коня максимальное количество клеток (на одну клетку можно поставить коня только 1 раз ) Я устойчиво набираю 97-100 очков из 100, т.к. в далекие годы моего голопузого детства игра была достаточно популярна и в школе на переменах, а иногда и на уроках в нее рубились все кому не лень. Более того один раз выработав правильную стратегию Вы добьетесь таких же результатов , но объяснять ее не буду иначе играть будет не интересно. Вообще я написал эту игру как пример для программирования игр на языке gambas с использованием массивов и если поймете как работает эта программа, то написать игру подобного плана - colour lines , tetris и т.п. для вас не составит большого труда. Вообще программирование игр при помощи массивов во времена ZX-Spectrum-а было очень неплохо описано в книгах "Инфоркома" и не входит в задачи этой статьи, но все зависит от вашего интереса - будут пожелания, могу написать по этой тематике статью для тех кто хотел бы разобраться в теме глубже, тем более, что ходилки / стрелялки программируются по тем же принципам. Но мы отвлеклись в сторону, вот как выглядит сама игра: Для
совершения хода необходимо поставить курсор на свободную клетку и
дважды кликнуть по ней мышкой, а уж комп. сам проверит
правильность этого хода и возможность дальнейшего продолжения игры.
Записи на винт я не делал поэтому рекордом является лучший результат за время одного сеанса игры , при желании такую штуку довольно легко приклепать , но перегружать эту прогу (написанную как пример) нет ни малейшего желания ! 2) Листинг: Листинг этой программы не блещет изяществом и не страдает глубокой оптимизацией, но тем не менее работает .
Небольшие пояснения к листингу. Для программирования игры используется массив dsk 10x10, нули в котором соответствуют пустым клеткам ,а единицы занятым . Соответственно вся игра построена на проверке / установке в единицу элементов этого массива !( учтите что в массивах индексы элементов считаются начиная с нуля т. е. dsk[0,0] соответствует левому верхнему углу доски , а dsk[9,9] - правому нижнему. Процедуры: Setka - рисует игровое поле Zero - обнуляет массив Setkon - рисует коня по координатам из массива DrawA1_DblClick - основная процедура программы выполняется по двойному щелчку мыши на игровом поле и включает в себя проверки правильности хода и проверки на окончание игры. Остальное легко можно понять из листинга: ' Gambas class file Если Вы дочитали до этого места, остается пожелать Вам дальнейших успехов в программировании ! |
kostyalamer 08.03.2009 < [ на главную ] |