Problema con la griglia

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Problema con la griglia

    ramcrack ha scritto:


    Perfetto...

    Allora la prima cosa che dovresti cambiare è anche la grandezza della console che ti mostra la griglia 50x50.
    Se mandi in esecuzione il tuo programma, noterai tu stesso che la griglia ti viene mostrata tutta sfasata.

    Con un comando particolare in C++, puoi cambiare la risoluzione della console tanto da renderla più grande e permetterti di visualizzare la tua griglia perfettamente. Cosi già compi un primo passo...

    Ps. ti ho chiesto su quale OS lavoravi proprio perchè, questo comando funziona solo in ambiente Windows e non su Linux.
    Ah comunque quando faccio eseguire il programma e metto a schermo intero, mi fa vedere proprio 50x50 senza problemi. Appena puoi, mi consiglieresti un modo per far muovere la biglia nella griglia?
  • Re: Problema con la griglia

    Weierstrass ha scritto:


    linux123 ha scritto:


    Https://www.iprogrammatori.it/forum-programmazione/cplusplus/gioco-delle-biglie-t42220.html#p8644957
    C'è scritto il tipo di problema, è un array di tipo char e voglio mostrare a video.
    Ma perché non li fate voi i compiti?
    Ci sono tanti esempi completi sul forum di giochi "a griglia".

    Che fate quando sarete al lavoro, delegate agli altri?
    Guarda che ho chiesto soltanto dei semplici consigli, non di farmi fare il programma da altra gente.
  • Re: Problema con la griglia

    La biglia si muove cancellandola dalla posizione attuale e scrivendola nella prossima. Ovviamente la prossima sarà quella con coordinata x o y minore o maggiore a seconda della direzione che vuoi prendere.

    Ma forse dovresti fare una domanda più accurata perché sembra che tu abbia altri dubbi. Probabilmente questo tipo di programmi non è ancora alla tua portata e dovresti fare cose più semplici.
  • Re: Problema con la griglia

    oregon ha scritto:


    La biglia si muove cancellandola dalla posizione attuale e scrivendola nella prossima. Ovviamente la prossima sarà quella con coordinata x o y minore o maggiore a seconda della direzione che vuoi prendere.

    Ma forse dovresti fare una domanda più accurata perché sembra che tu abbia altri dubbi. Probabilmente questo tipo di programmi non è ancora alla tua portata e dovresti fare cose più semplici.
    Grazie per il consiglio. Solo una cosa. Non ho problemi a fare programmi con gli array, semplicemente ho solo qualche problema nel fare programmi con le griglie. E mi sto esercitando apposta per poterli fare in tutta facilità.
  • Re: Problema con la griglia

    Qualsiasi cosa voglia dire per te briglie perché non l'ho ancora capito...
  • Re: Problema con la griglia

    linux123 ha scritto:


    Ah comunque quando faccio eseguire il programma e metto a schermo intero, mi fa vedere proprio 50x50 senza problemi. Appena puoi, mi consiglieresti un modo per far muovere la biglia nella griglia?
    Guarda un metodo semplicissimo, ovviamente dovresti arrivarci da solo perchè è veramente banale una volta capito...

    1) hai disegnato una griglia 50x50 utilizzando una matrice che gestisci mediante l'uso di coordinate x y.
    2) su una specifica coordinata, presa a caso, disegni una biglia al posto di un puntino della griglia.
    3) ponendo il caso che: la coordinata x=riga, mentre corrdinata y=colonna, puoi fare che...
    4) se vuoi muovere la biglia a destra di una posizione...... matrice(x,y+1)
    5) se vuoi muovere la biglia a sinistra di una posizione..... matrice(x,y-1)
    6) se vuoi muovere la biglia sopra di una posizione......... matrice(x-1,y)
    7) se vuoi muovere la biglia sotto di una posizione......... matrice(x+1,y)

    I movimenti li fai semplicemente cancellando il puntino dalla nuova posizione e mettendo al suo posto la biglia, ovviamente la sostituzione inversa dovrai farla anche per la precedente posizione della biglia.
    Se vuoi che il tutto sembri quasi reale, devi cancellare lo schermo e ridisegnarlo ogni volta che fai un passaggio del genere.
    Potrebbe capitarti che vedi lampeggi dello schermo, ma questo è dovuto proprio alla cancellazione e al ridisegno della griglia...

    devi fare dei controlli con degli If , quando arrivi ai bordi della griglia, cioè se con l'aggiornamento della posizione della biglia sei già arrivato alla posizione matrice(49,49) ovviamente non puoi spostarti oltre... quindi con un controllo if indicherai al tuo programma che la biglia può solo indietreggiare... stessa cosa dovrai fare se la biglia si trova in una posizione limite verso l'alto, ad esempio: matrice(0,0)

    Spero d'essere stato chiaro
  • Re: Problema con la griglia

    ramcrack ha scritto:


    linux123 ha scritto:


    Ah comunque quando faccio eseguire il programma e metto a schermo intero, mi fa vedere proprio 50x50 senza problemi. Appena puoi, mi consiglieresti un modo per far muovere la biglia nella griglia?
    Guarda un metodo semplicissimo, ovviamente dovresti arrivarci da solo perchè è veramente banale una volta capito...

    1) hai disegnato una griglia 50x50 utilizzando una matrice che gestisci mediante l'uso di coordinate x y.
    2) su una specifica coordinata, presa a caso, disegni una biglia al posto di un puntino della griglia.
    3) ponendo il caso che: la coordinata x=riga, mentre corrdinata y=colonna, puoi fare che...
    4) se vuoi muovere la biglia a destra di una posizione...... matrice(x,y+1)
    5) se vuoi muovere la biglia a sinistra di una posizione..... matrice(x,y-1)
    6) se vuoi muovere la biglia sopra di una posizione......... matrice(x-1,y)
    7) se vuoi muovere la biglia sotto di una posizione......... matrice(x+1,y)

    I movimenti li fai semplicemente cancellando il puntino dalla nuova posizione e mettendo al suo posto la biglia, ovviamente la sostituzione inversa dovrai farla anche per la precedente posizione della biglia.
    Se vuoi che il tutto sembri quasi reale, devi cancellare lo schermo e ridisegnarlo ogni volta che fai un passaggio del genere.
    Potrebbe capitarti che vedi lampeggi dello schermo, ma questo è dovuto proprio alla cancellazione e al ridisegno della griglia...

    devi fare dei controlli con degli If , quando arrivi ai bordi della griglia, cioè se con l'aggiornamento della posizione della biglia sei già arrivato alla posizione matrice(49,49) ovviamente non puoi spostarti oltre... quindi con un controllo if indicherai al tuo programma che la biglia può solo indietreggiare... stessa cosa dovrai fare se la biglia si trova in una posizione limite verso l'alto, ad esempio: matrice(0,0)

    Spero d'essere stato chiaro
    Grazie. Sei stato molto gentile. Adesso mi metto subito all'opera.
  • Re: Problema con la griglia

    oregon ha scritto:


    Qualsiasi cosa voglia dire per te briglie perché non l'ho ancora capito...
    Ovviamente era griglie ...
  • Re: Problema con la griglia

    ramcrack ha scritto:


    4) se vuoi muovere la biglia a destra di una posizione...... matrice(x,y+1)
    5) se vuoi muovere la biglia a sinistra di una posizione..... matrice(x,y-1)
    6) se vuoi muovere la biglia sopra di una posizione......... matrice(x-1,y)
    7) se vuoi muovere la biglia sotto di una posizione......... matrice(x+1,y)

    Hai scambiato x e y?

    Sinistra e destra, in genere, modifichi l'indice x mentre per basso e alto l'indice y ... anche se è una convenzione....
    Se vuoi che il tutto sembri quasi reale, devi cancellare lo schermo e ridisegnarlo ogni volta che fai un passaggio del genere.
    Potrebbe capitarti che vedi lampeggi dello schermo, ma questo è dovuto proprio alla cancellazione e al ridisegno della griglia...
    Sicuramente vedrai una serie di lampeggi ... non prenderei questa strada ...

    Comunque, mi sembra tutto così ovvio che non capisco come tu non ci abbia neanche pensato ...
  • Re: Problema con la griglia

    @ oregon
    3) ponendo il caso che: la coordinata x=riga, mentre corrdinata y=colonna, puoi fare che...
    per quanto riguarda x e y lo avevo specificato...

    Sicuramente vedrai una serie di lampeggi ... non prenderei questa strada ...
    Ovviamente esistono anche altri metodi, ma ho detto di provare cosi, perchè fu il mio primo approccio quando per un esame di informatica 1 all'Università, creai il gioco del serpentone... successivamente sviluppai un metodo diverso e più performante, ma ci sono arrivato pian piano da solo. Diamo anche a lui la possibilità di migliorarsi con il tempo partendo da spunti banali...

    Comunque, mi sembra tutto così ovvio che non capisco come tu non ci abbia neanche pensato ...
    Questa non l'ho capita, era rivolta a me oppure a linux123 ?
  • Re: Problema con la griglia

    ramcrack ha scritto:


    @ oregon
    3) ponendo il caso che: la coordinata x=riga, mentre corrdinata y=colonna, puoi fare che...
    per quanto riguarda x e y lo avevo specificato...

    Sicuramente vedrai una serie di lampeggi ... non prenderei questa strada ...
    Ovviamente esistono anche altri metodi, ma ho detto di provare cosi, perchè fu il mio primo approccio quando per un esame di informatica 1 all'Università, creai il gioco del serpentone... successivamente sviluppai un metodo diverso e più performante, ma ci sono arrivato pian piano da solo. Diamo anche a lui la possibilità di migliorarsi con il tempo partendo da spunti banali...

    Comunque, mi sembra tutto così ovvio che non capisco come tu non ci abbia neanche pensato ...
    Questa non l'ho capita, era rivolta a me oppure a linux123 ?
    Era rivolto a me, comunque non ha importanza. L'importante è che finalmente ho capito il concetto.
  • Re: Problema con la griglia

    Certo che era rivolto a te linux123 ma è un modo per incoraggiarti dicendo che dovresti pensarci su un po' di più perché se non riesci a gestire problemi banali, cosa fari con quelli complessi?
Devi accedere o registrarti per scrivere nel forum
26 risposte