Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wyciągnąć hasło z funkcji?
soliniak
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 8.08.2009

Ostrzeżenie: (0%)
-----


Cześć,

Mam coś takiego

  1. function losowanie()
  2. {
  3. var wylosowana_liczba = Math.round(Math.random() * 3);
  4. wylosowane_haslo = motto[wylosowana_liczba];
  5.  
  6. alert(wylosowane_haslo);
  7. }
  8.  
  9. var haslo = wylosowane_haslo;
  10.  
  11. +
  12.  
  13. <div id="losowanie" onclick="losowanie();">LOSUJ</div>


Jak zrobić żeby wartość hasła była równa "wylosowane_haslo"?
W tej chwili otrzymuję błąd "wylosowane_haslo is not defined"...

Wiem że to podstawy ale dopiero próbuję to ogarniać, a nigdzie nie mogę znaleźć odpowiedzi na pytanie.
Dziękuje i pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
soliniak
post
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 8.08.2009

Ostrzeżenie: (0%)
-----


Dziwna sprawa....

Wytłumaczę od początku.
Robiłem z tutorialem grę w wisielca.
Całość poszła dość sprawnie.
Miałem hasło do odgadnięcia wpisane na sztywno.
Hasło było zakreskowane.
Po kliknięciu odpowiedniej litery alfabetu jeśli literka znajdowała się w haśle to się odkrywała.
Pięknie.
Teraz chcąc ulepszyć projekt chcę dodać wybór kategorii + automatyczne losowanie hasła z danej kategorii.
Myślałem że wystarczy podmienić

var haslo = "Ala ma kota";

na

var haslo = wylosowane_haslo_z_funkcji;

Tylko że nie chce mi to działać :/
Po kliknięciu w div'a LOSUJ, hasło się niby losuje, ale nie wyświetla się na ekranie, jak chcę żeby się wyświetliło na ekranie to nie jest zakreskowane i dodatkowo po kliknięciu w prawidłowe literki jest błędna reakcja (tj. kliknięcie w złą literkę)
Załączam cały kod. Może ktoś pomoże.

index.htm
  1. <!DOCTYPE HTML>
  2. <html lang="pl">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>Szubienica</title>
  6. <script type="text/javascript" src="wisielec.js"></script>
  7. <link rel="stylesheet" type="text/css" href="style.css" />
  8. <link href="https://fonts.googleapis.com/css?family=Cousine" rel="stylesheet">
  9. </head>
  10. <body>
  11. <div id="pojemnik">
  12. <div id="plansza"></div>
  13. <div id="szubienica">
  14. <img src="img/s0.jpg" alt="" />
  15. </div>
  16. <div id="alfabet"></div>
  17. <div style="clear: both"></div>
  18. </div>
  19. <div id="losowanie" onclick="haslo = losowanie();">LOSUJ</div>
  20.  
  21.  
  22. </body>
  23. </html>



wisielec.js

  1. var kategorie = new Array(3);
  2.  
  3. kategorie[0] = "przyslowia";
  4. kategorie[1] = "cytaty";
  5. kategorie[2] = "motto";
  6.  
  7. var ilosc_kategorii = kategorie.length;
  8.  
  9.  
  10. var przyslowia = new Array(3);
  11.  
  12. przyslowia[0] = "przyslowia Ala ma kota";
  13. przyslowia[1] = "przyslowia Gość w domu dziecko w drodze";
  14. przyslowia[2] = "przyslowia Być albo nie być oto jest pytanie";
  15.  
  16. var cytaty = new Array(3);
  17.  
  18. cytaty[0] = "cytaty Ala ma kota";
  19. cytaty[1] = "cytaty Gość w domu dziecko w drodze";
  20. cytaty[2] = "cytaty Być albo nie być oto jest pytanie";
  21.  
  22. var motto = new Array(3);
  23.  
  24. motto[0] = "Motto Ala ma kota";
  25. motto[1] = "Motto Gość w domu dziecko w drodze";
  26. motto[2] = "Motto Być albo nie być oto jest pytanie";
  27.  
  28. var haslo = "";
  29.  
  30. function losowanie()
  31. {
  32. var wylosowana_liczba = Math.floor(Math.random() * 3);
  33. wylosowane_haslo = motto[wylosowana_liczba];
  34.  
  35. haslo = wylosowane_haslo;
  36. document.getElementById("plansza").innerHTML = haslo;
  37.  
  38. wypisz_haslo();
  39. return wylosowane_haslo;
  40. }
  41.  
  42.  
  43.  
  44.  
  45. haslo = haslo.toUpperCase();
  46.  
  47. var dlugosc= haslo.length;
  48.  
  49. var haslo1 = "";
  50.  
  51. var ile_skuch = "0";
  52.  
  53. var yes = new Audio('yes.wav');
  54. var no = new Audio('no.wav');
  55.  
  56.  
  57. for (i = 0; i<dlugosc; i++)
  58. {
  59. if (haslo.charAt(i) == " ") haslo1 = haslo1 +" ";
  60. else haslo1 = haslo1 + "-";
  61. }
  62.  
  63. var litery = new Array(35);
  64.  
  65. litery[0] = "A";
  66. litery[1] = "Ą";
  67. litery[2] = "B";
  68. litery[3] = "C";
  69. litery[4] = "Ć";
  70. litery[5] = "D";
  71. litery[6] = "E";
  72. litery[7] = "Ę";
  73. litery[8] = "F";
  74. litery[9] = "G";
  75. litery[10] = "H";
  76. litery[11] = "I";
  77. litery[12] = "J";
  78. litery[13] = "K";
  79. litery[14] = "L";
  80. litery[15] = "Ł";
  81. litery[16] = "M";
  82. litery[17] = "N";
  83. litery[18] = "Ń";
  84. litery[19] = "O";
  85. litery[20] = "Ó";
  86. litery[21] = "P";
  87. litery[22] = "Q";
  88. litery[23] = "R";
  89. litery[24] = "S";
  90. litery[25] = "Ś";
  91. litery[26] = "T";
  92. litery[27] = "U";
  93. litery[28] = "V";
  94. litery[29] = "W";
  95. litery[30] = "X";
  96. litery[31] = "Y";
  97. litery[32] = "Z";
  98. litery[33] = "Ź";
  99. litery[34] = "Ż";
  100.  
  101.  
  102. function start()
  103. {
  104.  
  105. var tresc_diva = "";
  106.  
  107. for (i = 0; i<=34; i++)
  108. {
  109. var element = "lit"+i;
  110. tresc_diva = tresc_diva + '<div class="litera" id="'+element+'" onClick="sprawdz('+i+')">'+litery[i]+'</div>';
  111. if ((i + 1) % 7 == 0) tresc_diva = tresc_diva + '<div style="clear: both"></div>';
  112.  
  113. }
  114.  
  115. document.getElementById("alfabet").innerHTML = tresc_diva;
  116.  
  117.  
  118. }
  119.  
  120.  
  121.  
  122. function wypisz_haslo()
  123. {
  124.  
  125. document.getElementById("plansza").innerHTML = haslo1;
  126.  
  127. }
  128.  
  129. String.prototype.ustawZnak = function (miejsce, znak)
  130. {
  131. if (miejsce > this.length -1) return this.toString();
  132. else return this.substr(0, miejsce) + znak + this.substr(miejsce + 1);
  133. }
  134.  
  135. function sprawdz(nr)
  136. {
  137. var trafiona = false;
  138. for (i = 0; i<dlugosc; i++)
  139. {
  140. if (haslo.charAt(i) == litery[nr])
  141. {
  142. haslo1 = haslo1.ustawZnak(i, litery[nr]);
  143. trafiona = true;
  144. }
  145. }
  146.  
  147. if(trafiona == true)
  148. {
  149. yes.play();
  150. var element = "lit" +nr;
  151. document.getElementById(element).style.background = "#003300";
  152. document.getElementById(element).style.color = "#00ff00";
  153. document.getElementById(element).style.border = "3px solid #00ff00";
  154. document.getElementById(element).setAttribute("onclick",";");
  155. wypisz_haslo();
  156. }
  157. else
  158. {
  159. no.play();
  160. var element = "lit" +nr;
  161. document.getElementById(element).style.background = "#330000";
  162. document.getElementById(element).style.color = "#ff0000";
  163. document.getElementById(element).style.border = "3px solid #ff0000";
  164. document.getElementById(element).setAttribute("onclick",";");
  165.  
  166. ile_skuch++;
  167. var link = "img/s"+ile_skuch+".jpg";
  168. var obrazek = "<img src='"+link+"' alt='' />";
  169.  
  170. document.getElementById("szubienica").innerHTML = obrazek;
  171.  
  172.  
  173.  
  174. }
  175.  
  176. if(haslo == haslo1)
  177. {
  178. document.getElementById('alfabet').innerHTML = 'Gratulacje, wygrałeś!<br /><br /> <span class="btn_reset" onclick="location.reload()">Jeszcze raz!</span>';
  179.  
  180. }
  181. if(ile_skuch >= 9)
  182. {
  183. document.getElementById('alfabet').innerHTML = 'Przegrana! <br />Prawidłowe hasło: <br/>'+haslo+'<br /><br /> <span class="btn_reset" onclick="location.reload()">Jeszcze raz!</span>';
  184. }
  185.  
  186. }
  187.  
  188.  
  189.  
  190.  
  191.  
  192. window.onload = start;
  193.  


