+ Rispondi al messaggio
Pagina 3 di 4 primaprima 1234 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 40

Problema riguardo una condizione in caso di vittoria ad inizio partita

  1. #21
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,504
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    Per la buca vincente ti ho gi detto

    Memorizza in due variabili anche le coordinate della buca vincente e controlla anche quelle.

    P.S. Non rispondere con una riga per volta ...
    ℹ️ Leggi di pi su AntonioG ...

  2. #22
    Shoot non  in linea Novello
    Post
    47
    Like Inviati  
    0
    Like Ricevuti  
    0
    Va bene va bene

  3. #23
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,504
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    Uno spunto... elimina b2 e b3 e all'inizio

    #define BUCA '*'
    
    e nel main

    int rBucaV, cBucaV;
    
    quando metti una buca

    griglia[riga][colonna] = BUCA;
    
    quando scegli la buca vincente

    griglia[riga][colonna] = BUCA;
    rBucaV=riga;
    cBucaV=colonna;
    
    quando fai i controlli

    if(griglia[xpos][ypos]==BUCA)
    {
       if(rBucaV==xpos && cBucaV==ypos)
           // sei nella buca vincente
       else
           // sei in un'altra buca 
    }
    
    ... a te il resto ...
    ℹ️ Leggi di pi su AntonioG ...

  4. #24
    Shoot non  in linea Novello
    Post
    47
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ho fatto tipo cos per differenziare le buche:
    while(c2 < 20)
    {
    colonna = rand() % SIZE;
    riga = rand() % SIZE;
    griglia[riga][colonna] = BUCA;
    rBucaP=riga;
    cBucaP=colonna;
    c2++;
    }
    while(c3 < 1)
    {
    colonna = rand() % SIZE;
    riga = rand() % SIZE;
    griglia[riga][colonna] = BUCA;
    rBucaV=riga;
    cBucaV=colonna;
    c3++;
    }
    Adesso provo a far funzionare gli if

  5. #25
    Shoot non  in linea Novello
    Post
    47
    Like Inviati  
    0
    Like Ricevuti  
    0
    Allora adesso ho provato usando questi if:
    if(griglia[xpos][ypos]==BUCA)
            {
            if(rBucaV==xpos && cBucaV==ypos)
            {
                printf("Hai vinto");
                return 0;
            }
    
            if(rBucaP==xpos && cBucaP==ypos)
            {
                printf("Hai perso");
                return 0;
            }
            else
            {
                griglia[savex][savey] = '-';
            }
            }
    
    Succede che la buca vincente funziona e anche quella perdente, per c' il problema che solo poche buche perdenti funzionano, oppure solo una, quando vado sulle altre buche che dovrebbero essere perdenti ci passa sopra, senza chiudere il programma.
    Adesso ho fatto in questo modo:
    if(griglia[xpos][ypos]==BUCA)
            {
            if(rBucaV==xpos && cBucaV==ypos)
            {
                printf("Hai vinto");
                return 0;
            }
            else
            {
                printf("Hai perso");
                return 0;
            }
            }
    
    Ho provato e mi trova le buche perdenti
    Ultima modifica di Shoot; 14-11-2020 19:59 

  6. #26
    Shoot non  in linea Novello
    Post
    47
    Like Inviati  
    0
    Like Ricevuti  
    0
    Un momento forse ho capito cosa fare
    Aggiornamento
    Tutte le buche funzionano, tranne quelle nascoste che cerco di farle funzionare, adesso rimane soltanto la questione della buca vincente quando viene beccata al primo lancio
    Ultima modifica di Shoot; 14-11-2020 20:10 

  7. #27
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,504
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    adesso rimane soltanto la questione della buca vincente quando viene beccata al primo lancio
    Non capisco ... quello che controlla questa riga

    if(rBucaV==xpos && cBucaV==ypos)

    Quindi?
    ℹ️ Leggi di pi su AntonioG ...

  8. #28
    Shoot non  in linea Novello
    Post
    47
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quindi devo fare che quando al primo lancio becco la buca vincente, vinco. Forse devo mettere anche la condizione del cont?

  9. #29
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,504
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    35
    All'inizio avrai la biglia in posizione x1 e y1. Quindi PRIMA di assegnare il simbolo nella griglia, ovvero PRIMA di

    biglia=griglia[x1][y1] = 'O';

    devi usare una

    if(griglia[x1][y1]==BUCA && rBucaV==x1 && cBucaV==y1)

    ...
    ℹ️ Leggi di pi su AntonioG ...

  10. #30
    Shoot non  in linea Novello
    Post
    47
    Like Inviati  
    0
    Like Ricevuti  
    0
    Scusa ma forse hai capito che la posizione della biglia spawnata ad inizio gioco debba essere uguale alla buca vincente? Chiedo per capire se per caso ho sbagliato a spiegare il problema. Se per caso hai capito cos, intendevo che quando mi sposto e becco la buca vincente, mi esce un'altra frase.

+ Rispondi al messaggio
Pagina 3 di 4 primaprima 1234 ultimoultimo

Potrebbero interessarti anche ...

  1. Inizio subito con un problema
    Da FedericaD nel forum Presentazioni e saluti
    Risposte: 4
    Ultimo Post: 18-11-2020, 15:54
  2. Problema con maschera in caso di aggiornamento password
    Da Elimar nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 29-10-2020, 11:02
  3. Risposte: 10
    Ultimo Post: 21-11-2014, 20:00
  4. [VB2010] Animazioni in caso di vittoria
    Da Gandalfrank nel forum Visual Basic .Net
    Risposte: 8
    Ultimo Post: 16-05-2012, 17:38
  5. Problema inizio prove asp
    Da siengo1971 nel forum ASP 3, ASP .Net
    Risposte: 1
    Ultimo Post: 05-09-2010, 09:09