Гама на JavaScript прямо в онлайне

Спецвыпуск хакер, номер #002, стр. 002-060-5

{

objectdy=-objectdy; // Мяч отражается

score++; // Очки возрастают

}

if (objectdx<0 && (racketpos*2-1==objectx || racketpos*2==objectx ||racketpos*2+1==objectx))

// Аналогично: если мяч движется влево и находится в зоне ракетки

{

objectdy=-objectdy; // Мяч отражается

score++; // Очки возрастают

}

deltascore++; // Количество отскоков увеличилось на единицу

if (deltascore==5){ // Если мяч отскочил уже 5 раз, ускорим игру!

deltascore=0; // Сбросили счетчик отскоков на ноль

waitdelay=waitdelay*0.75; // Уменьшили задержку, т.е. ускорили на 25%

}

if (errorflag!=1)scoreboard.value="Score: "+score; // Вывели очки в табло, если все ОК

} // Конец блока if, проверявшего, находится ли мяч на последней горизонтали

// Теперь три легких случая - мяч у трех стенок:

if (objecty<2) objectdy=-objectdy; // Мяч у верхней стенки, меняем направление

if (objectx>29)objectdx=-objectdx; // Мяч у правой стенки, меняем направление

if (objectx<2) objectdx=-objectdx; // Мяч у левой стенки, меняем направление

// Осуществляем движение:

objectx+=objectdx; // Двигаем объект по X

objecty+=objectdy; // Двигаем объект по Y

if (objecty>19) errorflag=1; // Ошибка! Мяч не был вовремя отражен!

} // Конец тела функции

Вот, собственно, и все! Теперь тебе остается со спокойным сердцем закрыть тэг <SCRIPT> и создать внутри <BODY> с помощью стандартных тэгов кнопочку Start Game (onclick=newgame()), форму (name=battleForm) и внутри ее TEXTAREA размером 30 на 20 (name=battleTA cols=30 rows=20). Не забудь про табло <INPUT name=scoreboard>, и твоя первая игра полностью готова!

Напоследок хочу привести код полного HTML-файла со всем необходимым и пожелать тебе новых игр на JavaScript!

Листинг финального файла squash.htm:

<!- Между этих строк расположены комментарии для HTML

Cтандартный заголовок

-->

<HTML>

<HEAD>

<TITLE>Squash!</TITLE>

</HEAD>

<!-

Собственно, главный JS-сценарий

//-->

<SCRIPT LANGUAGE=javascript>

<!--

var fieldx=1;// X-координата игрового поля

var fieldy=1; // Y-координата игрового поля

var objectx=2; // X-координата мячика

var objectdx=1; // Смещение мячика по оси X

var objecty=2; // Y-координата мячика

var objectdy=1; // Смещение мячика по оси Y

var racketpos=7; // Положение ракетки

var errorflag=0; // Если 0, то все ОК. Единица, если мяч вовремя не отбит

var score=0; // Набранные очки

var deltascore=1; // Количество отскоков

var waitdelay=200; // Задержка в миллисекундах между движениями мячика (скорость игры)

var onflag=0; // Если 0, то игра не начата. Единица, если уже идет

var printscreen; // Главная переменная вывода

function newgame(){ // Объявляем функцию newgame без аргументов

if(onflag==0){ // Т.е. если игра не начата, то...

errorflag=0; // Сбрасываем в значение по умолчанию

score=0; // Очевидно, что очков пока нет

objectx=objecty=2; // Задаем начальные координаты для мяча

fieldx=fieldy=1; // Задаем начальные координаты для поля

Назад на стр. 002-060-4  Содержание  Вперед на стр. 002-060-6

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001