Sunteți pe pagina 1din 2

Programare Windows I.

Visual C++

Tema 2

Tema 2
(60 puncte)
S se realizeze un test cu ntrebri de cultur general, test de tipul "Vreau sa fiu milionar". Descriere: Dup completarea cmpului nume, la nceperea unui joc nou, juctorul va primi cte o ntrebare dintr-un set de ntrebri grupate pe categorii. Categoriile din care se genereaz ntrebrile trebuie s fie selectate n prealabil. Pentru fiecare ntrebare se vor oferi 4 variante de raspuns. Fiecare ntrebare trebuie s aib rspuns unic. Pentru fiecare ntrebare trebuie s existe un timp limit. Juctorul poate folosi i trei variante ajuttoare. Acestea sunt: a) Calculatorul - eliminarea a dou variante (din cele incorecte) b) Publicul afiarea sub form grafic a rezultatelor primite de la public (se vor genera automat rspunsuri se vor utiliza probabiliti) c) Prietenul se va simula un apel teleonic i se va anuna un raspuns (se vor utiliza probabiliti). Se pot afia mai muli prieteni, n dreptul fiecruia trecndu-se i ocupaia. Probabilitatea ca rspunsul dat de acesta s fie corect trebuie s fie legat de apropierea dintre domeniul ntrebrii i cel n care activeaz prietenul. Pentru fiecare rspuns corect juctorul acumuleaz un anumit punctaj. Acesta se poate retrage n orice moment, rmnnd cu punctele acumulate pana la momentul respectiv. Daca decide s rspund la ntrebare i d un rspuns greit, jocul s -a ncheiat i acesta rmne cu ultimul punctaj garantat (prag). Pragurile pot fi, de exemplu: 0,1000, 5000,10000, 25000,50000,75000,100000. Aplicaia trebuie s aib un meniu principal i o bar de instrumente. n meniu trebuie s se regseasc comenzile (se pot aduga i altele): joc nou - creaz un joc nou pe baza ultimelor configurri sau pe baza celor implicite; configurare joc - se va permite iniializarea valorilor pentru: categoriile cu ntrebri, timpul pentru fiecare ntrebare, valorile pragurilor (punctajele garantate); dificultate - permite alegerea dintre : nceptor, mediu, avansat (se genereaz ntrebri corespunztoare nivelului selectat i da timpul corespunztor alocat unei ntrebri); clasament - afieaz o fereastra cu primii 10 useri (n ordine descresctoare a scorului); pe lng scor se va afia nivelul de dificulate i data (trebuie s apar valori de tipul: acum 10 minute sau acum 5 zile sau acum 2 sptmni sau acum 6 luni etc); aceast fereastr trebuie s ofere posibilitatea de tergere a tuturor userilor din list; despre - apare o fereastr ce afieaz numele autorilor aplicaiei; ieire - se nchide aplicaia Acestea trebuie s se regseasc i pe bara de instrumente. Informai suplimentare vor fi date n cadrul orelor de curs i laborator.

Programare Windows I. Visual C++

Tema 2

Observaii: la realizarea proiectului se poate lucra i n echip; proiectele identice/asemntoare vor fi penalizate.

Barem (100a+50b+50c): realizare interfa (20a) implementare creare/configurare joc (10a+5b) o interfa fereastr configurare (10a) o scriere/citire valori parametri configurare n fiier (5b) implementare afiare rezultate (15a) o interfa fereastr afiare rezultate (10a) o citirea rezultatelor din fiier (5a) implementare operaie citire ntrebare din fiier (5b) implementare algoritm generare ntrebri(10a+20b) o generare ntrebri funcie de categoriile selectate (5a+10b) o generare ntrebri funcie de nivelul de dificultate selectat (5a+10b) desenare interfeei cu utilizatorul (20a+15b +10c) o desenare enun ntrebare (10a) o desenare scor (10b+5c) o desenare variante rspunsuri (10a+5b) o desenare variante ajuttoare (5c) implementare variante ajuttoare (10a+5c) o calculatorul (3a+1c) o publicul (3a+2c) o prietenul (4a+2c) implementare management scor (20c) recunoasterea (la selecie) a unui raspuns corect (5b) afiare timp scurs i/sau timp rmas (5a+5c) implementare sfrit joc (10a+10c) o determinare sfrit joc(5a) o salvare informaii user dac este cazul (5a+10c)

Punctaj: N=min{30,N1}+min{15,N2}+min{15,N3} unde N1=(nrumrul de a)* (numrul de membri ai echipei) N2=(nrumrul de b) * (numrul de membri ai echipei) N3=(nrumrul de c) * (numrul de membri ai echipei) iar (1)= 0.4, (x)= 0.6/x pentru x2

Termen de predare: ultima sptmn de cursuri (cel trziu la ultimul laborator) 2