Quiz - co jeszcze zrobić?

0

Witam.
Chciałbym się was poradzić co jeszcze dodać do Quizu.. Na razie mam, że pytania losowane są losowo.. A na końcu quizu jest wyświetlana ilość poprawnych odpowiedzi i ocena :) Co jeszcze można by zrobić..?

0

Zrób tak, aby pytania się nie powtarzały (chyba, że już tak jest).

0
ProProgramer napisał(a)

Na razie mam, że pytania losowane są losowo..

Wyszło masło maślane - skoro losowane to zapewne losowo;

Zbyt wiele nie masz w tym quiz'ie; Z resztą nie podałeś kłizu w załączniku, więc skąd mamy wiedzieć co masz, a co jeszcze można dodać?

Ogólnie to możesz dodać miliard rzeczy na miliard sposobów; Wszystko zależy od tego co byś chciał żeby się tam znalazło i co umiałbyś zaprogramować;

Nie wiemy o Twoim programie nic, :

  1. jest to aplikacja konsolowa czy okienkowa?
  2. jeśli konsolowa, to w trybie tekstowym czy graficznym?
  3. jeśli w trybie graficznym, to jak wygląda interfejs?
  4. jeśli w okienkowym, to jakie komponenty wchodzą w skład formularza?
  5. ile pytań liczy zestaw?
  6. z jakiej dziedziny są pytania w zestawie?
  7. jakie jest prawdopodobieństwo powtórzenia pytania?
    To tylko kilka pytań postawionych spontanicznie;

Nie podałeś praktycznie żadnych informacji o Twoim projekcie, więc można jedynie spekulować; Pokaż choćby skriny jeśli nie chcesz przedstawić całej aplikacji (w sumie to możnaby się trochę pobawić w zgadywanki), a pewnie dostaniesz więcej podpowiedzi;


Ode mnie sugestia: pozwól użytkownikowi wybrać nie dość, że zestaw pytań to jeszcze dziedzinę, z której będą zadawane pytania, a także umieść w jednym zestawie tyle pytań, żeby się w jednym dniu nie powtórzyły; Czyli zrób ich w cholerę :]

0

Mam wrażenie, że jak ProProgramer pokaże źródło to znowu będzie śmiesznie.
Moja sugestia rozwijająca tą wyżej. Nadaj pytaniom numerki i zapisuj które pytanie już było, a podczas losowania kolejnego sprawdzaj czy takie już było wylosowane jeśli tak to losuj dalej jeśli nie to zadaj pytanie, a jeśli wszystkie już były wylosowane to wylicz i podaj wynik. Unikniesz wymyślania milionów pytań jednak jeśli umieścisz w quizie 5 pytań to będzie on bardzo krótki. Myślę że optymalna liczba to około 30 pytań na zestaw 10 zestawów na dziedzinę i około 10 dziedzin, co jak by nie patrzeć da 3000 pytań, więc 2 podpowiedzi odnośnie wymyślania pytań:

  1. Encyklopedia i jedziesz.
  2. Poszukaj quizów w necie i zerżnij pytania.

Aha żeby kod źródłowy programu nie zawierał 1231234234235 linii oraz nie zżerał gigabajtów pamięci to pytania umieść w pliku i wczytuj tylko te które są akurat potrzebne (odpowiednia dziedzina i odpowiedni zestaw). Podpowiedź:

Typ rekordowy

TPytanie = record
  Pyt : String;
  odp : array [1..x] of String;
  popr : Byte;
end;

// x - liczba odpowiedzi (4 odpowiedzi na pytanie zamiast x wpisz 4)
// popr - numer odpowiedzi która jest poprawna

Uch dużo się rozpisałem i jak tak dalej pójdzie to gotowca napisze xD

PS

W sumie dobry pomysł by się trochę nauczyć, a ponieważ mam zamiar nauczyć się C++ to napisze taki quiz w C++ w okienku konsoli :D

0
babubabu napisał(a)

Moja sugestia rozwijająca tą wyżej. Nadaj pytaniom numerki i zapisuj które pytanie już było, a podczas losowania kolejnego sprawdzaj czy takie już było wylosowane jeśli tak to losuj dalej jeśli nie to zadaj pytanie, a jeśli wszystkie już były wylosowane to wylicz i podaj wynik.

Patryk27 napisał(a)

Zrób tak, aby pytania się nie powtarzały (chyba, że już tak jest).

ProProgramer napisał(a)

już jest tak.:)

