var Altman = Container.expand(function () { var self = Container.call(this); var altmanGraphics = self.createAsset('altman', 'Altman character', .5, .5); self.vx = 15; self.vy = 15; var altmanLabel = new Text2('Sam', { size: 50, fill: '#ffffff' }); altmanLabel.x = altmanGraphics.x - altmanLabel.width / 2; altmanLabel.y = altmanGraphics.y + altmanGraphics.height / 2; self.addChild(altmanLabel); self.move = function () { self.x += self.vx; self.y += self.vy; if (self.x < 0 || self.x > 2048) { self.vx *= -1; } if (self.y < 0 || self.y > 2732) { self.vy *= -1; } }; self.update = function () { self.move(); }; }); var OpenAI = Container.expand(function () { var self = Container.call(this); var openAIGraphics = self.createAsset('openai', 'OpenAI logo', .5, .5); var openAILabel = new Text2('OpenAI', { size: 50, fill: '#ffffff' }); openAILabel.y = openAIGraphics.height; self.addChild(openAILabel); self.update = function (altman) { if (altman.vx < 0) { var targetY = altman.y; if (self.y < targetY) { self.y += Math.min(15, targetY - self.y); } else if (self.y > targetY) { self.y -= Math.min(15, self.y - targetY); } if (self.y < 0) { self.y = 0; } if (self.y > 2732 - self.height) { self.y = 2732 - self.height; } } openAILabel.x = openAIGraphics.x - openAILabel.width / 2; openAILabel.y = openAIGraphics.y + openAIGraphics.height / 2; }; }); var Microsoft = Container.expand(function () { var self = Container.call(this); var microsoftGraphics = self.createAsset('microsoft', 'Microsoft logo', .5, .5); var microsoftLabel = new Text2('Microsoft', { size: 50, fill: '#ffffff' }); microsoftLabel.y = microsoftGraphics.height; self.addChild(microsoftLabel); self.update = function (altman) { microsoftLabel.x = microsoftGraphics.x - microsoftLabel.width / 2; microsoftLabel.y = microsoftGraphics.y + microsoftGraphics.height / 2; }; }); var Game = Container.expand(function () { var self = Container.call(this); LK.stageContainer.setBackgroundColor(0x000000); var altman = self.addChild(new Altman()); altman.x = 2048 / 2; altman.y = 2732 / 2; altman.vx = 0; altman.vy = 0; var openAI = self.addChild(new OpenAI()); openAI.x = 150; openAI.y = 2732 / 2 - openAI.height / 2; var microsoft = self.addChild(new Microsoft()); microsoft.x = 2048 - microsoft.width + 150; microsoft.y = 2732 / 2 - microsoft.height / 2; var startMoving = false; var startMovingTimeout = LK.setTimeout(function () { startMoving = true; var angle; do { angle = Math.random() * Math.PI * 2; altman.vx = 10 * Math.cos(angle); altman.vy = 10 * Math.sin(angle); } while (Math.abs(altman.vx) < 3 || Math.abs(altman.vy) < 3); }, 500); stage.on('down', function (obj) { var pos = obj.event.getLocalPosition(self); if (pos.x > 2048 / 2) { microsoft.y = pos.y - microsoft.height / 2; } }); stage.on('move', function (obj) { var pos = obj.event.getLocalPosition(self); if (pos.x > 2048 / 2) { microsoft.y = pos.y - microsoft.height / 2; } }); LK.on('tick', function () { if (startMoving) { altman.update(); } openAI.update(altman); microsoft.update(altman); if (altman.intersects(openAI)) { var diffY = altman.y - openAI.y; altman.vx *= -1; altman.vy = diffY / openAI.height * 10; } if (altman.intersects(microsoft)) { var diffY = altman.y - microsoft.y; altman.vx *= -1; altman.vy = diffY / microsoft.height * 10; } if (altman.x > 2048 - altman.width) { LK.showGameOver(); } }); });
var Altman = Container.expand(function () {
var self = Container.call(this);
var altmanGraphics = self.createAsset('altman', 'Altman character', .5, .5);
self.vx = 15;
self.vy = 15;
var altmanLabel = new Text2('Sam', {
size: 50,
fill: '#ffffff'
});
altmanLabel.x = altmanGraphics.x - altmanLabel.width / 2;
altmanLabel.y = altmanGraphics.y + altmanGraphics.height / 2;
self.addChild(altmanLabel);
self.move = function () {
self.x += self.vx;
self.y += self.vy;
if (self.x < 0 || self.x > 2048) {
self.vx *= -1;
}
if (self.y < 0 || self.y > 2732) {
self.vy *= -1;
}
};
self.update = function () {
self.move();
};
});
var OpenAI = Container.expand(function () {
var self = Container.call(this);
var openAIGraphics = self.createAsset('openai', 'OpenAI logo', .5, .5);
var openAILabel = new Text2('OpenAI', {
size: 50,
fill: '#ffffff'
});
openAILabel.y = openAIGraphics.height;
self.addChild(openAILabel);
self.update = function (altman) {
if (altman.vx < 0) {
var targetY = altman.y;
if (self.y < targetY) {
self.y += Math.min(15, targetY - self.y);
} else if (self.y > targetY) {
self.y -= Math.min(15, self.y - targetY);
}
if (self.y < 0) {
self.y = 0;
}
if (self.y > 2732 - self.height) {
self.y = 2732 - self.height;
}
}
openAILabel.x = openAIGraphics.x - openAILabel.width / 2;
openAILabel.y = openAIGraphics.y + openAIGraphics.height / 2;
};
});
var Microsoft = Container.expand(function () {
var self = Container.call(this);
var microsoftGraphics = self.createAsset('microsoft', 'Microsoft logo', .5, .5);
var microsoftLabel = new Text2('Microsoft', {
size: 50,
fill: '#ffffff'
});
microsoftLabel.y = microsoftGraphics.height;
self.addChild(microsoftLabel);
self.update = function (altman) {
microsoftLabel.x = microsoftGraphics.x - microsoftLabel.width / 2;
microsoftLabel.y = microsoftGraphics.y + microsoftGraphics.height / 2;
};
});
var Game = Container.expand(function () {
var self = Container.call(this);
LK.stageContainer.setBackgroundColor(0x000000);
var altman = self.addChild(new Altman());
altman.x = 2048 / 2;
altman.y = 2732 / 2;
altman.vx = 0;
altman.vy = 0;
var openAI = self.addChild(new OpenAI());
openAI.x = 150;
openAI.y = 2732 / 2 - openAI.height / 2;
var microsoft = self.addChild(new Microsoft());
microsoft.x = 2048 - microsoft.width + 150;
microsoft.y = 2732 / 2 - microsoft.height / 2;
var startMoving = false;
var startMovingTimeout = LK.setTimeout(function () {
startMoving = true;
var angle;
do {
angle = Math.random() * Math.PI * 2;
altman.vx = 10 * Math.cos(angle);
altman.vy = 10 * Math.sin(angle);
} while (Math.abs(altman.vx) < 3 || Math.abs(altman.vy) < 3);
}, 500);
stage.on('down', function (obj) {
var pos = obj.event.getLocalPosition(self);
if (pos.x > 2048 / 2) {
microsoft.y = pos.y - microsoft.height / 2;
}
});
stage.on('move', function (obj) {
var pos = obj.event.getLocalPosition(self);
if (pos.x > 2048 / 2) {
microsoft.y = pos.y - microsoft.height / 2;
}
});
LK.on('tick', function () {
if (startMoving) {
altman.update();
}
openAI.update(altman);
microsoft.update(altman);
if (altman.intersects(openAI)) {
var diffY = altman.y - openAI.y;
altman.vx *= -1;
altman.vy = diffY / openAI.height * 10;
}
if (altman.intersects(microsoft)) {
var diffY = altman.y - microsoft.y;
altman.vx *= -1;
altman.vy = diffY / microsoft.height * 10;
}
if (altman.x > 2048 - altman.width) {
LK.showGameOver();
}
});
});
sam altman head Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
openai logo inside of a pong paddle Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
microsoft logo inside of a pong paddle Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.