summaryrefslogtreecommitdiff
path: root/Homework/cs5410/bbiy/src/entities
diff options
context:
space:
mode:
Diffstat (limited to 'Homework/cs5410/bbiy/src/entities')
-rw-r--r--Homework/cs5410/bbiy/src/entities/bigblue.js13
-rw-r--r--Homework/cs5410/bbiy/src/entities/borderParticles.js41
-rw-r--r--Homework/cs5410/bbiy/src/entities/entity.js23
-rw-r--r--Homework/cs5410/bbiy/src/entities/flag.js12
-rw-r--r--Homework/cs5410/bbiy/src/entities/floor.js8
-rw-r--r--Homework/cs5410/bbiy/src/entities/grass.js8
-rw-r--r--Homework/cs5410/bbiy/src/entities/hedge.js9
-rw-r--r--Homework/cs5410/bbiy/src/entities/lava.js9
-rw-r--r--Homework/cs5410/bbiy/src/entities/rock.js14
-rw-r--r--Homework/cs5410/bbiy/src/entities/wall.js13
-rw-r--r--Homework/cs5410/bbiy/src/entities/water.js9
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordBigBlue.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordFlag.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordIs.js11
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordKill.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordLava.js11
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordPush.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordRock.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordSink.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordStop.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordWall.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordWater.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordWin.js10
-rw-r--r--Homework/cs5410/bbiy/src/entities/wordYou.js10
24 files changed, 291 insertions, 0 deletions
diff --git a/Homework/cs5410/bbiy/src/entities/bigblue.js b/Homework/cs5410/bbiy/src/entities/bigblue.js
new file mode 100644
index 0000000..45fbc90
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/bigblue.js
@@ -0,0 +1,13 @@
+game.createBigBlue = () => {
+ const bigBlue = game.Entity();
+ bigBlue.addComponent(game.components.LoadPriority({priority: 1}));
+ bigBlue.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ bigBlue.addComponent(game.components.Alive());
+ bigBlue.addComponent(game.components.Sprite({spriteName: "bigBlue"}));
+
+// bigBlue.addComponent(game.components.Controllable({controls: ['left', 'right', 'up', 'down']}));
+ bigBlue.addComponent(game.components.Name({selector: "bigblue"}));
+ bigBlue.addComponent(game.components.Burnable());
+ bigBlue.addComponent(game.components.Sinkable());
+ return bigBlue;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/borderParticles.js b/Homework/cs5410/bbiy/src/entities/borderParticles.js
new file mode 100644
index 0000000..e1a7e98
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/borderParticles.js
@@ -0,0 +1,41 @@
+game.createBorderParticles = (spawnerSpec) => {
+ const particleSpawner = game.Entity();
+ const spawnFunction = (particleSpec) => {
+ switch (Math.floor(Math.random() * 4)) {
+ case 0:
+ particleSpec.y = 0;
+ particleSpec.dy = -Math.abs(particleSpec.dy);
+ break;
+ case 1:
+ particleSpec.x = 1;
+ particleSpec.dx = Math.abs(particleSpec.dx);
+ break;
+ case 2:
+ particleSpec.y = 1;
+ particleSpec.dy = Math.abs(particleSpec.dy);
+ break;
+ case 3:
+ particleSpec.x = 0;
+ particleSpec.dx = -Math.abs(particleSpec.dx);
+ break;
+ }
+ return particleSpec;
+ };
+ particleSpawner.addComponent(game.components.Particles({
+ spec: {
+ spawnFunction,
+ colors: ["#666666", "#777777", "#888888", "#999999"],
+ maxSpeed: 0.20,
+ minRadius: 1,
+ maxRadius: 3,
+ minLife: 100,
+ maxLife: 300,
+ minAmount: 20,
+ maxAmount: 50,
+ ...spawnerSpec,
+ }
+ }));
+ particleSpawner.addComponent(game.components.LoadPriority({priority: 1}));
+ particleSpawner.addComponent(game.components.Alive());
+ return particleSpawner;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/entity.js b/Homework/cs5410/bbiy/src/entities/entity.js
new file mode 100644
index 0000000..3da032c
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/entity.js
@@ -0,0 +1,23 @@
+game.nextId = 0;
+
+game.Entity = (id=game.nextId++) => {
+ const components = {};
+
+ const addComponent = (component) => {
+ components[component.name] = component;
+ };
+ const hasComponent = (componentName) => components[componentName] !== undefined;
+ const removeComponent = (componentName) => {
+ if (hasComponent(componentName)) {
+ delete components[componentName];
+ }
+ };
+
+ return {
+ id,
+ components,
+ addComponent,
+ removeComponent,
+ hasComponent
+ };
+} \ No newline at end of file
diff --git a/Homework/cs5410/bbiy/src/entities/flag.js b/Homework/cs5410/bbiy/src/entities/flag.js
new file mode 100644
index 0000000..e8c662a
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/flag.js
@@ -0,0 +1,12 @@
+game.createFlag = () => {
+ const flag = game.Entity();
+ flag.addComponent(game.components.LoadPriority({priority: 5}));
+ flag.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ flag.addComponent(game.components.Alive());
+ flag.addComponent(game.components.Sprite({spriteName: "flag"}))
+ flag.addComponent(game.components.Name({selector: "flag"}));
+
+ flag.addComponent(game.components.Burnable());
+ flag.addComponent(game.components.Sinkable());
+ return flag;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/floor.js b/Homework/cs5410/bbiy/src/entities/floor.js
new file mode 100644
index 0000000..95cbcf2
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/floor.js
@@ -0,0 +1,8 @@
+game.createFloor = () => {
+ const floor = game.Entity();
+ floor.addComponent(game.components.LoadPriority({priority: 6}));
+ floor.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ floor.addComponent(game.components.Alive());
+ floor.addComponent(game.components.Sprite({spriteName: "floor"}))
+ return floor;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/grass.js b/Homework/cs5410/bbiy/src/entities/grass.js
new file mode 100644
index 0000000..7f26712
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/grass.js
@@ -0,0 +1,8 @@
+game.createGrass = () => {
+ const grass = game.Entity();
+ grass.addComponent(game.components.LoadPriority({priority: 6}));
+ grass.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ grass.addComponent(game.components.Alive());
+ grass.addComponent(game.components.Sprite({spriteName: "grass"}))
+ return grass;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/hedge.js b/Homework/cs5410/bbiy/src/entities/hedge.js
new file mode 100644
index 0000000..90d069b
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/hedge.js
@@ -0,0 +1,9 @@
+game.createHedge = () => {
+ const hedge = game.Entity();
+ hedge.addComponent(game.components.LoadPriority({priority: 6}));
+ hedge.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ hedge.addComponent(game.components.Stop({stop: true}));
+ hedge.addComponent(game.components.Alive());
+ hedge.addComponent(game.components.Sprite({spriteName: "hedge"}))
+ return hedge;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/lava.js b/Homework/cs5410/bbiy/src/entities/lava.js
new file mode 100644
index 0000000..e529812
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/lava.js
@@ -0,0 +1,9 @@
+game.createLava = () => {
+ const lava = game.Entity();
+ lava.addComponent(game.components.LoadPriority({priority: 6}));
+ lava.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ lava.addComponent(game.components.Alive());
+ lava.addComponent(game.components.Sprite({spriteName: "lava"}))
+ lava.addComponent(game.components.Name({selector: "lava"}));
+ return lava;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/rock.js b/Homework/cs5410/bbiy/src/entities/rock.js
new file mode 100644
index 0000000..a87710a
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/rock.js
@@ -0,0 +1,14 @@
+game.createRock = () => {
+ const rock = game.Entity();
+ rock.addComponent(game.components.LoadPriority({priority: 2}));
+ rock.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ rock.addComponent(game.components.Alive());
+ rock.addComponent(game.components.Sprite({spriteName: "rock"}));;
+
+
+// rock.addComponent(game.components.Pushable());
+ rock.addComponent(game.components.Name({selector: "rock"}));
+ rock.addComponent(game.components.Sinkable());
+
+ return rock;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wall.js b/Homework/cs5410/bbiy/src/entities/wall.js
new file mode 100644
index 0000000..e7549ca
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wall.js
@@ -0,0 +1,13 @@
+game.createWall = () => {
+ const wall = game.Entity();
+ wall.addComponent(game.components.LoadPriority({priority: 3}));
+ wall.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+// wall.addComponent(game.components.Stop());
+ wall.addComponent(game.components.Name({selector: "wall"}));
+ wall.addComponent(game.components.Alive());
+ wall.addComponent(game.components.Sprite({spriteName: "wall"}));
+
+ wall.addComponent(game.components.Burnable());
+ wall.addComponent(game.components.Sinkable());
+ return wall;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/water.js b/Homework/cs5410/bbiy/src/entities/water.js
new file mode 100644
index 0000000..11522b1
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/water.js
@@ -0,0 +1,9 @@
+game.createWater = () => {
+ const water = game.Entity();
+ water.addComponent(game.components.LoadPriority({priority: 5}));
+ water.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ water.addComponent(game.components.Alive());
+ water.addComponent(game.components.Sprite({spriteName: "water"}))
+ water.addComponent(game.components.Name({selector: "water"}))
+ return water;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordBigBlue.js b/Homework/cs5410/bbiy/src/entities/wordBigBlue.js
new file mode 100644
index 0000000..15aaa0e
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordBigBlue.js
@@ -0,0 +1,10 @@
+game.createWordBigBlue = () => {
+ const wordBigBlue = game.Entity();
+ wordBigBlue.addComponent(game.components.LoadPriority({priority: 3}));
+ wordBigBlue.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordBigBlue.addComponent(game.components.Pushable({pushable: true}));
+ wordBigBlue.addComponent(game.components.Alive());
+ wordBigBlue.addComponent(game.components.Sprite({spriteName: "wordBigBlue"}));
+ wordBigBlue.addComponent(game.components.Noun({select: "bigblue"}));
+ return wordBigBlue;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wordFlag.js b/Homework/cs5410/bbiy/src/entities/wordFlag.js
new file mode 100644
index 0000000..79617ea
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordFlag.js
@@ -0,0 +1,10 @@
+game.createWordFlag = () => {
+ const wordFlag = game.Entity();
+ wordFlag.addComponent(game.components.LoadPriority({priority: 3}));
+ wordFlag.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordFlag.addComponent(game.components.Pushable({pushable: true}));
+ wordFlag.addComponent(game.components.Alive());
+ wordFlag.addComponent(game.components.Sprite({spriteName: "wordFlag"}));
+ wordFlag.addComponent(game.components.Noun({select: "flag"}));
+ return wordFlag;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordIs.js b/Homework/cs5410/bbiy/src/entities/wordIs.js
new file mode 100644
index 0000000..041f10c
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordIs.js
@@ -0,0 +1,11 @@
+game.createWordIs = () => {
+ const wordIs = game.Entity();
+ wordIs.addComponent(game.components.LoadPriority({priority: 3}));
+ wordIs.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ // wordIs.addComponent(game.components.Stop({stop: true}));
+ wordIs.addComponent(game.components.Pushable());
+ wordIs.addComponent(game.components.Alive());
+ wordIs.addComponent(game.components.Sprite({spriteName: "wordIs"}));
+ wordIs.addComponent(game.components.Verb({action: "Is"}));
+ return wordIs;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wordKill.js b/Homework/cs5410/bbiy/src/entities/wordKill.js
new file mode 100644
index 0000000..6906e9c
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordKill.js
@@ -0,0 +1,10 @@
+game.createWordKill = () => {
+ const wordKill = game.Entity();
+ wordKill.addComponent(game.components.LoadPriority({priority: 3}));
+ wordKill.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordKill.addComponent(game.components.Pushable({pushable: true}));
+ wordKill.addComponent(game.components.Alive());
+ wordKill.addComponent(game.components.Sprite({spriteName: "wordKill"}))
+ wordKill.addComponent(game.components.Verb({action: "burn"}));
+ return wordKill;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordLava.js b/Homework/cs5410/bbiy/src/entities/wordLava.js
new file mode 100644
index 0000000..cf31286
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordLava.js
@@ -0,0 +1,11 @@
+game.createWordLava = () => {
+ const wordLava = game.Entity();
+ wordLava.addComponent(game.components.LoadPriority({priority: 3}));
+ wordLava.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordLava.addComponent(game.components.Pushable({pushable: true}));
+ wordLava.addComponent(game.components.Alive());
+
+ wordLava.addComponent(game.components.Sprite({spriteName: "wordLava"}))
+ wordLava.addComponent(game.components.Noun({select: "lava"}));
+ return wordLava;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordPush.js b/Homework/cs5410/bbiy/src/entities/wordPush.js
new file mode 100644
index 0000000..5594e46
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordPush.js
@@ -0,0 +1,10 @@
+game.createWordPush = () => {
+ const wordPush = game.Entity();
+ wordPush.addComponent(game.components.LoadPriority({priority: 3}));
+ wordPush.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordPush.addComponent(game.components.Pushable({pushable: true}));
+ wordPush.addComponent(game.components.Alive());
+ wordPush.addComponent(game.components.Sprite({spriteName: "wordPush"}));
+ wordPush.addComponent(game.components.Verb({action: "push"}));
+ return wordPush;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wordRock.js b/Homework/cs5410/bbiy/src/entities/wordRock.js
new file mode 100644
index 0000000..648f6ba
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordRock.js
@@ -0,0 +1,10 @@
+game.createWordRock = () => {
+ const wordRock = game.Entity();
+ wordRock.addComponent(game.components.LoadPriority({priority: 3}));
+ wordRock.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordRock.addComponent(game.components.Pushable({pushable: true}));
+ wordRock.addComponent(game.components.Alive());
+ wordRock.addComponent(game.components.Sprite({spriteName: "wordRock"}));
+ wordRock.addComponent(game.components.Noun({select: "rock"}));
+ return wordRock;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wordSink.js b/Homework/cs5410/bbiy/src/entities/wordSink.js
new file mode 100644
index 0000000..369f922
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordSink.js
@@ -0,0 +1,10 @@
+game.createWordSink = () => {
+ const wordSink = game.Entity();
+ wordSink.addComponent(game.components.LoadPriority({priority: 3}));
+ wordSink.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordSink.addComponent(game.components.Pushable({pushable: true}));
+ wordSink.addComponent(game.components.Alive());
+ wordSink.addComponent(game.components.Sprite({spriteName: "wordSink"}));
+ wordSink.addComponent(game.components.Verb({action: "sink"}));
+ return wordSink;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordStop.js b/Homework/cs5410/bbiy/src/entities/wordStop.js
new file mode 100644
index 0000000..e2ad45c
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordStop.js
@@ -0,0 +1,10 @@
+game.createWordStop = () => {
+ const wordStop = game.Entity();
+ wordStop.addComponent(game.components.LoadPriority({priority: 3}));
+ wordStop.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordStop.addComponent(game.components.Pushable({pushable: true}));
+ wordStop.addComponent(game.components.Alive());
+ wordStop.addComponent(game.components.Sprite({spriteName: "wordStop"}));
+ wordStop.addComponent(game.components.Verb({action: "stop"}));
+ return wordStop;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wordWall.js b/Homework/cs5410/bbiy/src/entities/wordWall.js
new file mode 100644
index 0000000..277ab69
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordWall.js
@@ -0,0 +1,10 @@
+game.createWordWall = () => {
+ const wordWall = game.Entity();
+ wordWall.addComponent(game.components.LoadPriority({priority: 3}));
+ wordWall.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordWall.addComponent(game.components.Pushable({pushable: true}));
+ wordWall.addComponent(game.components.Alive());
+ wordWall.addComponent(game.components.Noun({select: "wall"}));
+ wordWall.addComponent(game.components.Sprite({spriteName: "wordWall"}));
+ return wordWall;
+};
diff --git a/Homework/cs5410/bbiy/src/entities/wordWater.js b/Homework/cs5410/bbiy/src/entities/wordWater.js
new file mode 100644
index 0000000..eb0c1be
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordWater.js
@@ -0,0 +1,10 @@
+game.createWordWater = () => {
+ const wordWater = game.Entity();
+ wordWater.addComponent(game.components.LoadPriority({priority: 3}));
+ wordWater.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordWater.addComponent(game.components.Pushable({pushable: true}));
+ wordWater.addComponent(game.components.Alive());
+ wordWater.addComponent(game.components.Sprite({spriteName: "wordWater"}));
+ wordWater.addComponent(game.components.Noun({select: "water"}));
+ return wordWater;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordWin.js b/Homework/cs5410/bbiy/src/entities/wordWin.js
new file mode 100644
index 0000000..e8948ee
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordWin.js
@@ -0,0 +1,10 @@
+game.createWordWin = () => {
+ const wordWin = game.Entity();
+ wordWin.addComponent(game.components.LoadPriority({priority: 3}));
+ wordWin.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordWin.addComponent(game.components.Pushable({pushable: true}));
+ wordWin.addComponent(game.components.Alive());
+ wordWin.addComponent(game.components.Sprite({spriteName: "wordWin"}));
+ wordWin.addComponent(game.components.Verb({action: "win"}));
+ return wordWin;
+}
diff --git a/Homework/cs5410/bbiy/src/entities/wordYou.js b/Homework/cs5410/bbiy/src/entities/wordYou.js
new file mode 100644
index 0000000..1bf698f
--- /dev/null
+++ b/Homework/cs5410/bbiy/src/entities/wordYou.js
@@ -0,0 +1,10 @@
+game.createWordYou = () => {
+ const wordYou = game.Entity();
+ wordYou.addComponent(game.components.LoadPriority({priority: 3}));
+ wordYou.addComponent(game.components.Appearance({rot: 0, width: 100, height: 100}));
+ wordYou.addComponent(game.components.Pushable({pushable: true}));
+ wordYou.addComponent(game.components.Alive());
+ wordYou.addComponent(game.components.Sprite({spriteName: "wordYou"}));
+ wordYou.addComponent(game.components.Verb({action: "you"}));
+ return wordYou;
+};