• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JS Problem z rozbudowaniem szubienicy o kategorie

Object Storage Arubacloud
+2 głosów
911 wizyt
pytanie zadane 20 października 2015 w JavaScript przez Shiro Stary wyjadacz (10,300 p.)
Cześć!

Otóż zrobiłem szubienicę w JS (kurs JS odc.3) Potem dodałem losowanie hasła miałem kilka problemów ale się udało. Teraz chciałem rozbudować to o kategorię. Jednak ciąglę w konsoli są błędy. Niżej jest link prosiłbym o pomoc gdyż bardzo mi zależy na tym, ponieważ udało mi się przekonać do JS dzięki panu mirosławowi.

Link: http://shirobachi-kun.zz.vc/

Pozdrawiam Shiro!

3 odpowiedzi

+1 głos
odpowiedź 20 października 2015 przez furas Maniak (53,800 p.)
wybrane 20 października 2015 przez Shiro
 
Najlepsza

W funkcji `zaczynamy()` w `if` tworzysz pustą tablicę a potem pobierasz z niej element myśląc, że tam są jakieś teksty. 

	var haslo_przyslowie = new Array(923)  // tworzenie pustej tablicy
	haslo = haslo_przyslowie[rand];   // pobieranie z pustej tablicy

Po pobraniu z pustej tablicy do zmiennej `haslo` próbujesz ją traktować jakby tam był tekst i chcesz zamienić na duże litery. Niestety tam nie ma tekstu więc nie da się wykonać funkcji `toUpperCase`

komentarz 20 października 2015 przez furas Maniak (53,800 p.)
Napis by sugerował, że internet jest niedostępny. Może gdzieś chwilowo coś się rozłączyło.
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Hmmm co do braku internetu to na niego nie narzekam .. :P niewiem .. moze dlatego że pracuje lokalnie ..

Co do tych zmiennych globalnych to ja już chyba mam dość wszystko mi się posypało :'( nie działa .. :C
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Chyba coś trochę się naprawiło bo już działa tyle że jakaś zmienna tam się pokazuje bo jest napis undefined. Możesz zobaczyć w wolnej chwili? http://shirobachi-kun.zz.vc/

Ja idę spać muszę odpocząć od JSa :D

Dobranoc!
komentarz 20 października 2015 przez furas Maniak (53,800 p.)
Przypuszczam, że w szyfruj trzeba zadać wartość początkową zmiennej `haslo_ = ""` bo bez tego jest to równoważne `haslo_ = "undefined"`
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Oczywiście miałeś rację :)

DZIĘKI :) Shiro!
+2 głosów
odpowiedź 20 października 2015 przez Comandeer Guru (601,110 p.)
var haslo_przyslowie = new Array(923);

Tak się tablic w JS po prostu nie używa.

var haslo_przyslowie = [
    'Hasło 1'
    ,'Hasło 2'
    ,'Hasło 3'
    //itd
];

 

komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Z całym szacunkiem do twoich kompetencji, ale jednak po pierwsze tak właśnie pokazywał pan Mirosław w filmie o js jeśli nie widziałeś to zapraszam http://miroslawzelent.pl/kurs-javascript/przetwarzanie-lancuchow-gra-wisielec/ Po drugie wiem że jest to sposób nie rekomendowany ale to nie znaczy że zabroniony. :)
komentarz 20 października 2015 przez Comandeer Guru (601,110 p.)

Ale jeśli istnieje lepszy, to czemu stosujesz gorszy…?

new Array jest uznawany za jeden z największych antipatternów w JS i każdy to potwierdza: http://javascript.pl/articles/tworzenie-tablic-i-obiektow.html http://speakingjs.com/es5/ch18.html#creating_arrays

komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Ja nie zaprzeczam że jest to gorszy sposób. Używam go (gorszy) gdyż uważam że nauka równolegle z kursem pana Mirosława jest odpowiednia zwłaszcza jeśli jest nauczycielem :)

Pozdrawiam!
komentarz 20 października 2015 przez writen Nałogowiec (29,060 p.)
A ja się czasem zastanawiam, co was pan Mirosław chce nauczyć.

Chyba obejrzę ten kurs, może będzie co pokomentować. Bo pierwszy odcinek kursu JS też nie był najlepszy.
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Twoje zdanie :)
komentarz 20 października 2015 przez writen Nałogowiec (29,060 p.)
Bo początkujący łykają wszystko, nie ważne czy jest dobrze czy źle. Byleby działało, prawda?
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Wiesz co jeśli ktoś nie potrafi nic napisać w JS (tak jak było w moim przypadku) to jeśli kurs ma sprawić że będę umiał coś fajnego napisać (taka gra w wisielca wg mnie się już kwalifikuje jako "fajne") to wydaje mi się że jest to gra warta świeczki bo wiedzę można skalować wg własnych upodobań.
Odpowiadając na twoje pytanie tak początkujący taki jak ja cieszy się nie jeśli jest dobrze zrobione (bo skąd mam wiedzieć czy jest dobrze w końcu jestem początkujący) tylko kiedy działa. :) Przynajmniej tak jest w moim przypadku :)

