Ejemplo n.º 1
0
        public bool ContinuerRotation()
        {
            //Lire les couleurs
            //***********
            ColorSense.ColorData colors = myColorSense.ReadColor();
            int  HUE   = getHue(colors.Red, colors.Green, colors.Blue);
            bool white = colors.Red + colors.Blue + colors.Green > 420;

            //**********

            //Debug.Print("prog continuerRotation" + HUE + "-" + colors.Red + " " + colors.Blue + " " + colors.Green);
            //Attention !!!!!! il faut mettre le parametre couleurInitiale à -1 pour chaque cylindre
            if (white)
            {
                return(true);
            }

            else
            if (couleurInitiale == Couleur.Jaune)
            {
                if (HUE > 150)
                {
                    return(false);               //Blue
                }
                else
                {
                    return(true);
                }
            }
            else
            {
                if (HUE < 100)
                {
                    return(false);               //Jaune
                }
                else
                {
                    return(true);
                }
            }
        }
Ejemplo n.º 2
0
        public bool ContinuerRotation()
        {
            //Lire les couleurs
            //***********
            ColorSense.ColorData colors = myColorSense.ReadColor();
            int  HUE   = getHue(colors.Red, colors.Green, colors.Blue);
            bool white = colors.Red + colors.Blue + colors.Green > 420;

            //**********

            //Debug.Print("prog continuerRotation" + HUE + "-" + colors.Red + " " + colors.Blue + " " + colors.Green);
            //Attention !!!!!! il faut mettre le parametre couleurInitiale à -1 pour chaque cylindre
            if (white)
            {
                return(true);
            }
            //NB pour la méthode ci-dessous, le jaune et le bleu sont inversés par rapport au grand robot
            else
            if (couleurInitiale == Couleur.Bleu)
            {
                if (HUE > 150)
                {
                    return(false);               //Blue
                }
                else
                {
                    return(true);
                }
            }
            else
            {
                if (HUE < 100)
                {
                    return(false);               //Jaune
                }
                else
                {
                    return(true);
                }
            }
        }
Ejemplo n.º 3
0
        //Continuer la rotation
        bool ContinuerRotation(ref int couleurInitiale)
        {
            //Lire les couleurs
            //***********
            ColorSense.ColorData colors = myColorSense.ReadColor();
            int  HUE   = getHue(colors.Red, colors.Blue, colors.Green);
            bool white = colors.Red + colors.Blue + colors.Green > 700;

            //**********
            //Attention !!!!!! il faut mettre le parametre couleurInitiale à -1 pour chaque cylindre
            if (couleurInitiale == -1)
            {
                if (white)
                {
                    couleurInitiale = 2;
                }
                else if (HUE > 150)
                {
                    couleurInitiale = 0;                 //Blue
                }
                else if (HUE < 100)
                {
                    couleurInitiale = 1;                 //Yellow
                }
            }

            //--//
            //Un cas particulier
            if (i > 0)
            {
                if (i == 3) // 3 : nombre de pas a faire pour etre sure de la couleur (on peut changer ce parametre)
                {
                    wcolors = myColorSense.ReadColor();
                    HUE     = getHue(wcolors.Red, wcolors.Blue, wcolors.Green);
                    if (HUE > 150)
                    {
                        config = 4; return(false);
                    }
                    else
                    {
                        config = 3; return(false);
                    }
                    //TurnAngle(-3 * pricisionAngle);
                    return(true);
                }
                i++;
                return(true);
            }

            if (HUE > 150)
            {
                if (couleurInitiale != 0)
                {
                    config = 1;
                    return(false);
                }
                return(true);
            }
            else if (HUE < 100)
            {
                if (couleurInitiale != 1)
                {
                    config = 2;
                    return(false);
                }
                return(true);
            }
            else if (white)
            {
                if (couleurInitiale != 0)
                {
                    i = 1; //TurnAngle(3 * pricisionAngle);
                    return(true);
                }
                return(true);
            }
            else
            {
                return(true);   /* la couleur n'est pas claire*/
            }
        }