daily pastebin goal
66%
SHARE
TWEET

Untitled

a guest Dec 9th, 2018 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //***************************
  2. // Functional Classes method
  3. //***************************
  4. var Dog = function(name, breed, age) {
  5.     var obj = {};
  6.     obj.name = name;
  7.     obj.breed = breed;
  8.     obj.age = age;
  9.     extend(obj, Dog.status);
  10.     extend(obj, Dog.actions);
  11.     return obj;
  12. };
  13.  
  14. var extend = function(obj1, obj2) {
  15.     for(var key in obj2) {
  16.         obj1[key] = obj2[key]
  17.     }
  18. };
  19.  
  20. Dog.status = {
  21.     'happiness' : 50,
  22.     'hunger' : 20,
  23.     'energy' : 50
  24. };
  25.  
  26. Dog.actions = {
  27.                 'feed': function (food) {
  28.                             if(this.hunger - food > 0) {
  29.                                 this.hunger -= food;
  30.                             } else {
  31.                                 this.hunger = 0;
  32.                             };
  33.                         },
  34.                 'play': function(time) {
  35.                             if(this.happiness + time < 100) {
  36.                                 this.happiness += time;
  37.                             } else {
  38.                                 this.happiness = 100;
  39.                             };
  40.  
  41.                             if(this.energy - time > 0) {
  42.                                 this.energy -= time;
  43.                             } else {
  44.                                 this.energy = 0;
  45.                             };
  46.                         },
  47.                 'nap': function(time) {
  48.                             if(this.energy + time < 100) {
  49.                                 this.energy += time;
  50.                             } else {
  51.                                 this.energy = 100;
  52.                             };
  53.                         }  
  54. };
  55.  
  56. //***************************
  57. //Prototypal Class method
  58. //***************************
  59. var Dog = function(name, breed, age) {
  60.     var obj = Object.create(Dog.prototype);
  61.     obj.name = name;
  62.     obj.breed = breed;
  63.     obj.age = age;
  64.     obj.happiness = 50;
  65.     obj.hunger = 20;
  66.     obj.energy = 50;
  67.     return obj;
  68. };
  69.  
  70. Dog.prototype.feed = function (food) {
  71.                         if(this.hunger - food > 0) {
  72.                             this.hunger -= food;
  73.                         } else {
  74.                             this.hunger = 0;
  75.                         };
  76.                     };
  77. Dog.prototype.play = function(time) {
  78.                         if(this.happiness + time < 100) {
  79.                             this.happiness += time;
  80.                         } else {
  81.                             this.happiness = 100;
  82.                         };
  83.  
  84.                         if(this.energy - time > 0) {
  85.                             this.energy -= time;
  86.                         } else {
  87.                             this.energy = 0;
  88.                         };
  89.                     };
  90. Dog.prototype.nap = function(time) {
  91.                         if(this.energy + time < 100) {
  92.                             this.energy += time;
  93.                         } else {
  94.                             this.energy = 100;
  95.                         };
  96.                     }; 
  97.  
  98.  
  99. //***************************
  100. //Pseudoclassical class method
  101. //***************************
  102.  
  103. var Dog = function(name, breed, age) {
  104.     this.name = name;
  105.     this.breed = breed;
  106.     this.age = age;
  107.     this.happiness = 50;
  108.     this.hunger = 20;
  109.     this.energy = 50;
  110. };
  111.  
  112. Dog.prototype.feed = function (food) {
  113.                         if(this.hunger - food > 0) {
  114.                             this.hunger -= food;
  115.                         } else {
  116.                             this.hunger = 0;
  117.                         };
  118.                     };
  119. Dog.prototype.play = function(time) {
  120.                         if(this.happiness + time < 100) {
  121.                             this.happiness += time;
  122.                         } else {
  123.                             this.happiness = 100;
  124.                         };
  125.  
  126.                         if(this.energy - time > 0) {
  127.                             this.energy -= time;
  128.                         } else {
  129.                             this.energy = 0;
  130.                         };
  131.                     };
  132. Dog.prototype.nap = function(time) {
  133.                         if(this.energy + time < 100) {
  134.                             this.energy += time;
  135.                         } else {
  136.                             this.energy = 100;
  137.                         };
  138.                     }; 
  139.  
  140.  
  141.  
  142. var tofu = new Dog('Tofu', 'chiuahuah', 7)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top