Difference between revisions of "JS - How to define a Javascript Class"

From GUILLARD WIKI
Jump to navigation Jump to search
Line 1: Line 1:
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
<script>
<script>


Line 17: Line 16:


   // # Constructor
   // # Constructor
    if(typeof minivileClass.initialized == "undefined"){  
  if(typeof minivileClass.initialized == "undefined"){  
       
         // # Functions
         // # Functions
         minivileClass.prototype.newGame = function(){  
         minivileClass.prototype.newGame = function(){  
           alert(this.message);
           alert(this.message);
         };
         };
      minivileClass.prototype.updateHtml = function(){  
        minivileClass.prototype.updateHtml = function(){  
        for (var i in this.cards)
          for (var i in this.cards)
        document.getElementById("allCards").innerHTML =  
              document.getElementById("allCards").innerHTML =  
               document.getElementById("allCards").innerHTML + ''+this.cards[i]['number']+" "+this.cards[i]['label']+"";
               document.getElementById("allCards").innerHTML + ''+this.cards[i]['number']+" "+this.cards[i]['label']+"";
         };
         };
    // # Functions
        // # Functions
 
     minivileClass.initialized = true;  
     minivileClass.initialized = true;  
     }
     }
Line 33: Line 34:


}  
}  
window.onload = function(){
window.onload = function(){
   var game = new minivileClass();  
   var game = new minivileClass();  

Revision as of 16:59, 19 April 2018

<script>

 function minivileClass(){ 

   // # Variables
    this.message = "Welcome on the amazing JS world !";
    this.cards = [
     {number:"1",colorRule:"blue",actionRule:"+1piece",label:"Champs de ble",price:"1"},
     {number:"2-3",colorRule:"green",actionRule:"+1piece",label:"Boulangerie",price:"1"},
     {number:"3",colorRule:"red",actionRule:"-1pieceToCurrentPlayer",label:"Cafe",price:"2"},
     {number:"5",colorRule:"blue",actionRule:"+1piece",label:"Foret",price:"3"},
     {number:"6",colorRule:"violet",actionRule:"+2piecesFromOtherPlayers",label:"Stade",price:"6"}
    ];
   // # Variables

   // # Constructor
   if(typeof minivileClass.initialized == "undefined"){ 
        
        // # Functions
        minivileClass.prototype.newGame = function(){ 
          alert(this.message);
        };
        minivileClass.prototype.updateHtml = function(){ 
           for (var i in this.cards)
               document.getElementById("allCards").innerHTML = 
               document.getElementById("allCards").innerHTML + ''+this.cards[i]['number']+" "+this.cards[i]['label']+"";
        };
        // # Functions

    minivileClass.initialized = true; 
    }
   // # Constructor	

} 

window.onload = function(){
  	var game = new minivileClass(); 
  	game.newGame();
  	game.updateHtml();
}

</script>

<body>
  <fieldset><legend>Available cards</legend>
  <spa n id="allCards"></spa n>
  	</fieldset>
</body>