<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="Richard GAUTHIER">
<title>EaselJS Démo: Balle rebondissante</title>
<style type="text/css">
canvas {
border: solid 3px #000000;
background-color: #ffff00;
}
</style>
<script type='text/javascript' src='js/easeljs-0.7.0.min.js'></script>
<script type='text/javascript' >
//déclaration des variables globales
var stage; //la scene à animer
var balle;
var largeurEcran;
var hauteurEcran;
var deplaX;
var deplaY;
var angleDegre;
var vitesse = 20;
var rayon = 30;

//première fonction appelée lorsque la page html est chargée
function init() {

//lier la scène au canvas sUr la page html
stage = new createjs.Stage("rgCanvas");

largeurEcran = stage.canvas.width;
hauteurEcran = stage.canvas.height;

balle = new createjs.Shape();
balle.graphics.beginFill("red").drawCircle(0, 0, rayon);
//Positionne la balle au milieu de l'écran
balle.x = largeurEcran / 2;
balle.y = hauteurEcran / 2;
//Met la balle sur la scène.
stage.addChild(balle);


angleDegre = Math.random() * 360;
calcul(angleDegre);


//crée une fonction boucle à 20 images par secondes
createjs.Ticker.addEventListener("tick", tick);
createjs.Ticker.setFPS(20);

}//fin fonction init

function calcul( angleDegre )
{
this.angleDegre = angleDegre;
//Convertir l'angle en radian
var angleRadian = angleDegre * Math.PI / 180;

//gestion du déplacement suivant X et Y
deplaX = vitesse * Math.cos(angleRadian);
deplaY = - vitesse * Math.sin(angleRadian);

}//fin fonction calcul

//la boucle infinie pour animer la scène
function tick(event) {

balle.x += deplaX;
balle.y += deplaY;

//tests pour rester dans la scène
if (balle.x > largeurEcran - rayon) calcul(180 -angleDegre -2);
if (balle.x < rayon) calcul(180 -angleDegre -2);
if (balle.y < rayon) calcul(-angleDegre -2);
if (balle.y > hauteurEcran - rayon) calcul(-angleDegre -2);

//mise à jour de la scène
stage.update(event);

}//fin fonction tick

</script>
</head>
<body onload="init()" >
<h1>EaselJS Démo: Balle rebondissante</h1>
<canvas id="rgCanvas" width="300" height="300">
Dommage votre navigateur ne gère pas les canvas!
</canvas>
</body>
</html>

 Source : rebond.zip

 

package
{
import flash.display.Sprite;

/**
* ...
* @author rg
*/
public class Main extends Sprite
{
private var tabNombres : Array = new Array(5,3,1,2,6,4);

public function Main():void
{
trace(tabNombres); //tableau non trié
tri_selection(tabNombres);
trace(tabNombres); //tableau non trié

}

private function tri_selection(tab : Array) : void
    {
        var longueur, maxi, i : int;
        longueur = tab.length;

        while(longueur>0) {
            //recherche de la position du plus grand élément dans le tableau non encore trié
            maxi=0;

            for (i = 1; i < longueur; i++)

                if(tab[i]>tab[maxi]) 
                    maxi = i;
                
             }

            //echange du plus grand élément avec le dernier
            //echanger(T,maxi,longueur-1)
var memo : int = tab[longueur -1];
tab[longueur - 1] = tab[maxi];
tab[maxi] = memo;

            //traitement du reste du tableau
            longueur = longueur - 1;

}
         }
}


}

 

Creer une page internet :

http://www.w3.org/Style/Examples/011/firstcss.fr.html

 

  • Initiation au positionnement CSS

http://openweb.eu.org/articles/initiation_float/

Les positionnements absolu, fixe et relatif

http://fr.openclassrooms.com/informatique/cours/apprenez-a-creer-votre-site-web-avec-html5-et-css3/les-positionnements-absolu-fixe-et-relatif

Rechercher un élément dans un tableau trié par une méthode dichotomique

Solution :

package
{
    import flash.display.Sprite;
    
    /**
     * ...
     * @author rg
     */
    public class Main extends Sprite
    {
        private var tableau : Array = new Array(0, 2, 5, 7, 12);
        
        
        public function Main():void
        {
            
            trace( recherche(tableau, 5 ) ); //resultat true
            trace( recherche(tableau, 9 ) ); //resultat false
            trace( recherche(tableau, 70 ) ); //resultat false
            
            
        }
        
        private function recherche(tab :Array, number:Number):Boolean
        {
            var i : int = 0;
            while (i< tab.length)
            {
                if (tab[i] == number)  
                {
                    return true;
                }
                else
                        if (tab[i]>number)  
                        {
                            return false;
                        }
                        else i = i + 1;
           }
           
           return false;
            
        }
        
    }
    
}

 

Fil de navigation