Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Je suis tombé sur un os en C, quelqu'un peut m'aider?
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Je suis tombé sur un os en C, quelqu'un peut m'aider?

Posté le 13/08/2012 18:09

je voulais faire une fonction qui trace des lignes sur l'écran (comme Bdisp_DrawLine_VRAM() )

voila le code:

void Ligne(int x1, int y1, int x2, int y2, char couleur)
{
    int i,x,y;

    if(x1>x2)
    {
        i=x1;
        x1=x2;
        x2=i;
    }

    if(y1>y2)
    {
        i=y1;
        y1=y2;
        y2=i;
    }

    switch(2*(x1==x2)-(y1==y2))
    {
        case 0:    switch((x2-x1)<(y2-y1))
                {
                    case 1: for(x=x1;x<=x2;x++) Pixel(x,y1+x*((y2-y1)/(x2-x1)),couleur);
                    break;

                    case 0: for(y=y1;y<=y2;y++) Pixel(x1+y*((x2-x1)/(y2-y1)),y,couleur);
                    break;
                }
        break;

        case 1 : Pixel(x1,y1,couleur);
        break;

        case 2 : for(y=y1;y<=y2;y++) Pixel(x1,y,couleur);
        break;

        case -1 : for(x=x1;x<=x2;x++) Pixel(x,y1,couleur);
        break;
    }
}


et bref, sa marche pas. Quand je l'ai copié dans un programme en basic (en modifiant le moins possible) sa marchait, j'aimerais savoir pourquoi.

PS: void Pixel( int x, int y, char couleur) est une fonction que j'ai mis au point pour modifier un pixel de la VRAM.


1, 2 Suivante
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 13/08/2012 18:17 | #


Il affiche un message d'erreur ?
Je sais que je ne peut pas trop aider, vu mes connaissances

Projets que je soutiens
Masquer
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 18:23 | #


