Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 25.01.2018, 13:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Георгий777
не срабатывает управление обьектом
не было break; в onkeydown и установки x (строки 66, 67)

ограничение x , нужно ещё доработать (строки 69, 70)
Ответить с цитированием
  #22 (permalink)  
Старый 26.01.2018, 00:02
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

Спасибо большое)

А подскажите, что я делаю не так в функции move при сравнении на равенство переменных х и у, отвечающих за змейку и еду соответственно?

Как увеличить змейку на 1 квадратик, при поедании еды?
Ответить с цитированием
  #23 (permalink)  
Старый 26.01.2018, 00:02
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

https://jsfiddle.net/85uL4hq4/13/ - ссылку забыл)
Ответить с цитированием
  #24 (permalink)  
Старый 26.01.2018, 10:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Георгий777,
массив клеток делать ...
Ответить с цитированием
  #25 (permalink)  
Старый 26.01.2018, 18:22
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

Пытался-не получилось

<!DOCTYPE html>

<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
#output {

width:400px;
height:400px;
border-top: 1px solid gray;
border-left: 1px solid gray;

}

.inner {
border-bottom: 1px solid gray;
border-right: 1px solid gray;
width:19px;
height:19px;
float: left;
}
</style>


</head>

<body>
<div id="output"></div>
<script>
"use strict"
let fields = 20 * 20, min = 1, max = 400, i, div, x = 0, y = 0, flag = false, direction = 'right', ar = [];

function createMatrix() {
let output = document.getElementById('output');

for(i = 0; i < fields; i+=1) {
div = document.createElement('div');
div.className = 'inner';
output.appendChild(div);
ar.push(div);
}

}

createMatrix();

function setCell(num, val, eat) {
let output = document.getElementById('output');
let cell = output.children[num];

if(val)
cell.style.backgroundColor = 'red';
else
cell.style.backgroundColor = 'transparent';
if(eat)
cell.style.backgroundColor = 'green';
}

function getCell(num) {
return num;
}

//setCell(0, true);

function move() {

for(i = 0; i < fields; i+=1) {
ar[i] = 0;
setCell(ar[i], false);

switch (direction) {
case 'right': ar[i] = ar[i+1]; break;
case 'left': ar[i] = ar[i-1]; break;
//case 'up': x -= 20; break;
//case 'down': x += 20; break;
}

if(ar[i] < 0) ar[i] = 0;
if(ar[i] >= fields) ar[i] = fields - 1;

if(ar[i] == y) {
setCell(ar[i], true);
setCell(ar[i+1], true);
}
else setCell(ar[i], true);
}

}

function generateEat(min, max) {

y = Math.floor(Math.random() * (max - min) + min);
setCell(y, false, true);
return y;
}

setInterval(move,500);

setInterval(generateEat(min,max),500);



document.onkeydown = function(e) {

switch (e.keyCode) {

case 37: direction = 'left';break;
case 38: direction = 'up';break;
case 39: direction = 'right';break;
case 40: direction = 'down';break;
}
}



</script>
</body>
</html>
Ответить с цитированием
  #26 (permalink)  
Старый 26.01.2018, 18:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Георгий777,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #27 (permalink)  
Старый 26.01.2018, 18:27
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

https://jsfiddle.net/qcjmt4rk/17/
Ответить с цитированием
  #28 (permalink)  
Старый 26.01.2018, 18:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Георгий777,
Ответить с цитированием
  #29 (permalink)  
Старый 26.01.2018, 18:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Георгий777,
пост №25 кнопка РЕД.
[HTML run]код вашей страницы[/HTML]
Ответить с цитированием
  #30 (permalink)  
Старый 26.01.2018, 18:42
Аспирант
Отправить личное сообщение для Георгий777 Посмотреть профиль Найти все сообщения от Георгий777
 
Регистрация: 23.01.2017
Сообщений: 35

Простите, не понял ваше последнее смс
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти стандартное поведение blur? billi Events/DOM/Window 10 01.10.2014 12:22
Странное поведение jQuery borodatych Javascript под браузер 5 27.02.2014 11:47
Непонятное поведение в Chrome main.c Opera, Safari и др. 3 10.10.2013 18:52
Странное поведение переменной mycoding Серверные языки и технологии 4 14.01.2011 19:18
Cтранное поведение viktod Общие вопросы Javascript 23 10.04.2010 00:37