Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите с игрой (https://javascript.ru/forum/misc/43014-pomogite-s-igrojj.html)

nub 18.11.2013 16:57

помогите с игрой
 
Вложений: 1
пишу игру помогите сделать радиус порождения для оружия
HTML
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>333</title>
</head>
<body>

<div id="menu">
    <img src="120px-Молот.png" id="mol">
    <img src="120px-Базука.png" id="baz">
    <img src="120px-Бомбардировка.png" id="boom">
    <img src="Динамит.png" id="tnt">
</div>


<script src="js.js"></script>
</body>
</html>

js
var a=document.createElement('mol');
mol.style.width="120px";
mol.style.height="120px";
mol.style.position='absolute';
mol.onclick=function cur(){
    document.body.style.cursor = 'url("32p.png"), default';
}
document.body.appendChild(a);

var b=document.createElement('baz');
baz.style.top="120px";
baz.style.width="120px";
baz.style.height="120px";
baz.style.position='absolute';
baz.onclick=function changeCursor(){
    document.body.style.cursor = 'url("32px-Базука.png"), default';
}
document.body.appendChild(b);

var c=document.createElement('boom');
boom.style.top="240px";
boom.style.width="120px";
boom.style.height="120px";
boom.style.position='absolute';
boom.onclick=function changeCursor(){
    document.body.style.cursor = 'url("32px-Бомбардировка.png"), default';
}
document.body.appendChild(c);

var d=document.createElement('tnt');
tnt.style.top="360px";
tnt.style.width="120px";
tnt.style.height="120px";
tnt.style.position='absolute';
tnt.onclick=function changeCursor(){
    document.body.style.cursor = 'url("32px-Динамит.png"), default';
}
document.body.appendChild(d);

var test=document.createElement('menu');
menu.style.backgroundColor=
menu.style.zIndex=10;
menu.style.width="160px";
menu.style.height="600px";
menu.style.position='absolute';
menu.style.left="-155px";

menu.onmouseover=azz;
function azz(event) {
    var left = -155;

    function frame() {

        left++;
        menu.style.left = left + 'px'


        if (left == 0) {
            clearInterval(timer1);
        }
    }
    var timer1 = setInterval(frame, 10)
}
menu.onmouseout=az;
function az(event) {
    var left = 0;

    function frame() {

        left--;
        menu.style.left = left + 'px'


        if (left == -155) {
            clearInterval(timer1);
        }
    }
    var timer1 = setInterval(frame, 10)
}
document.body.appendChild(test);

var fon  = document.createElement('div');
fon.style.width = '100%';
fon.style.height = '100%';
fon.style.position = 'absolute';
fon.style.backgroundImage = "url(trava.jpg)";
document.body.appendChild(fon);

var p = document.createElement('div');
p.style.width = '100px';
p.style.zIndex=1000;
p.style.height = '79px';
p.style.backgroundImage = "url('p2.gif')";
p.style.position = 'absolute';
p.style.top = '50%';
p.style.left = '50%';
document.body.appendChild(p);

function povtor(){
var bunny  = document.createElement('div');
bunny.style.width = '30px';
bunny.style.height = '30px';
bunny.style.backgroundImage = "url('z1.gif')";
bunny.style.position = 'absolute';
y = Math.random()*600;
x = Math.random()*1200;
bunny.style.top = y+'px';
bunny.style.left = x+'px';
bunny.onclick=function(event) {event.target.style.display='none';}
document.body.appendChild(bunny);
function move(event) {
    var left =parseInt(bunny.style.left, 10);
    function frame() {
        if (left<683){left++;
            bunny.style.left = left + 'px'}
        else if (left <= 683) {
        } else {
            left--;
            bunny.style.left = left + 'px'
        }
        bunny.style.left = left + 'px'

        if (left == 683) {
            clearInterval(timer1);
        }
    }
        var timer1 = setInterval(frame, 10)

    var top =parseInt(bunny.style.top, 10);
    function frame2() {
        if(top<360){top++;
            bunny.style.top = top + 'px'}
        else if(top>360){
            top--;
            bunny.style.top = top + 'px'
        }


        if (top == 360) {
            clearInterval(timer2);
        }
    }
    var timer2 = setInterval(frame2, 10)
}
    setTimeout(move,1000);

}
setInterval(povtor,1000)

криво залито http://learn.javascript.ru/play/7VG9B

nub 18.11.2013 23:22

чтоб по клику на bunny например в радиусе 30 пикселей исчезли остальные bunny как это реализовать на js

ksa 19.11.2013 09:38

Цитата:

Сообщение от nub
помогите сделать радиус порождения для оружия
...
чтоб по клику на bunny например в радиусе 30 пикселей исчезли остальные bunny как это реализовать

Дык...

nub 19.11.2013 12:41

ksa,
спасибо я искал как это реализовать на js не нашёл

ksa 19.11.2013 13:02

Цитата:

Сообщение от nub
я искал как это реализовать на js не нашёл

Не нашел как посчитать разность двух чисел и модуль числа? :blink:

nub 20.11.2013 16:23

Цитата:

Сообщение от ksa (Сообщение 281800)
Не нашел как посчитать разность двух чисел и модуль числа? :blink:

сам смысл понятен но в плане кода не очень нужно выташити координаты из bunny и сравнивать с другими координатами bunny с этим проблема

ksa 20.11.2013 16:40

Цитата:

Сообщение от nub
нужно выташити координаты из bunny и сравнивать с другими координатами bunny с этим проблема

На то есть статейка! ;)
http://javascript.ru/ui/offset

nub 28.11.2013 17:14

сделала массив из кроликов и определил координаты как теперь их состыковать?http://learn.javascript.ru/play/4kokh

рони 28.11.2013 17:31

nub,
клик по кролику должен выдавать его координаты -- потом идти по массиву и смотреть какие ещё кролики лежать в радиусе 30 пикселей от этих координат

рони 28.11.2013 21:35

nub,
Цитата:

Раз, два, три, четыре, пять, Вышел зайчик погулять, Вдруг охотник выбегает, Прямо в зайчика стреляет. Пиф - паф ой-ой-ой Умирает зайчик мой.
базука - радиус поражения 30, 100, 200
+ подсчёт тушек
зайцы размножаются бесконечно, но не более 25 штук на поле
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <style type="text/css">
  body{
    background:  url(http://learn.javascript.ru/files/play/52/8a/528a0db7e024b.jpg) #008000;
    color: #FFFFFF;
    font-size: x-large;
  }
  </style>
</head>

<body>
<div id="ok">0</div>
<input  type="radio" name="boom" value="30" id="boom30"  checked="checked" ><label  for="boom30">30</label>
<input  type="radio" name="boom" value="100" id="boom100"><label  for="boom100">100</label>
<input  type="radio" name="boom" value="200" id="boom200"><label  for="boom200">200</label>
 <script>
var random = function (b) {
    return Math.ceil(Math.random() * b)
}, rabbitsArray = [],
    win = 0;

function unit() {
    for (var b = rabbitsArray.length; 25 > b; b++) {
        rabbitsArray[b] = [random(400), random(800)];
        var c = rabbitsArray[b];
        c.bunny = document.createElement("div");
        var a = c.bunny;
        a.style.width = "30px";
        a.style.height = "30px";
        a.style.backgroundImage = "url('http://learn.javascript.ru/files/play/52/8a/528a0db80b9f9.gif')";
        a.style.backgroundPosition = "center center";
        a.style.backgroundRepeat = "no-repeat";
        a.style.position = "absolute";
        a.style.top = c[0] + "px";
        a.style.left = c[1] + "px";
        document.body.appendChild(a)
    }
}
unit();

function bum(b) {
    var boom = document.querySelector(':checked').value;
    for (var c = rabbitsArray.length - 1, a; a = rabbitsArray[c]; c--) {
        var d = Math.pow(a[0] - (b[0] - 15), 2) + Math.pow(a[1] - (b[1] - 15), 2),
            d = Math.sqrt(d);
        boom > d && (win++, document.getElementById("ok").innerHTML = win, a.bunny.style.border = "#FF0000 1px solid", a = rabbitsArray.splice(c, 1), window.setTimeout(function (a) {
            return function () {
                document.body.removeChild(a)
            }
        }(a[0].bunny), 500))
    }
    unit()
}
document.onclick = function (b) {
    b = b || event;
    bum([b.clientY, b.clientX])
};
 </script>
</body>

</html>


Часовой пояс GMT +3, время: 14:41.