Advertisement
PifyZ

Essai JSPif

Jul 4th, 2012
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <title>Essais</title>
  5.  
  6.         <style>
  7.             #essai {
  8.                 border: 1px solid rgb(0, 0, 0);
  9.             }
  10.         </style>
  11.     </head>
  12.  
  13.     <body>
  14.         <canvas id="essai"></canvas>
  15.  
  16.         <script src="jsPif.js"></script>
  17.  
  18.         <script>
  19.             /* Declaration du canvas */
  20.                 var
  21.                     nbTue = 0
  22.                 ;
  23.  
  24.                 var canvas = new JSPif.Canvas('essai', 400, 400);
  25.  
  26.                 var joueur1 = new JSPif.Rect(80, 100, 10, 10);
  27.                 joueur1.rotate = 20;
  28.                 joueur1.color = 'rgb(0, 0, 255)';
  29.  
  30.                 function ennemi(x, y) {
  31.                     var ennemi = new JSPif.Rect(x, y, 10, 10);
  32.                     ennemi.color = randomColor();
  33.                     ennemi.alpha = 1;
  34.                     ennemi.maxspeed.x = 0.01 + Math.random() / 18;
  35.                     ennemi.maxspeed.y = 0.01 + Math.random() / 18;
  36.                     return ennemi;
  37.                 }
  38.  
  39.                 function tir(x, y, vX, vY) {
  40.                     var tir = new JSPif.Rect(x, y, 2, 10);
  41.                     tir.color = randomColor();
  42.                     tir.maxspeed.x = vX;
  43.                     tir.maxspeed.y = vY;
  44.                     return tir;
  45.                 }
  46.  
  47.                 var ennemis = new JSPif.Group();
  48.  
  49.                 var tirs = new JSPif.Group();
  50.  
  51.                 //for (var i = 0 ; i <= 20 ; i++) {
  52.                 //  groupe.add(new joueur2(Math.random() * canvas.width, Math.random() * canvas.height));
  53.                 //}
  54.  
  55.                 var texte = new JSPif.Text(canvas.width / 2, canvas.height / 2, 'Souris fixe');
  56.                 texte.font = '16px Calibri';
  57.                 texte.align = 'center';
  58.  
  59.                 function create() {
  60.                     canvas.add([
  61.                         texte,
  62.                         ennemis,
  63.                         tirs,
  64.                         joueur1
  65.                     ]);
  66.  
  67.                     clavier();
  68.                     update();
  69.                     Timer();
  70.                 }
  71.  
  72.                 function update() {
  73.                     mouvement();
  74.  
  75.                     canvas.clear();
  76.  
  77.                     canvas.draw();
  78.  
  79.                     for (var i in ennemis.members) {
  80.                         var ennemi = ennemis.members[i];
  81.  
  82.                         for (var j in tirs.members) {
  83.                             var tir = tirs.members[j];
  84.  
  85.                             if (ennemi.overlap(tir)) {
  86.                                 ennemi.kill();
  87.                                 tir.kill();
  88.                             }
  89.                         }
  90.                     }
  91.  
  92.                     /*if (ennemis.overlap(tirs)) {
  93.                         alert('Touche');
  94.                     }*/
  95.  
  96.                     //texte.text = nbTue;
  97.  
  98.                     ai();
  99.  
  100.                     setTimeout(update, 1000 / 30);
  101.                 }
  102.  
  103.                 function clavier() {
  104.                     document.onkeydown = function(e) {
  105.                         e = e || window.event;
  106.  
  107.                         switch (e.keyCode) {
  108.                             case JSPif.keys.UP:
  109.                             case JSPif.keys.Z:
  110.                                 joueur1.speed.y = -1; break;
  111.                             case JSPif.keys.DOWN:
  112.                             case JSPif.keys.S:
  113.                                 joueur1.speed.y = 1; break;
  114.                             case JSPif.keys.LEFT:
  115.                             case JSPif.keys.Q:
  116.                                 joueur1.speed.x = -1; break;
  117.                             case JSPif.keys.RIGHT:
  118.                             case JSPif.keys.D:
  119.                                 joueur1.speed.x = 1; break;
  120.                         }
  121.                     }
  122.  
  123.                     document.onkeyup = function(e) {
  124.                         e = e || window.event;
  125.  
  126.                         switch (e.keyCode) {
  127.                             case JSPif.keys.UP:
  128.                             case JSPif.keys.DOWN:
  129.                             case JSPif.keys.Z:
  130.                             case JSPif.keys.S:
  131.                                 joueur1.speed.y = 0; break;
  132.                             case JSPif.keys.LEFT:
  133.                             case JSPif.keys.RIGHT:
  134.                             case JSPif.keys.Q:
  135.                             case JSPif.keys.D:
  136.                                 joueur1.speed.x = 0; break;
  137.                         }
  138.                     }
  139.  
  140.                     document.onmousemove = function(e) {
  141.                         e = e || window.event;
  142.  
  143.                         texte.text = canvas.mouse(e).x + ' ; ' + canvas.mouse(e).y;
  144.                     }
  145.  
  146.                     document.onclick = function(e) {
  147.                         vX = (canvas.mouse(e).x - joueur1.x - (joueur1.width / 2)) / 10;
  148.                         vY = (canvas.mouse(e).y - joueur1.y - (joueur1.height / 2)) / 10;
  149.  
  150.                         tirs.add(new tir(joueur1.x + (joueur1.width / 2), joueur1.y, vX, vY));
  151.                     }
  152.                 }
  153.  
  154.                 function mouvement() {
  155.                     var newX = joueur1.x + (joueur1.speed.x * joueur1.maxspeed.x);
  156.                     var newY = joueur1.y + (joueur1.speed.y * joueur1.maxspeed.y);
  157.  
  158.                     if (joueur1.overlap(ennemis)) {
  159.                         return;
  160.                     }
  161.  
  162.                     //if (joueur1.overlapscreen()) {
  163.                     //  return;
  164.                     //}
  165.  
  166.                     joueur1.x = newX;
  167.                     joueur1.y = newY;
  168.                 }
  169.  
  170.                 function ai() {
  171.                     for (var i in ennemis.members) {
  172.                         var ennemi = ennemis.members[i];
  173.  
  174.                         if (ennemi.overlap(joueur1)) {
  175.                             // canvas.resize(canvas.width + 4, canvas.height);
  176.                             ennemis.kill(ennemi);
  177.                             nbTue++;
  178.                         } else {
  179.                             ennemi.speed.x = 1;
  180.                             ennemi.speed.y = 1;
  181.                         }
  182.  
  183.                         var distX = joueur1.x - ennemi.x;
  184.                         var distY = joueur1.y - ennemi.y;
  185.  
  186.                         var newX = distX * (ennemi.maxspeed.x * ennemi.speed.x);
  187.                         var newY = distY * (ennemi.maxspeed.y * ennemi.speed.y);
  188.  
  189.                         ennemi.x += newX;
  190.                         ennemi.y += newY;
  191.                     }
  192.  
  193.                     for (var i in tirs.members) {
  194.                         var tir = tirs.members[i];
  195.  
  196.                         tir.speed.x = 1;
  197.                         tir.speed.y = 1;
  198.  
  199.                         var newX = tir.maxspeed.x * tir.speed.x;
  200.                         var newY = tir.maxspeed.y * tir.speed.y;
  201.  
  202.                         tir.x += newX;
  203.                         tir.y += newY;
  204.                     }
  205.                 }
  206.  
  207.                 function randomColor() {
  208.                     var r = 'rgb(' + (Math.round(Math.random() * 255)) + ', ' + (Math.round(Math.random() * 255)) + ', 0)';
  209.  
  210.                     return r;
  211.                 }
  212.  
  213.                 function Timer() {
  214.                     ennemis.add(new ennemi(Math.random() * canvas.width, Math.random() * canvas.height));
  215.  
  216.                     setTimeout('Timer()', 500 + Math.random() * 1500);
  217.                 }
  218.  
  219.                 window.onload = function() {
  220.                     create();
  221.                 };
  222.         </script>
  223.     </body>
  224. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement