Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][HTML]Quiz w JavaScript
deadmen4
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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


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

Ten post edytował deadmen4 19.05.2010, 15:37:41


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


[JAVASCRIPT] pobierz, plaintext
  1. var a = prompt("PYTANIE 1","");
  2. var ile=0;
  3. if('odpowiedz' == a) ile++;
[JAVASCRIPT] pobierz, plaintext


--------------------
Go to the top of the page
+Quote Post
deadmen4
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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


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

Ten post edytował deadmen4 19.05.2010, 16:35:51


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


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


Ten post edytował Wicepsik 19.05.2010, 16:54:30


--------------------
Go to the top of the page
+Quote Post
deadmen4
post
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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




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??


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
croc
post
Post #6





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


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.
Go to the top of the page
+Quote Post
deadmen4
post
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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


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

Ten post edytował deadmen4 19.05.2010, 19:01:08


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
croc
post
Post #8





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


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
Go to the top of the page
+Quote Post
deadmen4
post
Post #9





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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


Acha........ a da się jakoś prościej skrócić liczbę? Bo mam wyliczony procent i wywala 66.666666666666 Poprostu żeby to skócić.


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
croc
post
Post #10





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Jeszcze prościej? tongue.gif
Go to the top of the page
+Quote Post
deadmen4
post
Post #11





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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


ta guitar.gif


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
croc
post
Post #12





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


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.
Go to the top of the page
+Quote Post
deadmen4
post
Post #13





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 17.02.2010
Skąd: Gliwice

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


Ok suuper! thumbsupsmileyanim.gif Wszystko śmiga yahoo.gif


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 17:13