С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript: HTML5 Canvas
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 09.12.2016
Сообщений: 99

Исправить код к не большой игре

12.04.2017, 15:23. Показов 2220. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пытался сделать игру "Лабиринт" :
1) Генерируется лабиринт который надо пройти на алгоритме Прима
2) Управление стрелками
Пожалуйста проверьте код надо ли что-то подправить с вашей точки зрения? Прошу помощи с графической частью? Буду благодарен за пример кода
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random;
if (computerChoice < 0.34) {
    computerChoice = "rock";
} else if (computerChoice <= 0.67) {
    computerChoice = "paper";
} else {
    computerChoice = "scissors";
}
console.log computerChoice;
var compare = function (choice1, choice2) {
    if (choice1 === choice2) {
        return "The result is a tie";
    } else if (choice1 === "rock") {
        if (choice2 === "scissors") {
            return "rock wins";
        } else {
            return "paper wins";
        }
    } else if (choice1 === "paper") {
        if (choice2 === "rock") {
            return "paper wins";
        } else {
            return "scissors wins";
        }
    } else if (choice1 === "scissors") {
        if (choice2 === "rock") {
            return "rock wins";
        } else {
            return "scissors wins";
        }
    }
};
compare(userChoice, computerChoice);
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2017, 15:23
Ответы с готовыми решениями:

Как исправить баг в игре
Создаю я вот свою уже вторую игру, практикуюсь и тут у меня возникла ошибка при написании управления персонажем, персонаж обычный куб,...

Найти и исправить ошибки в игре
program rpg; label back, back2; var select, sct2, sct3, hp, hpe, dmg, dmge: real; var name: string; begin writeln ('Придумай себе...

Не могу исправить глюк во флеш игре
Беда...Дело в том что когда соприкасаются два персонажа, и при прыжке одного из них возникает глюк- их разбрасывает за пределы уровня....

7
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
13.04.2017, 09:36
Простите, но при чём здесь лабиринт и JS-код игры камень-ножницы-бумага?
0
1 / 1 / 0
Регистрация: 09.12.2016
Сообщений: 99
13.04.2017, 16:00  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Простите, но при чём здесь лабиринт и JS-код игры камень-ножницы-бумага?
Извините описка испрвил
Цитата Сообщение от alik_710 Посмотреть сообщение
Здравствуйте, пытался сделать игру :
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
13.04.2017, 17:32
А что сделать-то надо?
0
1 / 1 / 0
Регистрация: 09.12.2016
Сообщений: 99
13.04.2017, 20:38  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
А что сделать-то надо?
Это
Цитата Сообщение от alik_710 Посмотреть сообщение
Прошу помощи с графической частью? Буду благодарен за пример кода
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
14.04.2017, 16:04
Цитата Сообщение от alik_710 Посмотреть сообщение
Прошу помощи с графической частью?
Что из этого разрешается использовать для графической части вашим преподавателем?
0
1 / 1 / 0
Регистрация: 09.12.2016
Сообщений: 99
14.04.2017, 23:06  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Что из этого разрешается использовать для графической части вашим преподавателем?
Преподаватель такой что на любой вопрос отвечает, что "Я у вас спрошу это на практической работе", это была шутка с долей правды. И особо не вникает как чего и откуда. Смотрит есть результат или нет.
Если серьезно посоветуйте что попроще и желательно на русском, для начинающего заранее спасибо.
0
9037 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,962
Записей в блоге: 216
15.04.2017, 00:28
Лучший ответ Сообщение было отмечено alik_710 как решение

Решение

Цитата Сообщение от alik_710 Посмотреть сообщение
Если серьезно посоветуйте что попроще и желательно на русском, для начинающего
Я думаю, проще Canvas API. Как я понял, вам для представления лабиринта достаточно рисовать квадраты разных цветов. На русском можно найти, набрав в поисковике, например: Canvas API рисуем квадрат.

Графика рисуется на html элементе <canvas>. Переводится, как "холст". Принцип такой. У вас есть элемент <canvas>. Вы из JS получаете так называемый "контекст рисования". Это объект на котором вызываются методы и свойства для рисования:
JavaScript
1
2
var canvas = document.getElementById("renderCanvas"); // Получаем ссылку на элемент
var context = canvas.getContext("2d"); // Получаем объект "конекст рисования"
Далее, нужно полностью залить холст нужным цветом:
JavaScript
1
2
context.fillStyle = 'green'; // Указываем цвет для заливки
context.fillRect(0, 0, canvas.width, canvas.height); // Рисуем квадрат во весь холст
После очистки можно нарисовать сколько угодно квадратов из двумерного массива. Попробуйте сами нарисовать лабиринт. Советую создавать двумерный массив, где одно число (или символ) обозначает пустоту, а другое: преграду. Пробегаете по массиву и рисуете квадраты. Сделайте для начала очень простой пример, сохраните на https://jsfiddle.net/. Покажите, что получилось.

Написал вам маленький пример, как можно по клику на кнопку передвигать квадрат: https://jsfiddle.net/8Observer8/699h7nrx/

PHP/HTML
1
2
<input id="moveButton" type="button" value="Move" />
<canvas id="renderCanvas" width="400" height="400"></canvas>
CSS
1
2
3
#moveButton {
  position: absolute;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var canvas = document.getElementById("renderCanvas");
var context = canvas.getContext("2d");
 
//get a reference to the element
var moveButton = document.getElementById("moveButton");
//add event listener
moveButton.addEventListener('click', function(event) {
    move();
});
 
var x = 0;
 
move();
 
function move()
{
    context.fillStyle = 'green';
    context.fillRect(0, 0, canvas.width, canvas.height);
  
    context.fillStyle = 'white';
    context.fillRect(x, 50, 20, 20);
    x += 20;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2017, 00:28
Помогаю со студенческими работами здесь

Как исправить вылет в игре Prototype?
помогите. кто исправлял ошибку игры прототип, когда игра вылетала и появлялось окно с 2 вариантами развития событий: найти ошибку в...

Исправить вывод сообщений на русском в игре
Здравствуйте.. Мне нужна помощь, для того чтобы перевести на UTF8, чтоб показывало на русском.. using System; private...

Проверить, все ли имена написаны с большой буквы, если нет, то исправить
Задано десять русских имен. В тексте проверить, все ли эти имена написаны с большой буквы, если нет, то исправить прошу помочь с этой...

Подскажите исправить ошибки в игре Пин понг на JavaScript
За одну из платформ играет пользователь используя мышь. За вторую играет компьютер. Проигрывает тот, кто пропустил мячик. Выигравший...

Скажите, пожалуйста, как исправить исправить код в процедуре
задание такое :Дан одномерный массив. Переместить нулевые элементы массива в начало, сдвинув остальные элементы вправо. Помогите понять,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru