Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    progetto per l' esame di programmazione

    salve ho avuto l' occasione per testare la vostra bravura e la vostra semplicità nelle risposte che date, volevo sapere se potevate dare un occhiata a questo progetto che mi è stato chiesto di sviluppare per l' esame di programmazione 1 all' università .
    Non chiedo si svolgermi il progetto per intero ma solo di darmi un idea su come strutturarlo o una base su cui lavorare , ringrazio tutti anticipatamente per le risposte



    PROGETTO D’ESAME DI LABORATORIO

    1. Gioco del golf

    Si vuole sviluppare un programma per la simulazione del gioco del golf.
    Supponiamo di avere un giocatore che gioca su di un campo di dimensione 50 x 50. Il giocatore (rosso in figura) in ogni istante può lanciare in una delle 8 direzioni. Nel campo da gioco esiste una sola buca scelta in modo casuale all’ inizio del gioco.
    Il gioco procede in questo modo:
    1 La posizione iniziale del giocatore è (0,0) .

    2 Ad ogni lancio viene visualizzato il campo da gioco e la posizione del giocatore. Viene chiesto al giocatore la direzione di lancio della palla. A causa del vento la palla può avere direzioni differenti

    A) La palla ha 50% di probabilità di andare nella direzione scelta e 25% nelle due direzioni adiacenti (a sinistra e destra).
    B) Il numero di celle che il giocatore può avanzare è variabile tra 0 e 5.
    C) La posizione finale ha il 10% di probabilità di cadere in una delle 8 celle adiacenti.

    3 La palla che va fuori va rimessa in una posizione casuale sul bordo da dove è uscita.

    4 Il gioco termina o quando la palla va in buca o quando si superano 50 tiri.
    Simulare 10 volte la gara ed elencare il numero di lanci effettuati in ordine crescente (50 è il punteggio senza aver fatto buca).

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma di quale linguaggio parli?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh, comincia con l'impostare quel "campo da gioco" con una matrice di interi (o di char) da 50 x 50 elementi e provvedi ad impostare la funzione che provvede a rappresentare questo "campo" sul video.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    non riesco a capire giocatore come lo inizializzo?? nel senso dici i partire da 0,0 quindi ho fatto partire i due cicli for della matrice 50 x 50 da 0 però non capisco giocatore è una variabile o una funzione???

  6. #6
    il giocatore in realtà non esiste: cioè l'unico dato che ti devi salvare a riguardo è la sua posizione.
    puoi fare una cosa simile:
    codice:
    char Campo[50][50];
    struct Giocatore{
    int positionX;
    int positionY;
    }

    Edit
    rileggendo bene non ti devi salvare solo la posizione: al fine di fare poi algoritmi più generici potrebbe anche essere comodo salvarti la direzione in cui vuole tirare, quindi potresti anche fare una cosa così
    codice:
    char Campo[50][50];
    enum Facing
    {
        unset=0,
        up =1,
        rightUp = 2,
        right = 3,
        down =4,
        downLeft = 5,
        left = 6,
        leftUp = 7
    };
    
    struct Giocatore
    {
        int posX;
        int posY;
        Facing currFacing;
    };

  7. #7
    quando mi dice Il giocatore (rosso in figura)(vedi è un allegato) in ogni istante può lanciare in una delle 8 direzioni. Nel campo da gioco esiste una sola buca scelta in modo casuale all’inizio del gioco.


    ho fatto questa implementazione che ne dici?


    int i,j,nx,ny;
    char campo da golf[3][3]=
    {' ',' ',' '},
    {' ',' ',' '},
    {' ',' ',' '},
    srand(time(NULL));

    for (i=1;i<=4;i++){
    /* genera a caso una posizione nel campo da golf (3x3) */
    nx = rand()%3;
    ny = rand()%3;
    campo_golf[nx][ny] = 'x';
    }
    for (i=0;i<3;i++){
    for (j=0;j<3;j++)
    printf(" %c",campo_golf[i][j]);
    printf("\n");

    sto proprio fuori strada o no?
    Immagini allegate Immagini allegate

  8. #8
    perchè 3? non era 50x50 il campo da golf?

    comunque non capisco perchè generi 4 volte la posizione... semplicemente all'inizio del gioco crei due numeri random fra o e 50, e questi due numeri random li salvi e li usi come posizione della buca per tutto il resto dell'esecuzione.

    codice:
    typedef struct Buca{
    int posX;
    int posY;
    }Buca;
    
    //.... poi all'inizio del main
    
    //inizializzi il seed
    Buca buca;
    buca.posX = genera_random(0,50);
    buca.posY = genera_random(0,50);

  9. #9
    ho capito quindi è inutile tutto quel codice...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.