Сообщения с результатами игры и вывод изображений на экран

Игра "Очко". Результирующие сообщения и вывод изображений

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

Опять же, происходить это должно не однократно, поэтому удобнее и логичнее будет написать функцию и объявить переменную msgfinal для того, чтобы оперировать ей при выводе того или иного сообщения.

function resultMed(){

var msgfinal=0;

Предварительно, до того как вывести сообщение с результатом, логично же получить этот результат. А потому используем ранее написанную функцию getSumm  (Игра "Очко". Подсчет суммы) для каждого игрока:

var playerpoint = getSumm(playercard);
var compoint = getSumm(compcard);

Ну и оператором if просто опишем всевозможные варианты развития событий - если  игрок набрал определенное количество очков или в каких случаях выиграл компьютер (Переменные compwin и playerwin - счетчики для отображения количества побед каждого игрока):

if ((compoint==21)&&(playerpoint!=21)){
msgfinal=("К сожалению, вы проиграли. Соперник набрал 21, а вы - "+playerpoint+".");
compwin++;
}
else if((playerpoint==21)&&(compoint!=21)){
msgfinal=("Поздравляем! Вы выиграли, набрав "+ playerpoint+". У вас ОЧКО!");
playerwin++ ;
}
else if ((playerpoint>21)&&(compoint<21)){
msgfinal=("К сожалению, вы проиграли. Соперник набрал "+ compoint+ ", а у вас перебор - "+playerpoint+".");
compwin++;
}
else if ((compoint>21)&&(playerpoint<21))
{msgfinal=("Поздравляем! Вы выиграли, набрав "+ playerpoint+" очков, а у противника - пребор: "+ compoint+".");
playerwin++;
}

Итак, если происходят те или иные условия - переменная msgfinal получает определенное значение вместо нуля. Настроим же вывод результата на экран. Логично, что он должен происходить только в том случае, если msgfinal !=0

if (msgfinal!=0) {document.getElementById("resultGamefinal").value = msgfinal;

Будем же интереснее, тем более, что описали уже адреса картинок, которые хранятся в массиве. Так чего бы их не показать!? Для этого вызовем новую функцию

imageShow(compimg, resultcomp);


Как отобразить изображения при помощи JavaScript

Функция, которая будет отвечать за вывод картинок на страничке с игрой имеет 2 параметра:

  1. arr - имя массива, в котором уже лежат пути к изображениям (Игра &quot;Очко&quot;. Начало. Колода карт и раздача.)
  2. whatplayer - id элемента, в котором и будут выводиться картинки на странице

function imageShow(arr,whatplayer){
for (var i =0; i<arr.length; i++) {
newimg = document.createElement('newimg');
newimg.innerHTML = ("<img src='"+arr[i]+"' height='200' width='128'>");
whatplayer.appendChild(newimg)
}}

То есть, циклом for мы перебираем массив с картинками и для каждого его i-элемента создаем дочерний элемент в документе в определенном месте (id)


Осталось же лишь добавить в функцию указания по отображению кнопок навигации и общего счета по партиям

document.getElementById("start").style.display="block";
document.getElementById("buttonmore").style.display="none";
document.getElementById("comwinpoint").value=compwin;
document.getElementById("playerwinpoint").value=playerwin;
}

Каждый элемент добавим позднее в HTML код страницы