PDA

Visualizza la versione completa : [C++] Gioco del tennis ed errori di compilazione


xarcius
17-02-2011, 16:38
Salve,devo sviluppare questo progetto.Sono ancora un "pivello" in C++ quindi se potete darmi qualke consiglio ve ne sarei grato.Questo è il testo:




Gioco del tennis
Si vuole sviluppare un programma per la simulazione del gioco del tennis.
Supponiamo di avere un giocatore che gioca contro un simulatore. Il simulatore
lancia la palla che deve essere respinta dal giocatore.
Il giocatore (rettangolo rosso) viene collocato in una mappa regolare di dimensioni
come in figura. Il giocatore ha a disposizione una racchetta che può muovere solo a
sinistra (nero in figura). Il simulatore fa un punto se il giocatore non riesce a
respingere la palla altrimenti se il ricevitore colpisce la palla il punto va al giocatore.
Il gioco procede in questo modo:
· Il simulatore lancia la palla con una certa intensità che è identificata da un
numero casuale da 1 a 10.
· Se la palla cade nella cella arancione questa viene respinta dal battitore che
fa un punto.
· Se la palla cade in una cella gialla il punto va al battitore se l’intensità del
tiro è minore di 3 altrimenti il punto va al simulatore.
· Se la palla ricade in una zona azzurra il punto va al giocatore.
· La palla non può essere mai lanciata sul giocatore.
Simulare 100 volte la gara ognuna composta da 500 lanci. Il giocatore vince se
respinge almeno l’80% dei lanci. <--(Questa è l'unica cosa di cui non ho idea di come fare)

Stampare la statistica delle vittorie.
L’algoritmo usa la function rand() in stdlib per generare numeri casuali: si
ricorda che, per esempio, se numero_casuale è un int, la chiamata
numero_casuale=rand()%11; genera un numero casuale intero (distribuzione
uniforme) nell’insieme (0,1,2,3,4,5,6,7,8,9,10). Usare sempre la srand() per
rendere automatica la scelta iniziale del seed della sequenza di numeri casuali.
Effettuare almeno 5 test, visualizzando lo schema come presentato in figura.

(Se vi serve l'immagine come riferimento ve la uppo.Grazie!!)

Questo è il codice di cui mi da 4 errori:
C:\Programmi\MSDev98\MyProjects\aaaa\aaaa\main.c(4 3) : error C2143: syntax error : missing ';' before '||'
C:\Programmi\MSDev98\MyProjects\aaaa\aaaa\main.c(4 8) : error C2059: syntax error : 'if'
C:\Programmi\MSDev98\MyProjects\aaaa\aaaa\main.c(5 6) : error C2059: syntax error : 'else'
C:\Programmi\MSDev98\MyProjects\aaaa\aaaa\main.c(6 1) : error C2059: syntax error : '}'


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define BLU 0
#define GIALLO 1
#define ARANCIONE 2
void main()
{ int i,j;
int totp_G=0;
int totp_S=0;
int giocatore=0;

int simulatore=0;
int intens_tiro;
int arrivo_palla;
int nc;
char campo[4][5]={{'B','B','B','B','B'},
{'B','G','R','G','B'},
{'B','A','R','G','B'},
{'B','G','R','G','B'}};
srand (time(NULL));
for (i=0;i=500;i++);
{
nc = rand()%11;
}
for (j=0;j<=100;j++);
giocatore=0;
simulatore=0;
totp_G= totp_G+giocatore;
totp_S= totp_S+giocatore;
if(arrivo_palla == ARANCIONE) || (arrivo_palla == BLU)
{
totp_G++;
}
if (arrivo_palla == GIALLO) && (intens_tiro < 3)
{
totp_G++;
}
else
{
totp_S++;
}
}

Alex'87
17-02-2011, 17:24
Problema ricorrente a quanto pare :zizi:

http://forum.html.it/forum/showthread.php?s=&threadid=1444276&highlight=Aiuto+Gioco+del+tennis
http://forum.html.it/forum/showthread.php?s=&threadid=1412166&highlight=Aiuto+Gioco+del+tennis

xarcius
17-02-2011, 18:27
si avevo già dato un'occhiata a quei post ma il mio codice è diverso e non mi sembrava il caso di riesumare quei post

MacApp
18-02-2011, 00:15
Originariamente inviato da xarcius


if(arrivo_palla == ARANCIONE) || (arrivo_palla == BLU)

prova con:


if((arrivo_palla == ARANCIONE) || (arrivo_palla == BLU))

xarcius
18-02-2011, 09:42
Ok grazie,è vero hai ragione.
Sto procedendo bene o ho mancato qualcosa per adesso?

xarcius
18-02-2011, 15:11
facendo ciò però mi riporta i seguenti warning:

C:\Programmi\MSDev98\MyProjects\aaaa\aaaa\main.c(5 2) : warning C4700: local variable 'arrivo_palla' used without having been initialized

C:\Programmi\MSDev98\MyProjects\aaaa\aaaa\main.c(5 7) : warning C4700: local variable 'intens_tiro' used without having been initialized

:dhò:

E inoltre compilato il programma non parte per niente...non succede niente :bhò:

Loading