To już ma, więc nie ma co opisywać w jaki sposób można to wykonać :P

@babubabu, trochę dziwi mnie ten kod:

TPytanie = record
  Pyt : String;
  odp : array [1..x] of String;
  popr : Byte;
end;

Po co Ci macierz łańcuchów? Czyżbyś chciał odpowiadać całym zdaniem...? :]

Jeśli chodzi o pole popr to raczej deklarowałbym ją jako Boolean, bo po co tutaj pakować liczby? Odpowiedź albo jest poprawna, albo nie, stąd do tego typu zmiennych służy wartość ligiczna;

babubabu napisał(a)

a ponieważ mam zamiar nauczyć się C++ to napisze taki quiz w C++ w okienku konsoli

Koniecznie w trybie graficznym; Jak napiszesz coś to zaprezentuj, może @ProProgramer coś podpatrzy od Ciebie;

0

Nie wiem po co ci tyle wiedzieć.. I znać kod.. Ja nie potrzebuje abyście mi robili ten Quiz.. Potrzeba mi tylko abyscie doradzili co można w nim jeszcze dodać..

0
ProProgramer napisał(a)

Nie wiem po co ci tyle wiedzieć.. Potrzeba mi tylko abyscie doradzili co można w nim jeszcze dodać..

A no racja, po co mi to wiedzieć, jeszcze ukradnę Ci program i wysteruję Cię jak Saverin'a Zuckerberg; Uważak, bo miliardów się dorobię i nie podzielę się;

To napisz mi co mogę zrobić jeszcze przy aucie? To Volkswagen;

ProProgramer napisał(a)

no to napisałem.. Że sam losuje i wyświetla pytania z tablicy.. odpowiedz wpisuje sie z klawiatury..

Napisałeś tyle, że nie wiadomo w co ręce włożyć; Normalna epopeja;

babubabu napisał(a)

"Jak nazywał się Einstein?"

Mnie nie trzeba żadnych podpowiedzi do tego pytania; Einstein nazywał się Einstein :P

Teraz już wiem co miałeś na myśli; Ja nie wiedziałem, że chcesz to zrobić w ten sposób, że do pytania będą cztery odpowiedzi - autor podaje odpowiedź z klawiatury; Skoro chce zabłysnąć i sprawdzać łańcuchy to wystarczy zadeklarować taki rekord:

TQuestion = record
  Content,
  Answer,
  UserAnswer: String;
end;

I też będzie grało; Jeśli autor chce przechowywać pytania i odpowiedzi w plikach typowanych - trzeba ustalić długości łańcuchów;

babubabu napisał(a)

wpisywanie odpowiedzi z klawiatury nie jest dobrym pomysłem bo porównywanie 2 stringów jest ciężkie. musisz sprawdzić czy są odpowiedniej długości i czy wszystkie znaki się zgadzają a "a" nie jest równe "A".

Nie jest to aż takie trudne; Wystarczy ignorować polskie znaki diakrytyczne, a poźniej przygotowane łańcuchy sprawdzić funkcją np. SameText (brak rozróżniania dużych i małych liter) i gotowe;

Wszystko zależy od poziomu trudności quiz'u; Można by wprowadzić dwa tryby gry - prosty i zaawansowany; W tym pierwszym gracz wybiera jedną z np. czterech odpowiedzi, a w zaawansowanym podaje się odpowiedź z klawiatury;

Można dodać miliard rzeczy, ale trzeba wiedzieć co już jest; Autor nie pokaże aplikacji więc prędko się nie dowiemy;

0

A jak wczytujesz pytania? Podejrzewam, że można by w tej kwestii sporo dopracować. Wg mnie najwygodniej by było, gdybyś miał plik xml, tak by podmiana pytań/odpowiedzi mogła odbywać się w zwykłym notatniku.

Ale zależy też, czy program robisz dla siebie, żeby się z niego uczyć (wtedy łatwość podmiany pytań/odpowiedzi stawiałabym na pierwszym miejscu) czy też będziesz kogoś egzaminował :P W tym drugim przypadku, trzeba by jednak pomyśleć o bezpieczeństwie. Ja bym taki plik xml umieściła na serwerze i dała dostęp tylko po uwierzytelnieniu.

Nie znam jednak możliwości Pascala ;)

0

@aurel nie świruj :P ProProgramer nie umie poprawnie zastosować pętli for a Ty tu wyskakujesz z pobieraniem danych z serwera po uwierzytelnieniu xD

@Furious Programming znaki diakrytyczne :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1