Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [c++] videogioco

  1. #1

    [c++] videogioco

    buongiorno a tutti, volevo sapere se qualcuno di voi mi poteva aiutare con questa traccia di esame. Diciamo che è l'esercizio più difficile che mi sono trovato difronte. Per di più il prof vuole lo svolgimento senza puntatori.

    Ecco la traccia:
    Si vuole realizzare un semplice videogioco in cui un cursore viene pilotato in un campo di gioco
    bidimensionale a griglia ortogonale regolare per raggiungere un obiettivo. Il cursore può muoversi
    di una casella alla volta nelle caselle adiacenti, non in diagonale. Il campo di gioco contiene degli
    ostacoli che impediscono al cursore di spostarsi qualora occupino la casella in cui ne è richiesto lo
    spostamento (un comando di movimento contro un ostacolo viene eseguito e quindi consumato, ma
    non modifica la posizione del cursore). I bordi del campo di gioco si comportano come ostacoli. Il
    campo di gioco contiene anche delle caselle bonus che regalano da 1 a 10 punti se il cursore vi si
    sposta (un bonus attraversato viene consumato, ovvero tolto dal campo di gioco ai fini di ulteriori
    spostamenti in quella casella). Il cursore inizia il gioco sempre nella stessa casella, in un angolo del
    campo di gioco, identificata con coordinate (0,0). Se il cursore arriva sulla casella obiettivo i
    rimanenti comandi di spostamento vengono ignorati ed il gioco termina con successo.

  2. #2
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Se posti qualcosa tu, quello che hai provato a fare fin'ora, ti aiuteranno. Le commissioni su questo forum non le vedono di buon occhio, e non hanno torto

  3. #3
    codice:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    void campo(char m[][100], int r, int c);
    void video(char m[][100], int r, int c);
    void cursore(char m[][100], int r, int c);
    void ostacoli(char m[][100], int r, int c);
    
    int main(int argc, char *argv[])
    {
     char m[100][100];
     int r,c;
    r=2;
    c=2;
     campo(m,r,c);
     video(m,r,c);
     ostacoli(m,r,c);
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    void campo(char m[][100], int r, int c)
    {
    int i,j;
    for(i=0;i<r;i++)
      {  for(j=0;j<c;j++)
       {
       cout<<"Elemento ["<<i<<"]["<<j<<"]= ";
       cin>>m[i][j];
       }
      }
    }
    void video(char m[][100], int r, int c)
    {
    int i,j;
    for(i=0;i<r;i++)
      {  for(j=0;j<c;j++)
       {cout<<m[i][j]<<" ";
       }
       cout<<endl;
      }
    }
    void cursore(char m[][100], int r, int c)
    {
     int i,j,d,rg,l,u;
     while(m[i][j])
     if(d==m[i][j])
     {
      cout<<m[i][j-1];
     }
     if(u==m[i][j])
     {
      cout<<m[i][j+1];
     }
     if(rg==m[i][j])
     {
      cout<<m[i+1][j];
     }
     if(l==m[i][j])
     {
      cout<<m[i-1][j];
     }
    }
    void ostacoli(char m[][100], int r, int c)
    {
    int i,j;
    if(m[i][j]==m[0][2])
    {
    cout<<"game over";
    }
    }
    
    
    l'ho lasciato in sospeso xké veramente non riesco a capire come ragionarci...

  4. #4
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Il codice va formattato , col tag "Code"..leggi bene il regolamento!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,302

    Moderazione

    Originariamente inviato da Severus87
    buongiorno a tutti, volevo sapere se qualcuno di voi mi poteva aiutare con questa traccia di esame. Diciamo che è l'esercizio più difficile che mi sono trovato difronte. Per di più il prof vuole lo svolgimento senza puntatori.
    Spiega qual è la tua difficoltà specifica, altrimenti è impossibile aiutarti, a meno di non sviluppare parte del progetto al posto tuo, che non è la finalità di questo forum.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    infatti io vorrei essere seguito un pò x capire quale parte del mio ragionamento è sbagliato, o perché non ci arrivo da solo. Allora se noti nel sottoprogramma "cursore" ho messo tutte le 'mosse' che può fare il giocatore, cioè se premi U sali una colonna, se premi D scendi una colonna e così via... ora però non ho idea di come far partere il giocatore dal punto (0,0); devo scrivere nel main, prima di cursore, m[i][j]=0?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.