![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Child of Bodom |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
вообщем короче есть игрушка на джава скрипте - змейка. но я не до конца понимаю как она работает типа алгоритм ее, не поможете откомментить несколько моментов чтоб понять как ваще эта штука работает? :
Код <html> <title>Змейка</title> <head> <style type = "text/css"> <!-- body {background-color:#FFF8DC; color:#00FF00;text-align:center;font-family:Verdana;font-size:12px;font-weight:bold;} --> </style> <script language="javascript"> main = new image(); main.src="fon.jpg"; doter = new image(); doter.src="dot.gif" </script> </head> <body onload='cantplay()'> <img src='fon.jpg' style='position:absolute; left: 9; top: 9'> <script> for(v=1;v<=100;v++) {document.write("<img src=dot.gif id='dot"+v+"' style='position:absolute;left:0;top:-200'>")} </script> <div id='bd' style='position:absolute;width:150; left:45;top:15'>Нажмите кнопку<br><br><br> <input type='button' onclick="level=1;startIt()" value="Начинающий"><br><br> <input type='button' onclick="level=2;startIt()" value="Средний"><br><br> <input type='button' onclick="level=3;startIt()" value="Профессионал"><br><br></div> <div id='go' style='position:absolute; width:100; left:60;top:-200'>Игра закончена</div> <div id='ld' style='position:absolute; width:100; left:60;top:30'>Загрузка... </div> <div id='yw' style='position:absolute; width:100; left:60;top:-200'>Вы выиграли !</div> <script language="javascript"> direct="null"; *** зачем вот эти 4 переменные??? sec=0; run="get"; S=0; var top=new Array(); var left=new Array(); var go=new Array() for(n=2;n<=100;n++) {go[n]="not";top[n]=-200;left[n]=-200}; for(n=1;n<5;n++) {go[n]="yes"} *** вот следующие 11 строк зачем function locatEm(turn) {ar=new Array(70,160,140,10,60,70,100,30,190,180); am=new Array(10,110,190,170,60,30,60,80,150,120,20,130,180,160,200,180,70,100,90,20); test=sec; now=new Date(); sec=now.getSeconds(); if(test==sec){sec+=sec}; left[turn]=ar[sec%10]; top[turn]=am[sec%20]; showEm(turn); if(turn!=5){showscore();speed-=rate}} function SSnake() {if(go[100]=="yes") {document.all.yw.style.pixelTop=60; lost="yes"}; for(i=99;i>1;i--) {if(go[i]=="yes") {top[i]=top[(i-1)];left[i]=left[(i-1)]}}; if(direct=="up") {top[1]-=10}; if(direct=="down") {top[1]+=10}; if(direct=="left") {left[1]-=10}; if(direct=="right") {left[1]+=10}; *** ниже вот не понятно зачем for(m=99;m>4;m--) { if(top[1]==top[m]) {if(left[1]==left[m]) {if(go[m]!="yes") {go[m]="yes";locatEm((m+1))} else{lost="yes"}}}}; if(top[1]==top[100]) {if(left[1]==left[100]) {go[100]="yes"}}; for(z=1;z<=99;z++) {if(go[z]=="yes") {showEm(z)}}; if(top[1]==0) {lost="yes"}; if(top[1]==210){lost="yes"}; if(left[1]==0){lost="yes"}; if(left[1]==210){lost="yes"}; if(lost!="yes") {setTimeout("SSnake()",speed)} else {hideEm(1); if(go[100]!="yes") {document.all.go.style.pixelTop=60; setTimeout("reaload()",2000)}}} **здесь вот походу показывается эта змейка function showEm(turn) {eval("document.all.dot"+turn+".style.pixelTop="+top[turn]); eval("document.all.dot"+turn+".style.pixelLeft ="+left[turn])} *** здесь походу реакции на нажатия клавиш вверх вниз и тд function keyDown() {k=window.event.keyCode; if(k==38) {if(direct!="down"){direct="up"}}; if(k==40) {if(direct!="up"){direct="down"}}; if(k==37) {if(direct!="right"){direct="left"}}; if(k==39) {if(direct!="left"){direct="right"}}} function startIt() {if(run=="not") {S=0; add=0; showscore(); if(level==1) {speed=151;rate=1.5; add=3}; if(level==2) {speed=101;rate=1;add=5}; if(level==3) {speed=51;rate=.5;add=9}; direct="null"; lost="not"; top[1]=100; left[1]=90; setTimeout('locatEm(5)',3000); document.all.bd.style.pixelTop=-200; run="once"; SSnake()}} function reaload() {for(n=5;n<=99;n++) {go[n]="not"}; for(e=1;e<=99;e++) {hideEm(e)}; run="not"; document.all.go.style.pixelTop=-200; document.all.bd.style.pixelTop=15; document.all.yw.style.pixelTop=-200} *** это походу спрятать змейку function hideEm(turn) {top[turn]=-200; eval("document.all.dot"+turn+".style.pixelTop=-200")} function showscore() {S+=add; parent.score.document.write("<bo"+"dy bgcolor=#1e1e1e text=#99CCFF><center><font face=Verdana size=2><strong>Счет "+S+"</font></strong></center>"); parent.score.document.close()} function cantplay() {document.all.ld.style.pixelTop=-200; run="not"} document.onkeydown = keyDown </script> <iframe src='score.html' name='score' width='200' height='20' frameborder='0' scrolling='no' style='position:absolute; top:215; left:10'> </body> </html> Вот тут архив еще прикрепляю со всем рисунками и тд : надеюсь на вашу помощь... Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 14:06 |