pas de message d’erreur, c'est le pixels qui s'affichent au petit bonheur de la chance, et en clignotant comme du niveau de gris (alors qu'il y a pas de rafraîchissement durant la fonction)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 13/08/2012 18:25 | #


Je le savais, Je ne peut pas t'aider, désolé...
Projets que je soutiens
Masquer
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 18:38 | #


bah, vu que tu me considère comme ton prof de programmation
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 13/08/2012 18:45 | #


La fonction pixel, c'est toi qui l'a faite ? Si oui, l'erreur vient pt de là.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 18:51 | #


dsl, l'erreur ne vient pas de la, j'ai testé en remplaçant pixel par la fonction de basse de casio et sa marchait pas non plus.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 13/08/2012 19:17 | #


Quand tu dit au petit bohneur la chance, le resultat est le même quand tu lui donne les argument ? c'est pas completement aléatoire non plus ?

Et quand je calcul vite fait à la main pour ca:
Ligne(1, 1, 4, 3, 1)
et j'obtient si je me trompe pas
2.5 ; 1
4 ; 2
5.5 ; 3
Bon deja c'est pas des entiers, mais bon ca va tronquer je suppose. donc moi je lui demande le point 1,1 au debut et lui il commance par le point 2,1 deja y'a un problème la. Et je voulais qu'il finisse par 4,3 il finit par 5,3. Enfin je crois pas m'être trompé.

Bref j'avais deja essayé de dessiner une ligne pixel par pixel et sache qu'il y a un algorithme qui est utilisé sur pas mal de truc et qui est sur wikipedia : Algorithme de tracé de segment de Bresenham
Moi j'avais l'un de ces code, tu le traduit en C vu que la c'est du pseudo code, et ca avais parfaitement marché pour moi, enfin après tu fait ce que tu veux
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 13/08/2012 19:24 | #


Dès le début tu écris : si x1>x2, inverser x1 et x2; si y1>y2, inverser y1 et y2;
Donc la ligne (1,5,5,1) sera dessinée en (1,1,5,5)

Dans ton case 0, pourquoi un switch et pas un simple if else ?
De plus, tu as inversé les 2 boucles, si (x2-x1)<(y2-y1) alors la ligne sera plus verticale qu'horizontale.

Enfin, ton algo est très lourd. Faire une division prend du temps. De tout ce que j'ai pu tester, je n'ai jamais rien trouvé de plus rapide que Bresenham.
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 13/08/2012 19:30 | #


Si l'écart en x est inférieur, tu dois faire ta boucle en y, et inversement.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 20:46 | #


exact pierotll, j'avais pas fait gaffe, il ce peut que l'un des problèmes vient des inversions

Pierotll a écrit :
Enfin, ton algo est très lourd. Faire une division prend du temps. De tout ce que j'ai pu tester, je n'ai jamais rien trouvé de plus rapide que Bresenham.

Tu peux m’expliquer ce qu'est Bresenham?

Ajouté le 13/08/2012 à 20:59 :
Merci Wikipedia

J\'ai trouvé l\'algo, c\'est un peux ce que je voulais faire, mais je refaisait bêtement certains calculs inutiles. Merci Pierotll pour ta suggestion.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Binary_man Hors ligne Ancien rédacteur Points: 1344 Défis: 19 Message

Citer : Posté le 13/08/2012 21:03 | #


Bresenham propose d'autres fonctions comme le cercle
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 21:20 | #


je n'ai besoins que de lignes, merci (minecraft ne compte heureusement pas de cercles ni d'ellipses ou sphères et c'est mieux comme sa)

Ajouté le 13/08/2012 à 21:21 :
enfin, bref, je pense que l\'on peut déjà clore et supprimer le sujet pour éviter de prendre trop de place sur le site
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 13/08/2012 21:59 | #


On ne supprime pas un sujet, ça peut toujours servir.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 22:42 | #


Et puis merde, sa marche toujours pas, je vais me contenter de copier la fonction ML_line() et la modifier comme je l'entend, parce que je viens de tenter de créer une fonction utilisant la méthode Bresenham et c'est encore un fiasco:
le code
Cliquer pour enrouler


Ligne(x1, y1, x2, y2, couleur)
{
    float x,y,pas;

    switch(2*(x1==x2)-(y1==y2))
    {
        case 0:    if(abs(x1-x2)>abs(y1-y2))
                {
                    if(x1>x2)
                    {
                        x=x1;
                        x1=x2;
                        x2=x;

                        y=y1;
                        y1=y2;
                        y2=y;
                    }
        
                    pas=(y2-y1)/(x2-x1);
                    y=y1;

                    for(x=x1;x<=x2;x++)
                    {
                        Pixel(x,(int)y,couleur);
                        y+=pas;
                    }
                }
                else
                {
                    if(y1>y2)
                    {
                        x=x1;
                        x1=x2;
                        x2=x;

                        y=y1;
                        y1=y2;
                        y2=y;
                    }

                    pas=(x2-x1)/(y2-y1);
                    x=x1;

                    for(y=y1;y<=y2;y++)
                    {
                        Pixel((int)x,y,couleur);
                        x+=pas;
                    }
                }
        break;

        case 1: Pixel(x1,y1,couleur);
        break;

        case 2:    if(y1>y2)
                {
                    y=y1;
                    y1=y2;
                    y2=y;
                }
                    
                 for(y=y1;y<=y2;y++) Pixel(x1,y,couleur);
        break;

        case -1:    if(x1>x2)
                {
                    x=x1;
                    x1=x2;
                    x2=x;
                }
                for(x=x1;x<=x2;x++) Pixel(x,y1,couleur);
        break;
    }
}


Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 13/08/2012 23:01 | #


T'a le même resultat que tout a l'heure ?

Ajouté le 13/08/2012 à 23:21 :
Je sais pas si ca peut t\'aider, moi je l\'avais fait il y a longtemps quand j\'avais commencé un emulateur de basic casio (que j\'ai jamais fini, il ne gère que horizontal vertical, f-line, text, et viewwindows pixelon/off ploton/off ) Bref le code est en C++ mais il je l\'avais fait à la base en C, puis je l\'avais mis en C++ pour pour pouvoir faire de la POO, donc tu pourra peut être l\'adapter facilement pour ton programme:
Cliquez pour découvrir
Cliquez pour recouvrir

void ecran::line(int x1, int y1, int x2, int y2)
{
    int dx=x2-x1;
    int dy=y2-y1;
    if(dx!=0)
    {
        if(dx>0)
        {
            if(dy!=0)
            {
                if(dy>0)
                {
                    // vecteur oblique dans le 1er quadran
                    if(dx>dy)
                    {
                        // vecteur diagonal ou oblique proche de l’horizontale, dans le 1er octant
                        int e=dx;
                        dx=dx*2;
                        dy=dy*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            x1=x1+1;
                            if(x1==x2){break;}
                            e=e-dy;
                            if(e<0)
                            {
                                y1++; //deplacement diagonal
                                e=e+dx;
                            }
                        }
                    }
                    else
                    {
                        // vecteur oblique proche de la verticale, dans le 2nd octant
                        int e=dy;
                        dy=dy*2;
                        dx=dx*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            y1++;
                            if(y1==y2){break;}
                            e=e-dx;
                            if(e<0)
                            {
                                x1++; //deplacement diagonal
                                e=e+dy;
                            }
                        }
                    }
                }
                else// dy < 0 (et dx > 0)
                {
                    // vecteur oblique dans le 4e cadran
                    if(dx>-dy)
                    {    
                        // vecteur diagonal ou oblique proche de l’horizontale, dans le 8e octant
                        int e=dx;
                        dx=dx*2;
                        dy=dy*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            x1=x1+1;
                            if(x1==x2){break;}
                            e=e+dy;
                            if(e<0)
                            {
                                y1--; //deplacement diagonal
                                e=e+dx;
                            }
                        }
                    }
                    else
                    {
                        // vecteur oblique proche de la verticale, dans le 7e octant
                        int e=dy;// e est négatif
                        dy=dy*2;
                        dx=dx*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            y1--;
                            if(y1==y2){break;}
                            e=e+dx;
                            if(e<0)
                            {
                                x1++; //deplacement diagonal
                                e=e+dy;
                            }
                        }
                    }
                }
            }
            else // dy = 0 (et dx > 0)
            {
                // vecteur horizontal vers la droite
                do
                {
                    basic_PxlOn(x1, y1) ;
                    x1++;
                } while (x1==x2);
            }
        }
        else // dx < 0
        {
            dy=y2-y1;
            if(dy!=0)
            {
                if(dy>0)
                {
                    // vecteur oblique dans le 2nd quadran
                    if(-dx>=dy)
                    {
                        // vecteur diagonal ou oblique proche de l’horizontale, dans le 4e octant
                        int e=dx;
                        dx=dx*2;
                        dy=dy*2;
                        while(1)// déplacements horizontaux
                        {
                            basic_PxlOn(x1, y1) ;
                            x1--;
                            if(x1==x2){break;}
                            e=e+dy;
                            if(e>=0)
                            {
                                y1++; //deplacement diagonal
                                e=e+dx;
                            }
                        }
                    }
                    else
                    {
                        // vecteur oblique proche de la verticale, dans le 3e octant
                        int e=dy;
                        dy=dy*2;
                        dx=dx*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            y1++;
                            if(y1==y2){break;}
                            e=e+dx;
                            if(e<=0)
                            {
                                x1--; //deplacement diagonal
                                e=e+dx;
                            }
                        }
                    }
                }
                else // dy < 0 (et dx < 0)
                {
                    // vecteur oblique dans le 3e cadran
                    if(dx<=dy)
                    {
                        // vecteur diagonal ou oblique proche de l’horizontale, dans le 5e octant
                        int e=dx;
                        dx=dx*2;
                        dy=dy*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            x1--;
                            if(x1==x2){break;}
                            e=e-dy;
                            if(e>=0)
                            {
                                y1--; //deplacement diagonal
                                e=e+dx;
                            }
                        }
                    }
                    else
                    {
                        // vecteur oblique proche de la verticale, dans le 6e octant
                        int e=dy;
                        dy=dy*2;
                        dx=dx*2;
                        while(1)
                        {
                            basic_PxlOn(x1, y1) ;
                            y1--;
                            if(y1==y2){break;}
                            e=e-dx;
                            if(e>=0)
                            {
                                x1--; //deplacement diagonal
                                e=e+dy;
                            }
                        }
                    }
                }
            }
            else // dy = 0 (et dx < 0)
            { // vecteur horizontal vers la gauche
                do
                {
                    basic_PxlOn(x1, y1) ;
                    x1--;
                } while (x1==x2);
            }
        }
    }
    else// dx = 0
    {
        dy=y2-y1;
        if(dy!=0)
        {
            if(dy>0)
            {
                // vecteur vertical croissant
                do
                {
                    basic_PxlOn(x1, y1) ;
                    y1++;
                } while (y1==y2);
            }
            else // dy < 0 (et dx = 0)
            {
                  // vecteur vertical décroissant
                do
                {
                    basic_PxlOn(x1, y1) ;
                    y1--;
                } while (y1==y2);
            }
        }
    }
}


