este tip spanzuratoare........dar nu ink nu ma pricep foarte bine in c++ asa k verifica tot cuvantul si nu litera cu litera.....sunt intrebari destul de grele dar am pus la fiecare cate un hint;
este versiunea 1 deci nu este cine stie ce,are numai cateva cuvinte(24)mai precis....voi reveni cu versiunea 2 peste cateva zile
dragut...daca spui ca progu tau compara cuv cu cuv inseamna ca folosesti strcmp();.daca vrei sa compari litera cu litera incarca literele cuvantului intr'un vector de tip char si compari litera introdusa cu cele din vector... ps: mi'a placut desenul
LE: sugestie: dc nu faci o lista separata de ex cuvinte.txt de unde sa citesti pe rand cuv si descrierea acestora?asa ai avea un inventar mai mare...bineinteles ca un dumitru s'ar putea uita in ea daca nu ar stii sa rasp dar asta tine de alta prb... pps:ai postat gresit.trebuia pus la programare
Un jok – poza de the*O.n.E*AnaKonD, in Hacking tools · 11.5KB
Un jok – poza de the*O.n.E*AnaKonD, in Hacking tools · 11.5KB
#5
Soparla Grand Master Din: banii mei..
Postari: 246
Jocul asta al tau e o combinatie intre trivia si spanzuratoarea,la spanzuratoarea ar trebui sa nu iti dea nici unu indiciu referitor la literele cuvantului,doar prima si ultima litera si in cazul in care ele mai apar si in interiorul cuvantului,tu pentru hintul companie tu dai cuvantul *i**o*o*t,ar trebui sa dai m*******t si dupa aia pui
Code:
incercari_gresite=0;
while (incercari_gresite<7)
{char lit; int ok=0;
cout<<"Litera:"; cin>>lit;
for (int i=0;i<=strlen(cuvant)-1;i++)
if (cuvant[i]==lit) ok=1;
if (ok==1)
{cout<<cuvant[0];
for (i=0;i<=strlen(cuvant)-2;i++)
if (cuvant[i]==lit) cout<<lit;
else cout<<"*";
cout<<cuvant[strlen(cuvant)-1];
}
else incercari_gresite++;
}
dupa aia daca vrei sa mai dezvolti ai putea sa pui fiecare litera citita intr-un vector si in cazul in care cel care joaca repeta litera sa ii dea un mesaj "Litera a mai fost incercata." Daca nu ai inteles ce am vrut sa spun astept intrebari.
Soparla Grand Master Din: banii mei..
Postari: 246
andrewboy a scris:
btw Nu ai spus parerea despre jok...
Pentru inceput e bine,pe parcurs o sa mai inveti si vectori/matrici si o sa il faci mai complex sper.
andrewboy a scris:
te rog sa explici si daca poti sa dai exemplu complet cu un cuvant...tx
ti-am explicat asta pentru cuvantul microsoft incercari_gresite=0; while (incercari_gresite<7) numarand pe desen dupa fiecare incercare gresita am observat ca iti poti permite maxim 7 incercari gresite rolul while-ului e sa execute intructiunile cat timp nu am depasit numarul de incercari gresite permise int ok=0; cout<<"Litera:"; cin>>lit; for (int i=0;i<=strlen(cuvant)-1;i++) if (cuvant[i]==lit) ok=1;
ok o sa devina 1 in momentul cand am gasit litera data de cel care joaca in cuvant int i=0 si nu i=1 pentru ca in cazul sirurilor de caractere primul element se afla pe pozitia 0,strlen(cuvant)-1...strlen(parametru) e functia pentru determinarea lungimii sirului parametru adica numarul de caractere din care e format si -1 pentru ca am inceput de la 0 parcurgerea cuvantului ai spus ca nu stii vectori hai sa iti explic "babeste" cum lucreaza for-ul deci cuvantul e microsoft....cuvant o sa aiba "valoarea" "microsoft" pentru ca e de tip char..cuvant[0] (se citeste cuvant de 0) o sa fie litera "m",cuvant[1] o sa fie "i",cuvant[2] va fi "c" s.a.m.d pana cand ajunge la ultima litera care va fi pe pozitia 8..o sa te intrebi de ce pozitia 8 daca cuvantul are 9 litere..pentru ca am pornit de la 0..deci forul ia litera cu litera a cuvantului si o compara cu cea data de jucator,in momentul in care a gasit prima litera egala cu litera memorata prin variabila "lit" ok va deveni 1 if (ok==1) {cout<<cuvant[0]; for (i=0;i<=strlen(cuvant)-2;i++) if (cuvant[i]==lit) cout<<lit; else cout<<"*"; cout<<cuvant[strlen(cuvant)-1]; }
daca ok are valoarea 1(am gasit cel putin o aparitie a literei respective in cuvant) inseamna ca e o incercare reusita si reafisez pe ecran cuvantul dar refacut....daca la inceput era m*******t si sa zicem ca el ar fi incercat litera "o",ea gasindu-se in cuvant a refacut cuvantul pe ecran si va apare m***o*o*t else incercari_gresite++;
daca ok nu a fost 1 inseamna ca incercarea a fost gresita,deci creste numarul incercarilor gresite prin incercari_gresite++ (se putea pune si incercari_gresite=incercari_gresite+1)
Soparla Grand Master Din: banii mei..
Postari: 246
Daca ai de gand sa pui asta intr-o viitoare versiune e vreunui joc de-al tau mai trebuie pusa o paranteza acolo in while pentru ca,tu poate ai ghicit deja cuvantul fara sa fi facut 7 incercari gresite si o sa iti ceara litera pana gresesti de 7 ori si nu mai treci la cuvantul urmator,ai nevoie de un vector in care sa pui literele citite,asta o sa te ajute si in cazul in care litera a mai fost incercata si la verificarea de cuvant ghicit,dar..iar te lovesti de problema vectorilor..incearca sa-i inveti,eu revin cu un edit cu ceea ce ai exact de modificat la while-ul ala numai ca trebuie sa stii si tu ce se intampla acolo.
ok am inteles ce miai explicat tu,ms ,asta este peste cateva spatamani voi incerk sa invat vectorii dar deokamdata e destul ....dar se pare k nu vrea sami compileze,nu stiu dc......cred k d l compilator ,folosesc dev-c++
tw8 Elite Member Din: Drobeta Turnu Severin
Postari: 1087
@andrewboy: Felicitari, vad ca ai inceput sa "evoluezi" din ce in ce mai repede si ca a inceput sa iti placa mult c++.Felicitari pentru jocuri, si sa iti dau un sfat: nu trebuie sa astepti atat ca sa inveti vectorii, deoarece nu sunt grei. Totusi, este alegerea ta cand te vei apuca de invatat vectorii. Mult succes in continuare
ms mult tw8 dar vreau sa scot versiunea 2 daca spui k nus grei vectorii spre sf saptamanii k akuma nu pot k am teza unik .....(is in a 7a) ,daca am nevoie de ajutor sper s nu te superi daca til cer....