diff options
Diffstat (limited to 'Homework/cs5410/bbiy/src/entities')
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; +}; |
