Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title>Essais</title>
- <style>
- #essai {
- border: 1px solid rgb(0, 0, 0);
- }
- </style>
- </head>
- <body>
- <canvas id="essai"></canvas>
- <script src="jsPif.js"></script>
- <script>
- /* Declaration du canvas */
- var
- nbTue = 0
- ;
- var canvas = new JSPif.Canvas('essai', 400, 400);
- var joueur1 = new JSPif.Rect(80, 100, 10, 10);
- joueur1.rotate = 20;
- joueur1.color = 'rgb(0, 0, 255)';
- function ennemi(x, y) {
- var ennemi = new JSPif.Rect(x, y, 10, 10);
- ennemi.color = randomColor();
- ennemi.alpha = 1;
- ennemi.maxspeed.x = 0.01 + Math.random() / 18;
- ennemi.maxspeed.y = 0.01 + Math.random() / 18;
- return ennemi;
- }
- function tir(x, y, vX, vY) {
- var tir = new JSPif.Rect(x, y, 2, 10);
- tir.color = randomColor();
- tir.maxspeed.x = vX;
- tir.maxspeed.y = vY;
- return tir;
- }
- var ennemis = new JSPif.Group();
- var tirs = new JSPif.Group();
- //for (var i = 0 ; i <= 20 ; i++) {
- // groupe.add(new joueur2(Math.random() * canvas.width, Math.random() * canvas.height));
- //}
- var texte = new JSPif.Text(canvas.width / 2, canvas.height / 2, 'Souris fixe');
- texte.font = '16px Calibri';
- texte.align = 'center';
- function create() {
- canvas.add([
- texte,
- ennemis,
- tirs,
- joueur1
- ]);
- clavier();
- update();
- Timer();
- }
- function update() {
- mouvement();
- canvas.clear();
- canvas.draw();
- for (var i in ennemis.members) {
- var ennemi = ennemis.members[i];
- for (var j in tirs.members) {
- var tir = tirs.members[j];
- if (ennemi.overlap(tir)) {
- ennemi.kill();
- tir.kill();
- }
- }
- }
- /*if (ennemis.overlap(tirs)) {
- alert('Touche');
- }*/
- //texte.text = nbTue;
- ai();
- setTimeout(update, 1000 / 30);
- }
- function clavier() {
- document.onkeydown = function(e) {
- e = e || window.event;
- switch (e.keyCode) {
- case JSPif.keys.UP:
- case JSPif.keys.Z:
- joueur1.speed.y = -1; break;
- case JSPif.keys.DOWN:
- case JSPif.keys.S:
- joueur1.speed.y = 1; break;
- case JSPif.keys.LEFT:
- case JSPif.keys.Q:
- joueur1.speed.x = -1; break;
- case JSPif.keys.RIGHT:
- case JSPif.keys.D:
- joueur1.speed.x = 1; break;
- }
- }
- document.onkeyup = function(e) {
- e = e || window.event;
- switch (e.keyCode) {
- case JSPif.keys.UP:
- case JSPif.keys.DOWN:
- case JSPif.keys.Z:
- case JSPif.keys.S:
- joueur1.speed.y = 0; break;
- case JSPif.keys.LEFT:
- case JSPif.keys.RIGHT:
- case JSPif.keys.Q:
- case JSPif.keys.D:
- joueur1.speed.x = 0; break;
- }
- }
- document.onmousemove = function(e) {
- e = e || window.event;
- texte.text = canvas.mouse(e).x + ' ; ' + canvas.mouse(e).y;
- }
- document.onclick = function(e) {
- vX = (canvas.mouse(e).x - joueur1.x - (joueur1.width / 2)) / 10;
- vY = (canvas.mouse(e).y - joueur1.y - (joueur1.height / 2)) / 10;
- tirs.add(new tir(joueur1.x + (joueur1.width / 2), joueur1.y, vX, vY));
- }
- }
- function mouvement() {
- var newX = joueur1.x + (joueur1.speed.x * joueur1.maxspeed.x);
- var newY = joueur1.y + (joueur1.speed.y * joueur1.maxspeed.y);
- if (joueur1.overlap(ennemis)) {
- return;
- }
- //if (joueur1.overlapscreen()) {
- // return;
- //}
- joueur1.x = newX;
- joueur1.y = newY;
- }
- function ai() {
- for (var i in ennemis.members) {
- var ennemi = ennemis.members[i];
- if (ennemi.overlap(joueur1)) {
- // canvas.resize(canvas.width + 4, canvas.height);
- ennemis.kill(ennemi);
- nbTue++;
- } else {
- ennemi.speed.x = 1;
- ennemi.speed.y = 1;
- }
- var distX = joueur1.x - ennemi.x;
- var distY = joueur1.y - ennemi.y;
- var newX = distX * (ennemi.maxspeed.x * ennemi.speed.x);
- var newY = distY * (ennemi.maxspeed.y * ennemi.speed.y);
- ennemi.x += newX;
- ennemi.y += newY;
- }
- for (var i in tirs.members) {
- var tir = tirs.members[i];
- tir.speed.x = 1;
- tir.speed.y = 1;
- var newX = tir.maxspeed.x * tir.speed.x;
- var newY = tir.maxspeed.y * tir.speed.y;
- tir.x += newX;
- tir.y += newY;
- }
- }
- function randomColor() {
- var r = 'rgb(' + (Math.round(Math.random() * 255)) + ', ' + (Math.round(Math.random() * 255)) + ', 0)';
- return r;
- }
- function Timer() {
- ennemis.add(new ennemi(Math.random() * canvas.width, Math.random() * canvas.height));
- setTimeout('Timer()', 500 + Math.random() * 1500);
- }
- window.onload = function() {
- create();
- };
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement