chica87 (Normal User)
Newbie
Messaggi: 4
Iscritto: 19/06/2005
|
ciao a tutti!!!
Sto cercando il gioco dell'impiccato in linguaggio C....
qualcuno sa dove posso trovarlo???
se possibile anke una versione fatta con i file???
ciao e grazie in anticipo!
Sabry
|
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
Ultima modifica effettuata da pierotofy il 19/06/2005 alle 20:51
|
|
chica87 (Normal User)
Newbie
Messaggi: 4
Iscritto: 19/06/2005
|
no, quello l'avevo gi? visto, ma a me serve la versione in C non in C++ !!!!!!!
|
|
Zizzius (Honoris User)
Guru
Messaggi: 675
Iscritto: 28/02/2005
|
Non dimentichiamo che siamo nella sezione C...
A parte gli scherzi, mi dispiace ma non l'ho trovato in giro.
|
|
chica87 (Normal User)
Newbie
Messaggi: 4
Iscritto: 19/06/2005
|
vi "allego" un prototipo di programma del gioco...me lo mettete a posto??? uffa
ne avr? fatte 1000 versione nemmeno una funziona!
questo nn m stampa la parola con l'iniziale in mezzo i trattini e la finale, non m stampa l'omino altri errori....
please help me!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<conio.h>
#define num_parole 10
char word[20],res[20];
int end=0,score=0;
int menu()
{ int scelta=0;
clrscr();
printf("Menu, fai la tua scelta!");
printf("\n1)Gioca vs il pc.");
printf("\n2)Giocatore 1 vs Giocatore 2.");
printf("\n3)About il gioco...");
printf("\n4)Uscire dal gioco.");
scanf("%d",&scelta);
if ((scelta<1)||(scelta>4))
{ do
{ clrscr();
printf("\n!!! ERRORE !!!");
printf("\n Menu, fai la tua scelta!");
printf("\n1)Gioca vs il pc.");
printf("\n2)Giocatore 1 vs Giocatore 2.");
printf("\n3)About il gioco...");
printf("\n4)Uscire dal gioco.");
scanf("%d",&scelta);
}while((scelta<1)||(scelta>4));
}
return scelta;
}
void about()
{ clrscr();
printf("**************************\n");
printf("** Gioco dell'impiccato **\n");
printf("**************************\n");
getch();
}
void stampa_parola()
{
int i=0;
for (i=0;res!='\0';i++)
{printf("%c",res);}
}
int check_parola(char let)
{ int i=0, ok=0;
for (i=0;i<strlen(word)-1;i++)
{if (word==let);
{res=let;
score++;
ok=1;
}
}
if(ok==1)
return 1;
else
return 0;
}
void carica_parola()
{
int i=0;
res[0]=word[0];
for(i=1; i<strlen(word)-1; i++) {
res='-';
}
res[strlen(word)-1]=word[strlen(word)-1];
}
void stampa_omino(int casenum)
{
switch(casenum)
{
case 1:
printf("\n--\n"); break;
case 2:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
break;
case 3:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
printf(" -\n");
break;
case 4:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
printf(" -O\n");
break;
case 5:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
printf(" -O\n");
printf(" / \\\n");
break;
case 6:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
printf(" -O\n");
printf(" / \\\n");
printf(" |\n");
break;
case 7:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
printf(" -O\n");
printf(" / \\\n");
printf(" |\n");
printf(" /\n");
break;
case 8:
printf("\n");
printf("--\n");
printf(" |\n");
printf(" |\n");
printf(" -O\n");
printf(" / \\\n");
printf(" |\n");
printf(" / \\\n");
end=strlen(word)-2;
break;
}
}
void playgame(int option)
{clrscr();
int num=0, cont=0, doit=0, started=0, i=0;
char c, nome[20], nome2[20], buf[20];
FILE *fp;
time_t t;
system("clear");
printf("**********************\n");
printf("** Gioco Impiccato **\n");
printf("**********************\n");
if(option==1) {
printf("\n\n----- GIOCATORE vs COMPUTER -----\n");
printf("\nInserisci il nome del giocatore (max 20 char): ");
scanf("%s", nome);
printf("\nCOMPUTER: sto scegliendo la parola...\n");
fp=fopen("parole.txt", "r");
if(fp==NULL) {
printf("\nIMPOSSIBILE accedere al file! Riprovare!\n");
menu();
}
time(&t);
srand(t);
t=rand();
t=(t%num_parole);
switch(t) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
do {
c=fgetc(fp);
num=c-'0';
} while(num!=t && c!=EOF); break;
}
// copio la parola...
i=0;
for(; {
c=fgetc(fp);
if(c=='#')
break;
else
word=c;
i++;
}
fclose(fp);
printf("\nLettura parola fatta!!\n");
}
if(option==2) {
printf("\n\n----- GIOCATORE1 vs GIOCATORE2 -----\n");
printf("\nInserisci il nome del giocatore1 (max 20 char): ");
scanf("%s", nome);
printf("Inserisci il nome del giocatore2 (max 20 char): ");
scanf("%s", nome2);
// acquisisco la parola...
printf("\n %s inserisci una parola (max 20 char): ", nome2);
gets(word);
}
// inizio gioco...
carica_parola();
do {
system("clear");
printf("**********************\n");
printf("** Gioco Impiccato **\n");
printf("**********************\n");
if(option==1)
printf("\n\n----- GIOCATORE vs COMPUTER -----\n");
else
printf("\n\n----- GIOCATORE1 vs GIOCATORE2 -----\n");
// stampo l'omino se necessario...
if(check_parola(c)==0 && doit==1 && started==1) {
cont++;
stampa_omino(cont);
printf("\nHai ancora %d tentativi!! (numero max 8)\n", 8-cont);
} else {
stampa_omino(cont);
printf("\nHai indovinato la lettera!!\n");
}
// stampo la parola
stampa_parola();
printf("\n\n'%s' inserisci una lettera: ", nome);
scanf("%c", &c);
fflush(stdin);
scanf("%c", &c);
doit=1;
started=1;
} while(cont!=8 && score!=(strlen(word)-2));
if(cont==8) {
while(1)
printf("6 1 BABBOOOOOO... HAI PERSO!!!!\n");
} else {
printf("BRAVO HAI VINTO!!!!\n");
}
}
int main()
{ int m;
system("clear");
m=menu();
switch(m)
{case 1:playgame(1);break;
case 2:playgame(2);break;
case 3:about();
menu ;break;
case 4:exit(0);break;
}
return 0;
}
Ultima modifica effettuata da chica87 il 20/06/2005 alle 18:00 |
|
Zizzius (Honoris User)
Guru
Messaggi: 675
Iscritto: 28/02/2005
|
Bene, ci do un'occhiata e al massimo domani ti so dire. Mmm... vedo che il codice non ? rimasto del tutto integro, una volta inserito (vedi mezzo codice in corsivo e lo smile ...)
|
|
chica87 (Normal User)
Newbie
Messaggi: 4
Iscritto: 19/06/2005
|
|
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
Puoi attivare la notifica via e-mail per ricevere una notifica ogni qualvolta qualcuno inserisce un nuovo messaggio in questo post, in modo da rimanere sempre aggiornata.
|
|
Zizzius (Honoris User)
Guru
Messaggi: 675
Iscritto: 28/02/2005
|
|
|