Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function coord(x, y) {
- this.x = x;
- this.y = y;
- }
- function attack(ap, as) {
- this.ap = ap;
- this.as = as;
- }
- function unit(name, coord, size, hp, attack, range) {
- this.name = name;
- this.coord = coord;
- this.size = size;
- this.hp = hp;
- this.attack = attack;
- this.range = range;
- }
- function ennemy(name, coord, hp, attack, range, speed) {
- this.name = name;
- this.coord = coord;
- this.hp = hp;
- this.attack = attack;
- this.range = range;
- this.speed = speed;
- }
- function map(size, unit, ennemy, coins, score, time) {
- this.size = size;
- this.units = unit;
- this.ennemys = ennemy;
- this.coins = coins;
- this.score = score;
- this.time = time;
- }
- //Faits avancer les ennemis sur la route
- function ennemy_forward(ennemy) {
- ennemy.coord.y = ennemy.coord.y + ennemy.speed;
- return ennemy;
- }
- //Gere une attaque entre un attaquent et un attaqué qui est appellé toute les "as" secondes
- function attack_deal(attaquant, defenseur) {
- defenseur.hp = defenseur.hp - attaquant.attack.ap;
- }
- //fonction boolenne qui repere si un ennemi est a porté sur la map
- function test_range(map, unit) {
- for (var k = 0 ; k < map.units.length ; ++k) {
- if ((unit.coord.x > map.units[k].coord.x // en haut a droite
- && unit.coord.y > map.units[k].coord.y
- && unit.coord.x - map.units[k].coord.x <= unit.range
- && unit.coord.y - map.units[k].coord.y <= unit.range)
- || (unit.coord.x > map.units[k].coord.x // en bas a droite
- && unit.coord.y < map.units[k].coord.y
- && unit.coord.x - map.units[k].coord.x <= unit.range
- && - unit.coord.y - map.units[k].coord.y <= unit.range)
- || (unit.coord.x < map.units[k].coord.x // en bas a gauche
- && unit.coord.y < map.units[k].coord.y
- && - unit.coord.x - map.units[k].coord.x <= unit.range
- && - unit.coord.y - map.units[k].coord.y <= unit.range)
- || (unit.coord.x < map.units[k].coord.x // en haut a gauche
- && unit.coord.y > map.units[k].coord.y
- && - unit.coord.x - map.units[k].coord.x <= unit.range
- && unit.coord.x - map.units[k].coord.x <= unit.range)) {
- return true;
- } else {
- return false;
- }
- }
- }
- //fonction qui gère l'apparition d'ennemi
- function ennemy_spawn(map) {
- rand = Math.floor((Math.random() * 3) + 1);
- if (rand == 1) {
- map.ennemys[map.ennemys.length] = new ennemy(new coord(0,250), 400, new attack(500,2), 20, 20);
- }
- if (rand == 2) {
- map.ennemys[map.ennemys.length] = new ennemy(new coord(0,250), 500, new attack(500,2), 5, 10);
- }
- else {
- map.ennemys[map.ennemys.length] = new ennemy(new coord(0,250), 200, new attack(500,2), 100, 15);
- }
- }
- //fonction qui renvoie 0 si auncune condition remplie, 1 si victoire, -1 si défaite
- //~ function win_condition (map) {
- //~ if () == 0) {
- //~ return 1;
- //~ }
- //~ if (map.units[0].hp <= 0) {
- //~ return -1;
- //~ }
- //~ return 0;
- //~ }
- //~ var tour1 = new unit (new coord(100,100), 500, 500, 200);
- //~ var archer1 = new ennemy(new coord(-120,120), 500, new attack(500,2), 20, 10);
- var map1 = new map (500, [], [], 500, 500, 0);
- ennemy_spawn(map1);
- alert(map.ennemys[0].hp);
- //window.onload = function() {
- //var canvas = document.getElementById('mon_canvas');
- //if (!canvas) {
- //alert("Erreur canvas");
- //return;
- //}
- //var context = canvas.getContext('2d');
- //if (!context) {
- //alert("Erreur context canvas");
- //return;
- //}
- //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement