Редактирование: Vyalov

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
 +
{{#widget:Iframe | url = http://tm.spbstu.ru/htmlets/js2020/Vyalov/1.html | width=600 | height=600 | border=0}}
  
==Описание==
+
Don't touch the spikes(java script)
Don't touch the spikes - достаточно популярная игра c простым и понятным геймплеем
+
Вялов Тимофей 3630103/90003
 
 
Автор: Вялов Тимофей 3630103/90003
 
 
 
==Игра==
 
{{#widget:Iframe | url = http://tm.spbstu.ru/htmlets/js2020/Vyalov/1.html | width=800 | height=800 | border=0}}
 
 
 
==Код программы==
 
<div class="mw-collapsible mw-collapsed">
 
'''Код программы на языке JavaScript:''' <div class="mw-collapsible-content">
 
<syntaxhighlight lang="javascript" line start="1" enclose="div">
 
 
 
window.addEventListener('load',main,false);
 
function main() {
 
  var ctx = canvas_example.getContext('2d');
 
  var w=canvas_example.width;
 
  var h=canvas_example.height;
 
 
 
  var bird = new Image();
 
  var bird1 = new Image();
 
  var bg = new Image();
 
  var spike = new Image();
 
  var spike1 = new Image();
 
  var hscore = new Image();
 
 
 
  bird.src = "img/bird.png";
 
  bird1.src = "img/bird1.png";
 
  bg.src = "img/bg.png";
 
  spike.src = "img/spike.png";
 
  spike1.src = "img/spike1.png";
 
  hscore.src = "img/hs.png";
 
 
 
 
 
  var x = 283; //координаты птицы
 
  var y = 290; //
 
  var vx = 0; //скорость по х
 
  var vy = 0; // скорость по у
 
  var g = 0; // ускорение у
 
  var t = 2; // условное время
 
  var a = 0 // ускорение х
 
  var l = 26; // длина шипов
 
  var q = 0;//для функции рандома
 
  var s = 0;//счет
 
  var hs = 0;//heigh score
 
  var c = 0;//complexity
 
 
 
 
 
  canvas_example.onmousedown = function() {
 
      vy = -3;
 
      t = 2.5 ;
 
      if(vx >= 0){
 
        vx = 3
 
      }
 
      else{
 
        vx = -3
 
      }
 
      g = 0.04;
 
 
 
}
 
 
 
  function draw_bird() {
 
  vy += g*t;
 
  y = y + vy*t;
 
 
 
  if (y>574){
 
  x =283;
 
  y = 290;
 
  vx = 0;
 
  vy = 0;
 
  g = 0;
 
  if(s>1){r = []};
 
  s = 0;
 
  c = 0;
 
 
 
}
 
  if (y<5){
 
    x =283;
 
    y = 290;
 
    vx = 0;
 
    vy = 0;
 
    g = 0;
 
    if(s>1){r = []};
 
    s = 0;
 
    c = 0;
 
  };
 
  if ((x>100)&&(x<500)&&(vx>0)){
 
    x +=vx
 
  }
 
  if ((x>410)&&(vx>0)){
 
    x = 412;
 
    vx = -vx;
 
    s++;
 
    if(c<=0.7){
 
      c+=0.02
 
    }
 
  }
 
  if ((x>100)&&(x<500)&&(vx<0)){
 
    x +=vx
 
  }
 
  if ((x<155)&&(vx<0)){
 
    x = 156;
 
      vx = -vx;
 
      s++;
 
      if(c<=0.7){
 
        c+=0.02
 
      }
 
  }
 
 
 
  if (vy>3){
 
    vy = 3
 
  }
 
  t=t+0.05
 
  if (t>5){
 
    t = 5
 
  }
 
  if (vx>=0){
 
  ctx.drawImage(bird, x, y);
 
    }
 
  else{
 
  ctx.drawImage(bird1, x, y);
 
      }
 
 
 
}
 
 
 
  var r = []
 
  function random_spike() {
 
    r = []
 
    for(var i = 0; i < 23; i++){
 
      q = Math.round(Math.random()-0.4+c)
 
      if (q ===1){
 
        r[i]=i*l;
 
      }
 
      }
 
    for(i = 1;i<23;i++){
 
      if(r[i]==undefined && r[i-1]!=undefined && r[i+1]!=undefined){r[i+1]=undefined}
 
    }
 
 
 
    }
 
 
 
  function draw_spike(){
 
    for(var j = 0; j < 23; j++){
 
      ctx.drawImage(spike, 150, r[j])
 
    }
 
  }
 
  function draw_spike1(){
 
    for(var j = 0; j < 23; j++){
 
      ctx.drawImage(spike1, 412, r[j])
 
    }
 
  }
 
 
 
  function drawScore() {
 
      ctx.font = "35px Arial";
 
      ctx.fillStyle = "#0095DD";
 
      if(s<10){ctx.fillText(s, 291, 316)}
 
      else{ctx.fillText(s, 283, 316)}
 
  }
 
  function drawHeighScore() {
 
      ctx.font = "40px Arial";
 
      ctx.fillStyle = "#008080";
 
      ctx.fillText(hs, 460, 90)
 
  }
 
 
 
hscore.onload = draw_bird;
 
//////////////////////////////////////////////////////////////////////////////
 
setInterval(function() {
 
  ctx.drawImage(bg, 150, 0);
 
  ctx.drawImage(hscore, 450, 0);
 
  drawScore();
 
  if(s>hs){hs =s }
 
  drawHeighScore();
 
  draw_bird();
 
  if((x === 409) || (x === 156)){
 
    random_spike();
 
  }
 
  if (s>0 && vx<0){draw_spike();
 
    for (i=0;i<23;i++){
 
      if (y>r[i]-20 && y<r[i]+20 && x<160){
 
      x =283;
 
      y = 290;
 
      vx = 0;
 
      vy = 0;
 
      g = 0;
 
      if(s>1){r = []};
 
      s = 0;
 
      c = 0;
 
    }
 
    }}
 
  if (s>0 && vx>0){
 
    draw_spike1();
 
    for (i=0;i<23;i++){
 
      if (y>=r[i]-20 && y<=r[i]+20 && x>400){
 
        x =283;
 
        y = 290;
 
        vx = 0;
 
        vy = 0;
 
        g = 0;
 
        if(s>1){r = []};
 
        s = 0;
 
        c = 0;
 
      }
 
    }}
 
}, 1000 / 60  );
 
}
 
 
 
 
 
</syntaxhighlight>
 
</div>
 
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)
Источник — «http://tm.spbstu.ru/Vyalov»