===================================================================
--- original.js
+++ change.js
@@ -1,123 +1,123 @@
-/****
+/****
* Classes
-****/
+****/
//<Assets used in the game will automatically appear here>
// Family member class
var FamilyMember = Container.expand(function (name, color) {
- var self = Container.call(this);
- self.name = name;
- self.health = 100;
- self.hunger = 0;
- self.thirst = 0;
- var memberGraphics = self.attachAsset('character', {
- width: 100,
- height: 100,
- color: color,
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.update = function () {
- // Update hunger and thirst over time
- self.hunger += 0.1;
- self.thirst += 0.1;
- // Check if health should decrease
- if (self.hunger > 100 || self.thirst > 100) {
- self.health -= 1;
- }
- // Check if the family member is dead
- if (self.health <= 0) {
- self.destroy();
- }
- };
- return self;
+ var self = Container.call(this);
+ self.name = name;
+ self.health = 100;
+ self.hunger = 0;
+ self.thirst = 0;
+ var memberGraphics = self.attachAsset('character', {
+ width: 100,
+ height: 100,
+ color: color,
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.update = function () {
+ // Update hunger and thirst over time
+ self.hunger += 0.1;
+ self.thirst += 0.1;
+ // Check if health should decrease
+ if (self.hunger > 100 || self.thirst > 100) {
+ self.health -= 1;
+ }
+ // Check if the family member is dead
+ if (self.health <= 0) {
+ self.destroy();
+ }
+ };
+ return self;
});
// Resource class
var Resource = Container.expand(function (type, color) {
- var self = Container.call(this);
- self.type = type;
- var resourceGraphics = self.attachAsset('resource', {
- width: 50,
- height: 50,
- color: color,
- anchorX: 0.5,
- anchorY: 0.5
- });
- return self;
+ var self = Container.call(this);
+ self.type = type;
+ var resourceGraphics = self.attachAsset('resource', {
+ width: 50,
+ height: 50,
+ color: color,
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ return self;
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x87CEEB // Sky blue background
+ backgroundColor: 0x87CEEB // Sky blue background
});
-/****
+/****
* Game Code
-****/
+****/
// Initialize family members
var familyMembers = [];
var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00]; // Red, Green, Blue, Yellow
var names = ["Dad", "Mom", "Son", "Daughter"];
for (var i = 0; i < 4; i++) {
- var member = new FamilyMember(names[i], colors[i]);
- member.x = 200 + i * 150;
- member.y = 200;
- familyMembers.push(member);
- game.addChild(member);
+ var member = new FamilyMember(names[i], colors[i]);
+ member.x = 200 + i * 150;
+ member.y = 200;
+ familyMembers.push(member);
+ game.addChild(member);
}
// Initialize resources
var resources = [];
var resourceTypes = ["food", "water"];
var resourceColors = [0x8B4513, 0x1E90FF]; // Brown for food, Blue for water
for (var j = 0; j < 10; j++) {
- var typeIndex = Math.floor(Math.random() * resourceTypes.length);
- var resource = new Resource(resourceTypes[typeIndex], resourceColors[typeIndex]);
- resource.x = Math.random() * 2048;
- resource.y = Math.random() * 2732;
- resources.push(resource);
- game.addChild(resource);
+ var typeIndex = Math.floor(Math.random() * resourceTypes.length);
+ var resource = new Resource(resourceTypes[typeIndex], resourceColors[typeIndex]);
+ resource.x = Math.random() * 2048;
+ resource.y = Math.random() * 2732;
+ resources.push(resource);
+ game.addChild(resource);
}
// Event listeners for dragging family members
var dragNode = null;
game.down = function (x, y, obj) {
- for (var i = 0; i < familyMembers.length; i++) {
- if (familyMembers[i].containsPoint({
- x: x,
- y: y
- })) {
- dragNode = familyMembers[i];
- break;
- }
- }
+ for (var i = 0; i < familyMembers.length; i++) {
+ if (familyMembers[i].intersects({
+ x: x,
+ y: y
+ })) {
+ dragNode = familyMembers[i];
+ break;
+ }
+ }
};
game.move = function (x, y, obj) {
- if (dragNode) {
- dragNode.x = x;
- dragNode.y = y;
- }
+ if (dragNode) {
+ dragNode.x = x;
+ dragNode.y = y;
+ }
};
game.up = function (x, y, obj) {
- dragNode = null;
+ dragNode = null;
};
// Update game state
game.update = function () {
- for (var i = 0; i < familyMembers.length; i++) {
- familyMembers[i].update();
- }
- // Check for resource collection
- for (var j = 0; j < resources.length; j++) {
- for (var k = 0; k < familyMembers.length; k++) {
- if (resources[j].intersects(familyMembers[k])) {
- if (resources[j].type === "food") {
- familyMembers[k].hunger = Math.max(0, familyMembers[k].hunger - 50);
- } else if (resources[j].type === "water") {
- familyMembers[k].thirst = Math.max(0, familyMembers[k].thirst - 50);
- }
- resources[j].destroy();
- resources.splice(j, 1);
- break;
- }
- }
- }
+ for (var i = 0; i < familyMembers.length; i++) {
+ familyMembers[i].update();
+ }
+ // Check for resource collection
+ for (var j = 0; j < resources.length; j++) {
+ for (var k = 0; k < familyMembers.length; k++) {
+ if (resources[j].intersects(familyMembers[k])) {
+ if (resources[j].type === "food") {
+ familyMembers[k].hunger = Math.max(0, familyMembers[k].hunger - 50);
+ } else if (resources[j].type === "water") {
+ familyMembers[k].thirst = Math.max(0, familyMembers[k].thirst - 50);
+ }
+ resources[j].destroy();
+ resources.splice(j, 1);
+ break;
+ }
+ }
+ }
};
\ No newline at end of file