English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Здесь около 700 строк кода, который используется для работы игры. Но не отчаивайтесь – большая часть этого кода из функций, которые вы уже видели при изучении этой книги. Например, мы используем независимое от кадров обнаружение столкновений и реакция на столкновения шар-шар. Обе эти темы подробно объяснялись ранее в этой книге и эти функции довольно длинны. В этом разделе я собираюсь дать вам обзор кода, работающего в этой игре. Затем мы поговорим о некоторых особенностях. Общий обзор После того, как оба игрока вошли в игру, Игрок 1 имеет шар-в-руке. Когда Игрок 1 устанавливает шар, у Игрока 2 обновляется новое положение шара-битка. Игрок 1 может затем прицелиться и разбить. Как только Игрок 1 отпустил кнопку мыши для удара, Игрок 2 извещается об ударе, и шары начинают движения на экранах обоих игроков. По окончании удара игра каждого игрока проверяет, не были ли нарушены правила. Мы следим, не было ли промаха, было ли первое попадание в шар с наименьшим номером, и попал ли шар в лузу. Если шар попал в лузу, то мы проверяем, был ли это шар-биток или 9 шар. Если это 9 шар, то игра закончена. Если это шар-биток, то лишь происходит переход хода. Игра продолжается таким образом, пока не будут забиты все 9 шаров. Этот код удлинен за счет включения мною некоторых оптимизаций. Я четыре раза делал игру 9-шаров. (Одна вещь, которую вы обнаружите, когда напишите больше других игр состоит в том, что когда вы закончили программировать игру, у вас уже есть идеи о том, как лучше сделать это в следующий раз.) Каждый раз, когда я программировал эту игру, код становился длиннее – но уменьшалось количество ошибок, и игра становилась более гладкой. Одно основное улучшение, которое я включил в эту версию игры состоит в том, как код определяет, обнаружено ли столкновение между двумя шарами. В предыдущей версии 9-шаров код постоянно делает проверку на столкновение с каждым шаром. Так, например, если вы ударили шаром-битком в 3 шар, а все другие шары остались нетронутыми, код все так же проверял бы столкновение между 5 и 6 шаром
Hosted by uCoz