Показать сообщение отдельно
  #1 (permalink)  
Старый 25.05.2019, 22:32
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Создание библиотеки
Я правильно понимаю, что это синтаксис библиотеки в javascript с ключом rank и значением suit?
var hand = [
 { "rank":"семерка", "suit":"пик" },
 { "rank":"четверка", "suit":"червей" },
 { "rank":"двойка", "suit":"треф" },
 { "rank":"семерка", "suit":"пик" },
 { "rank":"восьмерка", "suit":"бубен" }
];


Тогда как мне создать такую же библиотеку по ходу выполнения кода. Т.е. у меня есть текстовые поля, куда рандомно закидываются значения карт (номинал и масть, например, восьмерка черви или туз треф). Теперь, чтобы работать с этими значениями, мне нужно присвоить переменной hand значения текстовых полей так, как показано выше, чтобы я мог обращаться к номиналам (hand.rank) и к мастям (hand.suit)

<input type="button" value="Кликни!" onclick="func1()">
  <p><input type="text" id="random1" readonly></p>
  <p><input type="text" id="random2" readonly></p>
  <input type="text" id="random3" readonly>
  <p><input type="text" id="random4" readonly></p>
  <input type="text" id="random5" readonly>
  <p><input type="button" value="Кликни!" onclick="ANSWER"></p>
  <p><input type="text" id="solve"></p>



var ranks = ["двойка","тройка","четверка","пятерка","шестерка",
"семерка","восьмерка","девятка","десятка","валет","дама","король","туз"];
var suits = ["пик","червей","треф","бубен"];

function func() {
   return {
      rank: ranks[Math.floor(Math.random() * ranks.length)],
      suit: suits[Math.floor(Math.random() * suits.length)]
   };
}
     
var hand = [];
 
function func1() {
   for (var i = 0; i < 5; i++) {
      var card = func();
      hand[i] = card;
      document.getElementById("random" + (i + 1)).value = card.rank + " " + card.suit;
   }
}

function containsNTimes(handRanks, rank, n) {
 //.............
}

function containsNMasti_1(handRanks, suit, n) {
 //..............
}

function containsNMasti_2(handRanks1, rank) {
 //.............
 }
}

function FullHouse(hand) {
  //............
}

function StreetFlesh(hand) {
  //............
}

function ANSWER() {
  // ЗДЕСЬ НУЖНО СОЗДАТЬ ТУ САМУЮ БИБЛИОТЕКУ hand
   try {
      while(true) {
	     if (FullHause(hand)) {
		    document.getElementById('solve').value = 'Комбинация - Фулл-Хауз';
         }
         else if (StreetFlesh(hand)) {
		    document.getElementById('solve').value = 'Комбинация - Стрит-Флеш';
         }
         else {
		    document.getElementById('solve').value = 'Нет известной комбинации';
         }
      }
   } catch (e) {
      alert( 'No game!' );
   } finally {
      if (confirm("Продолжить?")) break;
	  else break;
   }
}


Буду очень благодарен за помощь!
Ответить с цитированием