Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Gra - wąż(snake)
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
hinczyk
Witam!
Oto mój kod "gry":
  1.  
  2. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  3. <meta name="author" content="">
  4.  
  5. <title>:: Wąż ::</title>
  6.  
  7. <script type="text/javascript">
  8.  
  9. function poruszanie(){
  10. var lefta = document.getElementById('glowa').style.left;
  11. var topa = document.getElementById('glowa').style.top;
  12. if(document.getElementById('kierunek').value == "prawo"){
  13. document.getElementById('glowa').style.left = (parseInt(lefta)+10);
  14. }else if(document.getElementById('kierunek').value == "lewo"){
  15. document.getElementById('glowa').style.left = (parseInt(lefta)-10);
  16. }else if(document.getElementById('kierunek').value == "gora"){
  17. document.getElementById('glowa').style.top = (parseInt(topa)-10);
  18. }else{
  19. document.getElementById('glowa').style.top = (parseInt(topa)+10);
  20. }
  21. if(document.getElementById('glowa').style.left=='300px' || document.getElementById('glowa').style.left=='-10px' || document.getElementById('glowa').style.top=='-10px' || document.getElementById('glowa').style.top=='300px'){
  22. alert("przegrales")
  23. }
  24. if(document.getElementById('glowa').style.left == document.getElementById('jablko').style.left && document.getElementById('glowa').style.top == document.getElementById('jablko').style.top){
  25. document.getElementById('pkt').value = parseInt(document.getElementById('pkt').value) + 1;
  26. var losowa = Math.round(28*Math.random()+1)+'0';
  27. var losowa1 = Math.round(28*Math.random()+1)+'0';
  28. document.getElementById("jablko").style.left = losowa
  29. document.getElementById("jablko").style.top = losowa1
  30. }
  31. document.getElementById('wynik').innerHTML = document.getElementById('pkt').value + " punktów";
  32. }
  33. setInterval("poruszanie()", 300)
  34. function kierowanie(e){
  35. if(e.which){
  36. code=e.which
  37. }else if(e.keyCode){
  38. code=e.keyCode
  39. }
  40. var lefta = document.getElementById('glowa').style.left;
  41. var topa = document.getElementById('glowa').style.top;
  42.  
  43. if(document.getElementById('kierunek').value == "prawo"){
  44. if(code == 119){
  45. if(document.getElementById('kierunek').value == "gora"){
  46. }else{
  47. document.getElementById('glowa').src = 'glowa_gora.png'
  48. document.getElementById('kierunek').value = "gora"
  49. }
  50. }
  51. if(code == 115){
  52. if(document.getElementById('kierunek').value == "dol"){
  53. }else{
  54. document.getElementById('glowa').src = 'glowa_dol.png'
  55. document.getElementById('kierunek').value = "dol"
  56. }
  57. }
  58. }
  59. if(document.getElementById('kierunek').value == "lewo"){
  60. if(code == 119){
  61. if(document.getElementById('kierunek').value == "gora"){
  62. }else{
  63. document.getElementById('glowa').src = 'glowa_gora.png'
  64. document.getElementById('kierunek').value = "gora"
  65. }
  66. }
  67. if(code == 115){
  68. if(document.getElementById('kierunek').value == "dol"){
  69. }else{
  70. document.getElementById('glowa').src = 'glowa_dol.png'
  71. document.getElementById('kierunek').value = "dol"
  72. }
  73. }
  74. }
  75. if(document.getElementById('kierunek').value == "gora"){
  76. if(code == 97){
  77. if(document.getElementById('kierunek').value == "lewo"){
  78. }else{
  79. document.getElementById('glowa').src = 'glowa_lewa.png'
  80. document.getElementById('kierunek').value = "lewo"
  81. }
  82. }
  83. if(code == 100){
  84. if(document.getElementById('kierunek').value == "prawo"){
  85. }else{
  86. document.getElementById('glowa').src = 'glowa_prawa.png'
  87. document.getElementById('kierunek').value = "prawo"
  88. }
  89. }
  90. }
  91. if(document.getElementById('kierunek').value == "dol"){
  92. if(code == 97){
  93. if(document.getElementById('kierunek').value == "lewo"){
  94. }else{
  95. document.getElementById('glowa').src = 'glowa_lewa.png'
  96. document.getElementById('kierunek').value = "lewo"
  97. }
  98. }
  99. if(code == 100){
  100. if(document.getElementById('kierunek').value == "prawo"){
  101. }else{
  102. document.getElementById('glowa').src = 'glowa_prawa.png'
  103. document.getElementById('kierunek').value = "prawo"
  104. }
  105. }
  106. }
  107. }
  108. </script>
  109. <style type="text/css">
  110. * {
  111. margin: 0;
  112. padding: 0;
  113. }
  114. #ramka {
  115. width:300px; height:300px;
  116. border: 1px #000 solid;
  117. }
  118. </style>
  119. </head>
  120.  
  121. <body onkeypress="kierowanie(event)">
  122. <div id="ramka">
  123. <img src="glowa_prawa.png" id="glowa" style="position:absolute; left:30px; top:150px; z-index:1;">
  124. <img src="jablko.png" id="jablko" style="position:absolute; left:150px; top:150px;">
  125. </div><div id="wynik"></div>
  126. <input type="hidden" id="kierunek" value="prawo">
  127. <input type="hidden" id="pkt" value="0">
  128. </body>
  129. </html>


A to moje pytanie:
Czy wie ktoś jak zrobić by po zjedzeniu jablka za wężem pojawiał się ogon i chodził za nim jak w prawdziwej grze "snake"?

Za odpowiedz z góry dzięki:)
yaro
Musisz zapamietywac pozycje przez które przechodziła głowa. Zrób sobie stos, albo kolejke, nie wiem które bedzie lepiej zastosować, musisz sie nad tym zastanowic. Z wykrywaniem zjedzenia poradziles sobie juz?
hinczyk
tak z wykrywaniem jedzenia już sobie poradziłem.
a co to jest ten stos, kolejka?
mike
Cytat(hinczyk @ 15.05.2008, 15:51:39 ) *
a co to jest ten stos, kolejka?
To są tak podstawowe rzeczy w programowaniu jak powiedzenie mama w nauce mówienia.
Stos, kolejka
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.