Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Trop de typage tue la programmation (20 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 5 janvier 2006 à 16:42 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Pourquoi ce loadSprite? Moi, je mettrais tout simplement:
typedef void (*spritefunc_t)(short x, short y, short height, const void *sprite, void *vm_addr, short mode);

typedef struct sprite {
 void *data_d;
 void *data_l;
 void *data_m;
 unsigned short h;
 spritefunc_t drawfunc;
} sprite;

unsigned char smallmario_d[8]={1,2,3,4,5,6,7,8};
unsigned char smallmario_l[8]={1,2,3,4,5,6,7,8};
unsigned char smallmario_m[8]={1,2,3,4,5,6,7,8};
unsigned short bigmario_d[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
unsigned short bigmario_l[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
unsigned short bigmario_m[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
sprite sprites[]={{smallmario_d,smallmario_l,smallmario_m,8,(spritefunc_t)Sprite8},
                  {bigmario_d,bigmario_l,bigmario_m,16,(spritefunc_t)Sprite16}};

void DrawSprite(sprite *s, short x, short y)
{
  s->drawfunc(x,y,s->h,s->data_m,GrayGetPlane(DARK_PLANE),SPRT_AND);
  s->drawfunc(x,y,s->h,s->data_m,GrayGetPlane(LIGHT_PLANE),SPRT_AND);
  s->drawfunc(x,y,s->h,s->data_d,GrayGetPlane(DARK_PLANE),SPRT_OR);
  s->drawfunc(x,y,s->h,s->data_l,GrayGetPlane(LIGHT_PLANE),SPRT_OR);
}
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°20   Marquer comme non lu.
Sasume Ecrit le: Jeudi 5 janvier 2006 à 17:07 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Effectivement, ta solution est intéressante.
C'est marrant, je pensais que tu cracherais sur ce genre d'implémentation qui se rapproche du polymorphisme du C++.
    
  :: Index » Forum Ti68K » Programmation C » Trop de typage tue la programmation (20 réponse(s))
Pages : 2/2     « 1 [2] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 48.89ms avec 18 requetes