[JS Applications] Домашно Web Storages


8
Условие на задачата: 
 
Create a simple number guessing game
­The computer generates a random number with four different digits
­The leftmost digit must not be 0 (zero)
­For simplicity called abcd
­At each turn the player enters a four-digit number
­For simplicity called xyzw
­When the game ends:
­Ask the player for a nickname
­Save the nickname inside the localStorage
­Implement a high-score list
­Sheep means that a digit from xyzw is contained in abcd, but not on the same position
­If two such digits exists, the sheep are 2
­Ram means that a digit from xyzw is contained in abcd and it is on the same position
­If two such digits exists, the rams are 2
­The game continues until the player guesses the number abcd
­i.e. has 4 rams

Source

Demo

Играта е проста. Играчът въвежда четири числа и очаква отговор от системата колко овце и овни е уцелил. 

Направил съм ограничение на въвеждането до 4 символа, които да са само числа. Генерирам си 4-цифрено число и с два алгоритъма сравнявам дали играчът има овни и/или овце и ги изписвам, като според мен едно и също число не може да се брои за овен и овца едновременно. Затова вадя от овцете овните при принтирането (условието мълчи по въпроса). През това време броя опитите на играча. При налучкано число го питам за никнейм, пазя го в localstorage, сортирам информацията от localstorage до момента по стойност на ключовете и принтирам резултата.




Отговори



2
С underscore.js логиката на играта се събра в 30 реда код, който включва генерирането на число, проверката на входа и пресмятането на биковете и кравите :)
 

от neutrino (3376 точки)


0
Имаш бъг. Ако има нула в числото, което вкарва потребителя винаги го отчиат като грешен вход. Трябва да е така само, ако нулата е първо място например 0741, а числа като 7041,7401 и т.н. трябва да се отчитат за валидни

от Vazzzz (1380 точки)

0
Не е бъг, написал съм че числото е с цифри между 1 и 9 ;)

от neutrino (3376 точки)



0

Ето го моето решение, но май нещо бъгва по едно време и не изписва правилно кравите и биковете. Използва LocalStorage за пазене на данните.

https://github.com/victor-velchev/bulls-and-cows


от victor.velchev (1225 точки)


2

DEMO

SOURCE





Предполагам си личи, колко се забавлявах докато я писах : ]


от borisov90 (609 точки)


0
големи гимнастици са тия уфси :D
къде ти се печатат хайскорс?

от AVelev (455 точки)

0
Добавям резултатите в localStorage-а. Не ги печатам никъде на този етап. Идеята беше да си направя една отделна html страничка Highscores, където да се принтира всичко което е в localStorage-а, и да може всеки да го достъпва, обаче не остана време : )

от borisov90 (609 точки)


3

CODE

 

Ето и моите овни и овчици, добре се получи, не остана време за съобщенията за грешки и за това се принтят в конзолата. Играта е разделена на модули и като цяло мисля, че е добре и четимо написана, преценете сами. Всякакви коментари са добре дошли :)


от kizisoft (803 точки)


0
Много добре се е получило, поиграх малко - харесва ми как си успял да организираш всичко в един интерфейс.

от neutrino (3376 точки)