[C64] Routine 80x50 in ASM [C64] Routine 80x50 in ASM

Risultati da 1 a 20 di 53

Discussione: [C64] Routine 80x50 in ASM

Visualizzazione Elencata

Messaggio precedente Messaggio precedente   Nuovo messaggio Nuovo messaggio
  1. #26
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    20.239
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: [C64] Routine 80x50 in ASM

    Mi sa che l'algoritmo è come al cazzo. controllato uno step alla volta e, almeno l'unico caso provato, quello che ho scritto segue l'algoritmo:
    Codice:
    swap = 0;
    DX = x2 - x1;
    DY = y2 - y1;
    
    //siccome scambio DY e DX ho sempre DX>=DY allora per sapere quale coordinata occorre cambiare uso una variabile
    if (abs(DX) < abs(DY)) {
       swap(DX, DY);
       swap = 1;
    }
    
    //per non scrivere sempre i valori assoluti cambio DY e DX con altre variabili
    a = abs(DY);
    b = -abs(DX);
    
    //assegna le coordinate iniziali
    x = x1;
    y = y1;
    
    //il nostro valore d0
    d = 2 * a + b;
    
    //s e q sono gli incrementi/decrementi di x e y
    q = 1;
    s = 1;
    if (x1 > x2) q = -1;
    if (y1 > y2) s = -1;
    disegna_punto(x, y);
    disegna_punto(x2, y2);
    for (k = 0; k < -b; k+=1) {
       if (d > 0) {
           x= x + q; y= y + s;
           d= d + 2 * (a + b);
       }
       else {
           x = x + q;
           if (swap==1) { y = y + s; x = x - q; }
           d = d + 2 * a;
       }
       disegna_punto(x, y);
    }
    preso da qui : https://it.wikipedia.org/wiki/Algori...a_di_Bresenham

    (nb: provata in vb, funziona. quindi l'algoritmo è ok)
    Ultima modifica di KymyA; 28-06-17 alle 15:51
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Chi Siamo
Forum ufficiale della rivista
The Games Machine
Seguici su