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

From GUILLARD WIKI
Jump to navigation Jump to search
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
<code><script>
<syntaxhighlight lang="javascript">
<script>


<code>function minivileClass(){ </code>
function minivileClass(){  


<code>&nbsp;// # Variables</code>
  // # Variables
<code>&nbsp;this.message = "Welcome on the amazing JS world !";</code>
    this.message = "Welcome on the amazing JS world !";
<code>&nbsp;this.cards = [</code>
    this.cards = [
<code>&nbsp;&nbsp;{number:"1",colorRule:"blue",actionRule:"+1piece",label:"Champs de ble",price:"1"},</code>
    {number:"1",colorRule:"blue",actionRule:"+1piece",label:"Champs de ble",price:"1"},
<code>&nbsp;&nbsp;{number:"2-3",colorRule:"green",actionRule:"+1piece",label:"Boulangerie",price:"1"},</code>
    {number:"2-3",colorRule:"green",actionRule:"+1piece",label:"Boulangerie",price:"1"},
<code>&nbsp;&nbsp;{number:"3",colorRule:"red",actionRule:"-1pieceToCurrentPlayer",label:"Cafe",price:"2"},</code>
    {number:"3",colorRule:"red",actionRule:"-1pieceToCurrentPlayer",label:"Cafe",price:"2"},
<code>&nbsp;&nbsp;{number:"5",colorRule:"blue",actionRule:"+1piece",label:"Foret",price:"3"},</code>
    {number:"5",colorRule:"blue",actionRule:"+1piece",label:"Foret",price:"3"},
<code>&nbsp;&nbsp;{number:"6",colorRule:"violet",actionRule:"+2piecesFromOtherPlayers",label:"Stade",price:"6"}</code>
    {number:"6",colorRule:"violet",actionRule:"+2piecesFromOtherPlayers",label:"Stade",price:"6"}
<code>&nbsp;];</code>
    ];
<code>&nbsp;// # Variables</code>
  // # Variables
<code>&nbsp;// # Constructor</code>
<code>&nbsp;&nbsp;if(typeof minivileClass.initialized == "undefined"){ </code>
<code>&nbsp;&nbsp;// # Functions</code>
<code>&nbsp;&nbsp;minivileClass.prototype.newGame = function(){ </code>
<code>&nbsp;&nbsp;&nbsp;alert(this.message);</code>
<code>&nbsp;&nbsp;};
<code>&nbsp;&nbsp;minivileClass.prototype.updateHtml = function(){ </code>
<code>&nbsp;&nbsp;&nbsp;for (var i in this.cards)</code>
<code>&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById("allCards").innerHTML = document.getElementById("allCards").innerHTML + '<span style="border:1px solid black; align:center; margin: 5px; color:white; background-color:'+this.cards[i]['colorRule']+'";>'+this.cards[i]['number']+" "+this.cards[i]['label']+"</span>";</code>
<code>&nbsp;&nbsp;};</code>
<code>&nbsp;&nbsp;// # Functions</code>
<code>&nbsp;&nbsp;&nbsp;minivileClass.initialized = true; </code>
<code>&nbsp;&nbsp;}</code>
<code>&nbsp;// # Constructor </code>
<code>} </code>


<code>window.onload = function(){</code>
  // # Constructor
<code>&nbsp;var game = new minivileClass(); </code>
  if(typeof minivileClass.initialized == "undefined"){
<code>&nbsp;game.newGame();</code>
       
<code>&nbsp;game.updateHtml();</code>
        // # Functions
<code>}</code>
        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


<code></script></code>
  minivileClass.initialized = true;
  }
  // # Constructor


<code><body></code>
}
<code>&nbsp;<fieldset><legend>Available cards</legend></code>
 
<code>&nbsp;&nbsp;<span id="allCards"></span></code>
window.onload = function(){
<code>&nbsp;</fieldset><br/></code>
    var game = new minivileClass();
<code></body></code>&nbsp;
    game.newGame();
    game.updateHtml();
}
 
</script>
 
<body>
    <fieldset><legend>Available cards</legend>
        <spa n id="allCards"></spa n>
    </fieldset>
</body>
 
</syntaxhighlight>

Latest revision as of 10:56, 18 May 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>