Pozdrawiam Shiro!
komentarz 20 października 2015 przez Comandeer Guru (601,110 p.)
Spoko, tylko, że 3 osoby Ci odpowiedziały i wszyscy wskazaliśmy, że lepiej nie tworzyć tablic przez new Array...
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Okey, ale napisz co Ci to przeszkadza że piszę przez aray ? mi dziala i jestem szczesliwy a w kursie na pewno dojdziemy do tego :)
komentarz 20 października 2015 przez Comandeer Guru (601,110 p.)
Bo robisz coś w sposób nieoptymalny i utrwalasz sobie niezbyt poprawny nawyk? Ale jak tam chcesz. Dla mnie to jest zadowalanie się byle czym...
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Dobrze jeśli to Ci poprawi humor to użyje lepszego sposobu.
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Tak właściwie to miałeś racje tzn. nie wiem dlaczego niby ten sposób definiowania jest lepszy ale nawet jest wygodniejszy :) Dzięki :)
komentarz 20 października 2015 przez writen Nałogowiec (29,060 p.)
Spokojnie i nie wszystko na raz. Z czasem wszystko zrozumiesz. Wystarczy trochę praktyki.
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Dzięki za miłe słowo :)
+1 głos
odpowiedź 20 października 2015 przez Janusz92 Bywalec (2,150 p.)
A ja trochę nie na temat, ale pod tym linkiem: http://shiro.pe.hu/Other-file/js3/

Wylosowało mi się przysłowie "Papier jest cierpliwy: wszystko przyjmie".

Niestety w tabeli z literami nie ma dwukropka i nie byłem w stanie ukończyć gry pozytywnie :C.

Widziałem w innym hasłach, że takie znaki są podane od razu (np. przecinki, myślniki), rozumiem też, że haseł jest dużo, ale po prostu chciałem wskazać błąd :)

Istnieje jeszcze możliwość stworzenia przysłowia, które składa się ze wszystkich liter alfabetu. No ciężko mi tu o przykład z literą 'x' lub 'v', lecz chodzi mi o sytuacje, w której szansa na przegraną jest niemożliwa. Przykładowo wciskamy błędnie litery ź, ż, x, v. Czyli mamy 4 błędy, ale to jeszcze nie koniec gry. Szczęśliwie wszystkie pozostałe litery znajdują się w haśle do odgadnięcia. Dlatego przegrana w takiej sytuacji jest niemożliwa.

Ot tak chciałem poruszyć kwestię tego typu.
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Błąd został po prawiony, wydawało mi się że ustawiałem aby znak ':' był ignorowany czyli podawany od razu jednak w kodzie były dwa znaki ';' tak czy siak nie powinno być już tego problemu i dziękuje za poinformowanie mnie o błędzie.

Co do hasła z wszystkimi literami to oczywiście jest to możliwe nawet takie zdania mają swoją nazwę mianowicie pangram (wiki: https://goo.gl/oGRiqW) myślę jednak że nie ma potrzeby zajmować się tym gdyż wątpie aby były takie przysłowia lub rzeczy które planuje dodać, a nawet jeśli to po prostu będzie miał gracz szczęście :)
komentarz 20 października 2015 przez Janusz92 Bywalec (2,150 p.)
Okej :)

W sumie jak tak sobie myślę, to napisanie kodu, która dopuszcza do losowania tylko te hasła, w których da się popełnić błąd >=9 razy, nie powinno być takie trudne. Czyli w każdym haśle nie może być co najmniej 9 liter z tablicy... liter :) A to już może odrzucić nam jakąś część (w tym przypadku) przysłów.
komentarz 20 października 2015 przez Shiro Stary wyjadacz (10,300 p.)
Racja nie jest to trudne ale wydaje mi się że takie zabezpieczenie nie jest potrzebne jednak pomyślę jeszcze o tym.

PS. jeśli masz jakiś pomysł na inne kategorię pisz proszę na PW :)

Pozdrawiam!

Podobne pytania

0 głosów
2 odpowiedzi 3,875 wizyt
pytanie zadane 23 października 2015 w Nasze projekty przez Shiro Stary wyjadacz (10,300 p.)
+1 głos
1 odpowiedź 632 wizyt
pytanie zadane 22 lipca 2016 w JavaScript przez Gromixson Początkujący (260 p.)
0 głosów
3 odpowiedzi 2,466 wizyt
pytanie zadane 12 czerwca 2016 w JavaScript przez jelonek2006 Początkujący (420 p.)

92,568 zapytań

141,422 odpowiedzi

319,637 komentarzy

61,957 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...