Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Quiz w JavaScript
Forum PHP.pl > Forum > Przedszkole
deadmen4
Witam,

Chcę zrobić quiz w javascript oparty na funkcji prompt

10 pytań. Wygląda to tak:

Pytanie... wpisujemy odpowiedź (prawidłowa musiała by być chyba dla każdego pytania w zmiennej zapisana)
Następne...
itd

Po ostatnim pytaniu wyświetlony PROCENT poprwnych odpowiedzi (funkcją alert).

Nie wiem tylko, jak to przygotować... sadsmiley02.gif

Chyba dla każdego pytania przypisać osobną zmienna, a na końcu porównanie zmiennych z prawidłowymi odpowiedziami dla każdej z nich i wyliczenie procenta.

WAŻNE aby używać html i javascript niestety, nic więcej.

Mógłbym prosić o pomoc jak się za to zabrać, jak te zmienne zrobić sad.gif(( ..


pozdrawiam
Wicepsik
[JAVASCRIPT] pobierz, plaintext
  1. var a = prompt("PYTANIE 1","");
  2. var ile=0;
  3. if('odpowiedz' == a) ile++;
[JAVASCRIPT] pobierz, plaintext
deadmen4
Dzięki wielkie. Prawde mówiąc, sam trochę też pomyślałem i wyprodukowałem to też inaczej.

Powiedzcie, które lepsze:

1.

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. <script type="text/javascript">
  3.  
  4. var ile=0;
  5. var a = prompt("PYTANIE 1");
  6.  
  7.  
  8. if(a==1) {ile++ }
  9.  
  10. var b = prompt("PYTANIE 2");
  11.  
  12.  
  13. if(b==2) {ile++}
  14.  
  15. var c = prompt("PYTANIE 3");
  16.  
  17.  
  18. if(c==3) {ile++}
  19.  
  20.  
  21.  
  22. var suma=(ile)/3*100
  23.  
  24. alert("Twoj wynik to: " + [suma] );
  25.  
  26. </script>
  27.  
[JAVASCRIPT] pobierz, plaintext


Ten napisałem na podstawie postu Wicepsika

2.

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. <script type="text/javascript">
  3.  
  4.  
  5. var pyt1= prompt("Pytanie 1");
  6. var pyt2= prompt("Pytanie 2");
  7. var pyt3= prompt("Pytanie 3");
  8.  
  9. if (pyt1==1) {
  10.  
  11. var odp1=1
  12.  
  13. }
  14.  
  15. else {
  16.  
  17. var odp1=0
  18. }
  19.  
  20. if (pyt2==2) {
  21.  
  22. var odp2=1
  23.  
  24. }
  25.  
  26. else {
  27.  
  28. var odp2=0
  29. }
  30.  
  31. if (pyt3==3) {
  32.  
  33. var odp3=1
  34.  
  35. }
  36.  
  37. else {
  38.  
  39. var odp3=0
  40. }
  41.  
  42. var suma=(odp1+odp2+odp3)/3*100;
  43.  
  44.  
  45. alert("Twoj wynik to: " + suma);
  46.  
  47. </script>
  48.  
  49.  
[JAVASCRIPT] pobierz, plaintext


Ten napisałem sam, jeszcze nim dostałem odpowiedź w tym temacie.

Oba są podobne, i oba działają. Tylko który wziąśćquestionmark.gif blinksmiley.gif blinksmiley.gif
Wicepsik
Przeanalizuj sobie ten skrypt

[JAVASCRIPT] pobierz, plaintext
  1. var p = new Array(); // Pytania
  2. var o = new Array(); // Odpowiedzi
  3. p[0] = 'To jest pytanie 1';
  4. o[0] = '1';
  5.  
  6. p[1] = 'To jest pytanie 2';
  7. o[1] = '2';
  8.  
  9. var ile=0;
  10. for (x in p){
  11. if(o[x] == prompt(p[x])) ile++;
  12. }
  13. alert('Dobre odpowiedzi: '+(Math.round(ile/p.length*100)));
[JAVASCRIPT] pobierz, plaintext
deadmen4


sciana.gif sciana.gif blinksmiley.gif blinksmiley.gif

Nie no to mnie przerasta haha.gif

Uczciwie to nic nie kapuje.

Tak btw. to do szkoły i musz umieć to wytłumaczyć..... może być jeden z tych dwóch??
croc
Ja bym zrobił inaczej:
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. var quiz = new Array(
  3. 'Kto odkrył Amerykę?' => 'Krzysztof Kolumb',
  4. 'Co pływa po wodzie i kaczka się nazywa?' => 'kaczka',
  5. 'Jaki kolor mają twoje zęby?' => 'żółty'
  6. // itd.
  7. );
  8.  
  9. correctAnswers = 0;
  10.  
  11. for (question in quiz){
  12. if(quiz[question] == prompt(question, ''))
  13. ++correctAnswers;
  14. }
  15.  
[JAVASCRIPT] pobierz, plaintext


Poczytaj o Array. Dzięki nim będziesz mógł łatwo dodawać/usuwać pytania bez ciągłego powtarzania kodu.
deadmen4
dobra jakoś sobie poradze. Dzięki wszystkim, ale jeszcze mam takie 2 pytanka:

1. Jak wyświetlić alert w postaci: blabla zmienna blabla

Mam:

alert("Twoj wynik to: " + suma);


A za 'sumą' ma być jeszcze tekst.... jak go wpisać.? Bo róznie próbowałem ale nie idzie.... sad.gif


2. Jak zaokrąglić wynik do iluś miejsc po przecinku w javascript?? Bo w php to:

echo round($liczba, 1)

A w javie..... dry.gif winksmiley.gif
croc
Proszę, nie mów nigdy Java na JavaScript. One nie mają z sobą NIC wspólnego (poza nazwą).

[JAVASCRIPT] pobierz, plaintext
  1. alert('tekst ' + zmienna + ' dalszy tekst');
[JAVASCRIPT] pobierz, plaintext


a jeśli chodzi o zaokrąglenie, to JavaScript nie ma funkcji zaokroąglającej do X miejsc po przecinku, ale możesz własną funkcję, np.:

[JAVASCRIPT] pobierz, plaintext
  1. function roundTo(value, places) {
  2. var base = Math.pow(10, places);
  3. return Math.round(value * base) / base;
  4. }
  5.  
  6. alert('Test: 63.8372 zaokrąglone do 2 miejsc po przecinku to: ' + roundTo(63.8372, 2));
[JAVASCRIPT] pobierz, plaintext


Mam nadzieję, że działa, bo nie chce mi się sprawdzać smile.gif
deadmen4
Acha........ a da się jakoś prościej skrócić liczbę? Bo mam wyliczony procent i wywala 66.666666666666 Poprostu żeby to skócić.
croc
Jeszcze prościej? tongue.gif
deadmen4
ta guitar.gif
croc
No to weź po prostu np. dla dwóch miejsc:
[JAVASCRIPT] pobierz, plaintext
  1. Math.round(procent * 100) / 100;
[JAVASCRIPT] pobierz, plaintext

Jak ma być 1 miejsce, to zamiast tych dwóch setek dajesz dwie dziesiątki.
deadmen4
Ok suuper! thumbsupsmileyanim.gif Wszystko śmiga yahoo.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.