ďťż

Ładny brzuch

Witam!

Raczkuję w Javascript-cie i mam tutaj taką małą grę:
wybor=prompt("Minigra polegająca na zgadywaniu liczby wybranej losowo przez komputer - wybierz poziom trudnosci: 1) liczby 0-10 2) liczby 0-100 3) liczby 0-1000","tutaj wpisz numer poziomu trudnosci","asas") if(wybor==1) {moja_liczba=Math.floor(Math.random()*11); zakres="0-10"} else if(wybor==2) {moja_liczba=Math.floor(Math.random()*101); zakres="0-100"} else if(wybor==3) {moja_liczba=Math.floor(Math.random()*1001); zakres="0-1000"} else {alert("Podaj liczbę z zakresu 1-3! (Aby powtórzyć odwież stronę)");document.write("<p>odswież stronę, aby zagrać</p>")} liczba=prompt("Podaj jakąs liczbę z zakresu " +zakres+ " :"); strzal=(liczba==moja_liczba)?" trafiłes :)":" nie trafiles :(" document.write("<p>Wynik:" +strzal+ "<br> Moja liczba to: " +moja_liczba+ "</p>");

Jak widać, gdy wybierze się inny poziom trudności, niż 1-3, to wyskakuje alert, ale żeby wpisać poprawną wartość trzeba odświeżyć stronę.
No i właśnie - jak tego uniknąć? Jak powrócić do pierwszego prompt-a po wywołaniu alertu?
Taka funkcjonalność przydała by się również, aby zapytać użytkownika czy chce zagrać ponownie.



var wybor; while(wybor!=1 && wybor!=2 && wybor!=3) { wybor=prompt("Minigra polegająca na zgadywaniu liczby wybranej losowo przez komputer - wybierz poziom trudnosci: 1) liczby 0-10 2) liczby 0-100 3) liczby 0-1000","tutaj wpisz numer poziomu trudnosci","asas") switch(wybor) { case 1: moja_liczba=Math.floor(Math.random()*11); zakres="0-10" break; case 2: // itd break; } }
Użytkownik polasek edytował ten post 03 czerwiec 2008, 22:07
@polasek - Działa, ale do momentu wprowadzenia poprawnej liczby (1-3). Później ma się zacząć właściwa część gry, ale na wyjściu z pętli skrypt kończy swoje działanie :(

No przecież podalem ci tylko czesc skryptu... potem musiz dodac
liczba=prompt("Podaj jakąs liczbę z zakresu " +zakres+ " :"); strzal=(liczba==moja_liczba)?" trafiłes :)":" nie trafiles :(" document.write("<p>Wynik:" +strzal+ "<br> Moja liczba to: " +moja_liczba+ "</p>");
Użytkownik polasek edytował ten post 04 czerwiec 2008, 13:39


Aż taki głupi nie jestem :D
Dodałem i nie działa od zakończenia pętli while. Próbowałem też po tych case-ach dodać default, ale to nic nie daje.

<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>Test</title> </head> <body> <script type="text/javascript"> var wybor; var zakres; var moja_liczba; var liczba; while(wybor!=1 && wybor!=2 && wybor!=3) { wybor=prompt("Minigra polegająca na zgadywaniu liczby wybranej losowo przez komputer - wybierz poziom trudnosci: 1) liczby 0-10 2) liczby 0-100 3) liczby 0-1000","tutaj wpisz numer poziomu trudnosci","asas") switch(wybor) { case '1': moja_liczba=Math.floor(Math.random()*11); zakres="0-10"; break; case '2': moja_liczba=Math.floor(Math.random()*101); zakres="0-100"; break; case '3': moja_liczba=Math.floor(Math.random()*1001); zakres="0-1000" break; } } var strzal; strzal=false; liczba=prompt("Podaj jakąs liczbę z zakresu " +zakres+ " :"); if(liczba==moja_liczba) { document.write("Trafiłeś :)"); strzal=true; } else document.write("Nie trafiłeś :("); document.write("<p>Wynik:" +strzal+ "<br> Moja liczba to: " +moja_liczba+ "</p>"); </script> </body> </html>

Wielkie dzięki, przestudiuję to :]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •