IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres IDE Pascal Discussion :

Graphisme avec Dev-Pascal [Dev-Pascal]


Sujet :

Autres IDE Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Graphisme avec Dev-Pascal
    Au secours les pros,
    j'ai un projet à rendre (graphisme avec Turbo Pascal ou Dev-Pascal) et là je fais du surplace ! Y a t-il une bonne volonté qui voudrait bien m'encadrer ?
    Please !

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    oui je veux bien te recadrer, les pros ici ne font pas là pour faire tes devoirs, si tu veux des conseils sur ton code, commence par le donner...sinon je peux envisager de faire tes devoirs contre facturation, mais je suis très cher
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    je suis moins cher

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Ok le moins cher possible sera le mieux tant que je peux résoudre mon probléme.Pour faire 'marcher' un graphe (qui represente par exemple une voiture) je fais quoi?g essayé la fonction delay pour aprés redessiner mais ca ne marche pas

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    g le code suivant et j'aimerais faire marcher un cercle choisi au hasard jusqu'a un rectangle ou il n'y a pas de cercle
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Voici un exemple d'animation réalisée avec l'unité Graph (testé avec FreePascal). Le résultat n'est vraiment pas beau. Peut-on faire mieux avec l'unité Graph ? Je ne sais pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    program Anim1;
     
    uses WinCrt, Graph;
     
    procedure Animation;
    var
      size: word;
      image: pointer;
      x1, y1, x2, y2: integer;
    begin
      x1:=0; y1:=0; x2:=100; y2:=100;
      size := ImageSize(x1, y1, x2, y2);
      GetMem(image, size);
      GetImage(x1, y1, x2, y2, image^);
      while (x1 <= GetMaxX-100) and not KeyPressed do
      begin
        PutImage(x1, y1, image^, XorPut);
        Inc(x1, 5);
        PutImage(x1, y1, image^, XorPut);
      end;
    end;
     
    var
      pilote, mode: integer;
     
    begin
      DetectGraph(pilote, mode);
      InitGraph(pilote, mode, '');
      SetColor(Red);
      Circle(50, 50, 40);
      Animation;
      ReadKey;
      CloseGraph;
    end.
    Cet exemple peut éventuellement te servir à essayer des choses mais, pour avoir un résultat plus satisfaisant, je crois qu'il faudra te tourner vers une autre unité (comme WinGraph par exemple).
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Avec cette procédure animation, je parviens juste à faire bouger une partie de mon premier rectangle. Et je n'ai pas bien compris comment la modifier pour faire bouger les cercles. Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    program graphe;
    uses Graph,crt;
    procedure animation;
    var
      size: word;
      image: pointer;
      x1, y1, x2, y2: integer;
    begin
      x1:=0; y1:=0; x2:=100; y2:=100;
      size := ImageSize(x1, y1, x2, y2);
      GetMem(image, size);
      GetImage(x1, y1, x2, y2, image^);
      while (x1 <= GetMaxX-100) and not KeyPressed do
      begin
        PutImage(x1, y1, image^, XorPut);
        Inc(x1, 5);
        PutImage(x1, y1, image^, XorPut);
      end;
    end;
     
    var pilote:smallint; mode:smallint; q,p,j,i,n:integer;
    begin
    pilote:= detect;
    n:=50;
      p:=50;
        q:=200;
    initGraph (pilote,mode,'C:\Documents\graphisme\bgi');
    for i:=1 to 10 do
    begin
    circle(n,650,15);
    n:=n+40;
    end;
    for j:=1 to 3 do
    begin
    rectangle(p,50,q,150);
    p:=p+250; q:=q+250;
     end;
    animation;
    readln;
     closeGraph;
    end.
    Fichiers attachés Fichiers attachés

  8. #8
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Les carrés et les cercles sont dessinés sur l'écran. Ensuite la procédure Animation est appelée. Elle copie un rectangle dont les coordonnées sont données en début de procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x1:=0; y1:=0; x2:=100; y2:=100;
    Ensuite la procédure déplace l'image copiée, en l'effaçant et en la redessinant à partir d'un nouveau point.

    En l'occurrence, le nouveau point est à droite (5 pixels) du point précédent.

    Maintenant en fonction de ce que tu veux faire, il faut déclarer autant d'images que tu veux, y copier les dessins et trouver la formule de leur déplacement.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Ok merci j'essai de modifier la procedure animation pour faire bouger les cercles.Voyons si je vais y parvenir.

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    enfin j'y arrive c'est bon c'est fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    uses Graph,crt;
    var pilote:smallint; mode:smallint; b,a,q,p,j,i,n:integer; occup:boolean;
     
      procedure efface1;
     begin
     a:=200;
     setcolor(black);
     circle(100,a,15);
     end;
     
     procedure efface2;
     begin
     a:=200;
     setcolor (black);
     circle(380,a,15);
     end;
     
     procedure efface3;
     begin
     a:=200;
     setcolor (black);
     circle(650,a,15);
     end;
     
     procedure guichet1;
     begin
     a:=600;
     while a> 100 do
    begin
     setcolor(green);
     circle(50,a,15);
     delay(1000);
     setcolor(black);
     circle(50,a,15);
     setcolor(green);
     delay(500);
     a:=a-50;
     end;
     circle(100,a,15);
     {efface2; }
     end;
     
     procedure guichet2;
     begin
     a:=600;b:=50;
     while a>200 do
     begin
     setcolor(yellow);
     circle(b,a,15);
     delay(1000);
     setcolor(black);
     circle(b,a,15);
     setcolor(yellow);
     delay(500);
     a:=a-50;
     b:=b+35;
     end;
     circle(380,a,15);
     efface3;
     end;
     
     procedure guichet3;
     begin
     a:=600;
     b:=50;
     while a>200 do
     begin
     setcolor(red);
     circle(b,a,15);
     delay(1000);
     setcolor(black);
     circle(b,a,15);
     setcolor(yellow);
     delay(500);
     a:=a-50;
     b:=b+70;
     end;
     circle(650,a,15);
     efface1;
     end;
     
     
    begin
    pilote:= detect;
    n:=50;
      p:=50;
        q:=200;
    initGraph (pilote,mode,'C:\Documents\graphisme\bgi');
    for i:=1 to 10 do
    begin
    circle(n,650,15);
    n:=n+40;
    end;
    for j:=1 to 3 do
    begin
    rectangle(p,50,q,150);
    p:=p+250; q:=q+250;
    end;
    for i:=1 to 3 do
    begin
    guichet1;{guichet2;guichet3 ;}
    end;
    readln;
     closeGraph;
    end.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FreePascal]Erreur de compilation avec Dev-Pascal
    Par youngeikichi dans le forum Free Pascal
    Réponses: 3
    Dernier message: 17/02/2005, 14h22
  2. [Free Pascal] Graphique avec Dev-Pascal
    Par CompuTux dans le forum Free Pascal
    Réponses: 15
    Dernier message: 03/09/2004, 02h15
  3. [FP]Tracer Une ligne avec Dev-pascal
    Par yffick dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 17/12/2003, 16h33
  4. [GTK]instal devPack avec dev c++
    Par FreshVic dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 15/04/2003, 16h48
  5. string avec Dev-C++ 4
    Par Shadow Blade dans le forum Dev-C++
    Réponses: 15
    Dernier message: 20/03/2003, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo