Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #4
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    MItaly, ho provato la mia funzione ma non va, praticamente io ho un ciclo(gameloop) del tipo:

    do {
    ...
    }
    while (!Terminato)

    Ora ad ogni iterazione io ottengo delle coordinate x e y e in base a queste devo un intorno a questo punto intorno che vale "lunghezzaIntorno". Inoltre la matrice è toroidale,quindi quando mi trovo sulla ultima colonna , se ottengo una x > numero righe matrice, allora x vale 0, cioè colonna opposta(la prima), analogamente per la prima e l'ultima riga.

    praticamente devo fare in modo che appena vi è una coordinata che occupa l'area con centro (cx,cy), setto un flag a 1 altrimenti resta a 0;

    codice:
    // se (nx,ny) è un punto che appartiene all'area la funzione deve restituire 1
    int foo(int cx, int cy, int lunghezzaArea, int nx, int ny)
    {
        int ulx, lrx;
        int uly, lry;
        int flag=0;
     
        // bisogna prenderle in modulo poichè l'universo è toroidale
        ulx=cx-Nemico->AreaIns;
        lrx=cx+Nemico->AreaIns;
        uly=cy-Nemico->AreaIns;
        lry=cy+Nemico->AreaIns;
    
    
        for(int x=ulx; x<lrx; ++x)
                for(int y=uly; y<lry; ++y)
                       if(ulx <= nx <= lrx || uly <= ny <= lry)
                              flag=1;
    
    
        return flag;
    }
    Ultima modifica di gaten; 12-02-2014 a 20:07
    Con i sogni possiamo conoscere il futuro...

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.