Dziękuję i pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie
- soliniak   Jak wyciągnąć hasło z funkcji?   28.10.2016, 10:36:33
- - nospor   Wypadaloby wpier wypelnic tablice motto danymi....   28.10.2016, 10:38:16
- - soliniak   Wszystko jest var motto = new Array(3); motto[0...   28.10.2016, 10:49:55
- - nospor   Kodfunction losowanie() { var wylosowana_l...   28.10.2016, 10:53:00
- - soliniak   Ułatwię. [PHP] pobierz, plaintext  var motto...   28.10.2016, 10:58:45
- - nospor   Nie ulatwiles. Nadal nie wiem co wyswietlaja alert...   28.10.2016, 11:00:53
- - soliniak   Alerty wyświetlają odpowiednio nr. wylosowany prze...   28.10.2016, 11:05:37
- - nospor   Kodvar motto = new Array(3); motto[0...   28.10.2016, 11:07:55
|- - rafkon1990   Cytat(nospor @ 28.10.2016, 12:07:55 )...   28.10.2016, 11:12:22
- - soliniak   Ale jak podpiąć do tego div'a z onclick? Cho...   28.10.2016, 11:37:50
- - nospor   rety.... <div id="losowanie" onclick...   28.10.2016, 12:03:52
- - soliniak   Dziwna sprawa.... Wytłumaczę od początku. Robiłem...   28.10.2016, 13:00:51
- - Comandeer   CytatRobiłem z tutorialem grę w wisielca. A ja wci...   28.10.2016, 14:01:02
- - soliniak   Możesz podać jakiś przykład? Nie jestem w stanie z...   28.10.2016, 15:42:58
- - Comandeer   Kodfor (i = 0; i<dlugosc; i++) { if ...   28.10.2016, 16:22:44
- - soliniak   Zacząłem jeszcze raz i potrzebuję żeby mi ktoś to ...   31.10.2016, 11:28:00
- - Comandeer   Bo po kliknięciu w przycisk wylosowane hasło nie j...   31.10.2016, 11:35:37
- - soliniak   Dokładnie :/ Co/jak zrobić żeby się przypisywało?   31.10.2016, 11:37:20
- - Comandeer   Najlepiej zrobić to w sposób cywilizowany: https:/...   31.10.2016, 12:17:29
- - soliniak   Dzięki za pomoc   9.11.2016, 08:25:03


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:52