Normalement t\'a juste a remplacé tous les basic_PxlOn par ta fonction pour changer les pixel de couleur, enfin je crois Au pire essaye ca te coute pas grand chose
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/08/2012 23:29 | #


Ziqumu a écrit :
T'a le même resultat que tout a l'heure ?

pas vraiment, le programme ce contente de s’arrêter.

Sinon, ton algo est sympas, mais ce que je cherche, c'est la simplicité, et ML_line() est de loin la fonction la plus simple que j'ai trouvé qui pourrait me servir.

(je ne cherche pas vraiment a afficher des points, mais en mode graphique, c'est plus facile que dans une matrice)
(je cherche a créer un mappeur, une fonction qui applique des transformations a une image et qui l'insère dans une figure géométrique plane)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 13/08/2012 23:54 | #


(Quoi il est pas simple je vois pas de quoi tu parle )
Bah ça c'est sur que c'est le plus simple, Pierrotll c'est un dieux aussi, tu peut pas faire mieux, surtout que ce code la je l'ai fait il y a 6 mois et que je savais moins coder en C (ca veut pas dire que je code super bien maintenant )
Bref j'ai du mal a comprendre ce que tu veut faire pourquoi ne pas utiliser ML_line() à ce moment là ?

Et je dois dire que j'ai pas vraiment compris tes deux parenthèse
En gros tu veut dessiner dessiner les trait mais au lieux de faire a l'écran tu le fait dans une matrice ? Ca tombe mal je suis pas calé en matrice ! Bref je vais laisser mon petit cervaux de coté et laisser les autre t'aider
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 14/08/2012 00:23 | #


J'ai trouvé ça sur cemetech, cette fonction utilise l'algorithme de bresenham :
code
code
//Uses the Bresenham line algorithm
void drawLine(int x1, int y1, int x2, int y2, int color) {
    signed char ix;
    signed char iy;
  
    // if x1 == x2 or y1 == y2, then it does not matter what we set here
    int delta_x = (x2 > x1?(ix = 1, x2 - x1):(ix = -1, x1 - x2)) << 1;
    int delta_y = (y2 > y1?(iy = 1, y2 - y1):(iy = -1, y1 - y2)) << 1;
  
   plot(x1, y1, color);  
    if (delta_x >= delta_y) {
        int error = delta_y - (delta_x >> 1);        // error may go below zero
        while (x1 != x2) {
            if (error >= 0) {
                if (error || (ix > 0)) {
                    y1 += iy;
                    error -= delta_x;
                }                           // else do nothing
         }                              // else do nothing
            x1 += ix;
            error += delta_y;
            plot(x1, y1, color);
        }
    } else {
        int error = delta_x - (delta_y >> 1);      // error may go below zero
        while (y1 != y2) {
            if (error >= 0) {
                if (error || (iy > 0)) {
                    x1 += ix;
                    error -= delta_y;
                }                           // else do nothing
            }                              // else do nothing
            y1 += iy;
            error += delta_x;  
            plot(x1, y1, color);
        }
    }
}

Il suffit juste de remplacer plot(...) par Pixel(...);
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 14/08/2012 18:24 | #


merci, je vais voir si je peux l'utiliser, a la base, je vous pose ces question car ce que je veux faire c'est une sorte de fonction Fill simplifiée pour afficher des formes géometriques simples (4 sommets, convexe)

Ajouté le 14/08/2012 à 18:52 :
le ML_filled_polygone() est trop lent par rapport a ce qu\'il me faudrait, car il prend en compte trop de paramètres, il me faudrait une fonction propre a un polygone a 4 sommets et convexe, j\'en ai vu dans le tutoriel de christophe heulin, mais je n\'arrive pas a l\'intégrer dans mes programmes.

Ajouté le 14/08/2012 à 19:14 :
Je retire ce que je viens de dire, je suis juste con, j\'oubliais que c\'est GRAPHIC.c qu\'il fallait intégrer, et non pas GRAPHIC.h pour le tuto de christophe heulin

dsl de te faire une remarque pierotll, mais sa fonction fill est nettement plus rapide, et contrairement a la tienne, on a pas de pixel blancs sur les bordures (j\'ai encadré un fill avec les fonctions ML_line() et le fill ne remplissait pas exactement toute la forme)

Ajouté le 14/08/2012 à 19:16 :
je pense donc pouvoirs sortir bientôt un test d\'affichage de face sur un cube unique bientôt, le temps de trafiquer encore un peu mon programme.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Binary_man Hors ligne Ancien rédacteur Points: 1344 Défis: 19 Message

Citer : Posté le 14/08/2012 20:01 | #


Peut être que les fonctions n'ont pas le même rôle, c'est pour ça que celle de pierrot doit être plus lente.
Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2023 | Il y a 45 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd