/****************************************************************************/
/*                                                                          */
/*  Nom du fichier    : GraphicT.cpp                                        */
/*                                                                          */
/*  Auteur(s)         : SALAMIN Michel, assistant eivd                      */
/*                                                                          */
/*  Date de creation  : 9 mars 1999                                         */
/*                                                                          */
/*  But               : Tester le module contenant les fonctions graphiques.*/
/*                                                                          */
/*  Date de modif.    : 21.02.01 PGT                                        */
/*  Raison            : Adaptation à la nouvelle version de Spider          */
/*                                                                          */
/*  Modules appeles   : Spider, SpiderUser, SpiderDraw                      */
/*  Mat. particulier  :                                                     */
/*                                                                          */
/*  Compilateur       : Microsoft Visual C++ 6.0                            */
/*                                                                          */
/*  Remarques         :                                                     */
/*                                                                          */
/****************************************************************************/

#include "Spider.h"
#include "SpiderUser.h"
#include "SpiderDraw.h"



void main(void)
    {
    // Declaration d'une variable permettant de lire au caractere au clavier.
    char car;

    // Declaration d'une variable permettant d'indiquer la vitesse de
    // mouvement de la ligne.
    int vitesse = 1;

    // Declaration d'une variable permettant de memoriser la position
    // courante de la ligne.
    int PositionCourante = 0;



    // Initialise le mode graphique.
    Spider::initWindow("SpiderT");

    // Boucle infinie.
    while(true)
        {
        // Efface la ligne dessinee precedemment.
        Spider::Draw::setColorPen(Spider::Draw::white);
        Spider::lineTo(PositionCourante,0,Spider::getMaxX()-PositionCourante,Spider::getMaxY());
        Spider::Draw::setColorPen(Spider::Draw::black);

        // Calcul la position suivante.
      if(PositionCourante<Spider::getMaxX())
            PositionCourante++;
        else
            PositionCourante = 0;

        // dessine une ligne 
        Spider::lineTo(PositionCourante,0,Spider::getMaxX()-PositionCourante,Spider::getMaxY());

        // Lit le chiffre tape puis traite ce chiffre lu.
        if (Spider::User::keyPressed(&car))
            if( car>='0' && car<='9' )
                vitesse = car - '0';
        

        // Attend selon la vitesse choisie.
        switch(vitesse)
            {
            case  1 : Spider::User::delay(    1); break;
            case  2 : Spider::User::delay(   10); break;
            case  3 : Spider::User::delay(   50); break;
            case  4 : Spider::User::delay(  100); break;
            case  5 : Spider::User::delay(  250); break;
            case  6 : Spider::User::delay(  500); break;
            case  7 : Spider::User::delay( 1000); break;
            case  8 : Spider::User::delay( 2000); break;
            case  9 : Spider::User::delay( 3000); break;
            default : Spider::User::delay(    0); break;
            }
        }

    // Quitte le mode graphique.
    Spider::closeWindow();
    }