В копилку Игрока
Точно определить задержку ввода нельзя, ее можно установить методом проб и ошибок, поэтому вы можете подобрать любое значение. Главное, чтобы обработка пользовательского ввода производилась на частоте, близкой к частоте нажатий клавиш игроком. Также помните, что величина задержки обработки пользовательского ввода может изменяться от одной игры к другой в зависимости от аппаратных ресурсов и скорости выполнения мидлета.
Давайте подведем итог. Первоначальная разработка игры Henway говорит о том, что в процессе игры мы должны управлять следующими элементами:
► числом жизней цыплят;
► счетом;
► булевской переменной окончания игры;
► переменной задержки пользовательского ввода.
Помня об этом, вы готовы перейти дальше к разработке кода игры Henway.
Разработка игры
Я надеюсь, что к настоящему моменту вы поняли, из чего состоит игра Henway. В следующих разделах речь пойдет о разработке кода этого мидлета. Это достаточно просто, поскольку большая часть кода основана на рассмотренных ранее примерах.
Написание кода
Неудивительно, что код игры Henway начинается с написания класса специального холста, производного от класса GameCanvas. Я говорю о классе Hcanvas, который ответственен за реализацию всей логики игры. Давайте рассмотрим один из его фрагментов. Ниже приведено объявление переменных класса:
private Display display;
private boolean sleeping;
private long frameDelay;
private int inputDelay;
private Random rand;
private Image background;
private Image chickenHead;
private Sprite chickenSprite; //Спрайты в игре Henway – это спрайт цыпленка и 4 спрайта автомобилей
private Sprite[] carSprite = new Sprite[4];
private int[] carYSpeed = new int[4]; //Поскольку автомобили движутся вертикально, не нужно хранить горизонтальные составляющие их скоростей
private boolean gameOver;
private int numLives;
private int score;