xxxxxxxxxx
120
////////////////////////\
// MODIFY THE ENEMY ON LINE 93
////////////////////////\
// FUTURE TODO
// Enemy Internal States, Text special moves, custom moves addition extension
let playField;
let slimeEnemy = new Enemy(
"SLIME",
20,
[0, 1, 1, 1, 0, 2, 2, 2, 0],
function (enemyMoves, playerMoves, moveHistory) {
for (var i = 0; i < enemyMoves.length; i++) {
if (enemyMoves[i] == 1) {
enemyMoves[i] = 2;
} else if (enemyMoves[i] == 2) {
enemyMoves[i] = 1;
}
}
}
);
let elfEnemy = new Enemy(
"Elf",
35,
[0, 1, 3, 2, 3, 2, 1, 1, 0],
function (enemyMoves, playerMoves, moveHistory) {
for (var i = 0; i < enemyMoves.length; i++) {
if (enemyMoves[i] == 1) {
enemyMoves[i] = 2;
} else if (enemyMoves[i] == 2) {
enemyMoves[i] = 3;
} else if (enemyMoves[i] == 3) {
enemyMoves[i] = 1;
}
}
}
);
let foxEnemy = new Enemy(
"Fox",
25,
[0, 1, 2, 1, 2, 1, 2, 1, 2],
function (enemyMoves, playerMoves, moveHistory) {
var firstOne = enemyMoves[0]
for (var i = 1; i < enemyMoves.length; i++) {
enemyMoves[i-1] = enemyMoves[i];
}
enemyMoves[8] = firstOne;
}
);
let computerEnemy = new Enemy(
"The Machine",
42,
[0, 0, 0, 0, 0, 0, 0, 0, 0],
function (enemyMoves, playerMoves, moveHistory) {
for (var i = 0; i < moveHistory.length; i++) {
enemyMoves[i] = moveHistory[i];
}
}
);
let wizardEnemy = new Enemy(
"Wizard",
40,
[0, 1, 3, 1, 2, 1, 3, 1, 0],
function (enemyMoves, playerMoves, moveHistory) {
for (var i = 0; i < playerMoves.length; i++) {
for (var j = 1; j < playerMoves[i].length; j++) {
playerMoves[i][j-1] = playerMoves[i][j]
}
}
playerMoves[0][8] = 0;
playerMoves[1][8] = 0;
playerMoves[2][8] = 0;
}
);
let config = {
gameTimer: 90,
playerHealth: 15,
moveDistribution: [0.5, 0.35, 0.15],
};
function setup() {
createCanvas(800, 600);
// Enemies at the moment:
// slimeEnemy | elfEnemy | foxEnemy | computerEnemy | wizardEnemy
enemy = slimeEnemy;
playField = new Board(enemy, config.playerHealth, config.moveDistribution);
}
function draw() {
background(90);
if (!playField.gameOver()) {
// Draw
playField.render();
enemy.render();
// Game Timer
if (frameCount % config.gameTimer == 0) {
playField.step();
}
}
}
function mousePressed() {
playField.mousePressed();
}
function keyPressed() {
playField.keyPressed();
}