abcdeeeeff
Utente Attivo
- Messaggi
- 521
- Reazioni
- 289
- Punteggio
- 67
ciao a tutti
per il corso di informatica dell'università sto facendo come esercizio scrivere un programma per giocare a forza 4(se avete avuto un'infanzia triste e senza forza 4 cercate su google :P )
per il momento il mio codice è questo
nelle 3 righe in cui c'è il commento ERRORE(nella funzione inserimento) il compilatore mi dà un'errore, di cui non riesco a spiegarmi il perchè
"invalid type argument of 'unary *' (have 'int')"
consigli?
per il corso di informatica dell'università sto facendo come esercizio scrivere un programma per giocare a forza 4(se avete avuto un'infanzia triste e senza forza 4 cercate su google :P )
per il momento il mio codice è questo
Codice:
#include <stdio.h>#include <stdlib.h>
#include <string.h>
void inserimento (int w, int h, int *campo, int turno);
void stampa_campo (int h, int w, int campo[h][w]);
int main ()
{
int w, h, i, j;
int vittoria=0;
printf("Di che dimensione deve essere il campo da gioco(WxH)?\n");
scanf("%dx%d", &w, &h);
int campo[h][w]; //ogni casella viene impostata come vuota
for (i=0; i<h; i++)
{
for (j=0; i<w; i++)
{
campo[i][j] == 0;
}
}
i=0;
while(vittoria!=1) //variabile ancora da implementare, per ora 0 = partita in corso, 1 = qualcuno ha vinto
{
i++;
if (i%2==0)
{
printf("Tocca al primo giocatore\n");
}
else
{
printf("Tocca al secondo giocatore\n");
}
inserimento(w, h, &campo, i);
}
return 0;
}
void inserimento (int w, int h, int *campo, int turno) //funzione per inserire il dischetto nella tabella/campo da gioco
{
int colonna;
int i, j;
do
{
printf("In che colonna bisogna inserire il disco: ");
scanf("%d", &colonna);
} while (colonna>w);
j=colonna;
for (i=0; *(*(campo+i)+j) == 0; i++) //ERRORE
{
}
if ((turno%2)==0)
{
*(*(campo+i)+j)=1; //ERRORE
}
else
{
*(*(campo+i)+j)=2; //ERRORE
}
}
void stampa_campo (int h, int w, int campo[h][w]) //funziona per stampare il campo da gioco
{
int i,j;
int current;
system("cls");
for (i=0; i<h; i++)
{
printf("|");
for (j=0; j<w; j++)
{
current = campo[i][j];
if( current == 0)
{
printf(" |");
}
else if( current == 1)
{
printf(" R |");
}
else if( current == 2)
{
printf(" G |");
}
}
printf("\n");
}
}
nelle 3 righe in cui c'è il commento ERRORE(nella funzione inserimento) il compilatore mi dà un'errore, di cui non riesco a spiegarmi il perchè
"invalid type argument of 'unary *' (have 'int')"
consigli?
Ultima modifica: