Autor Zpráva
FAKTOR2
Profil
Môj problém spočíva v tomto:

function Entity () {
}

function rn(min,max)
{
    return Math.floor(Math.random()*(max-min+1)+min);
}

Entity.prototype = entityPrototype;

player = new Entity();
player.name = playerName;
player.Atk = function () { return rn(<?php echo(json_encode($minimal)); ?>,<?php echo(json_encode($maximal)); ?>); };
player.Def = function () { return rn(5,10); };
player.h = player.HP;
player.m = player.Mana;

Náhodne sa generujú čísla pre útok a obranu to isté u súpera.

enemy = new Entity();
enemy.name = 'Demon';
enemy.Atk = function () { return rn(10,15); };;
enemy.Def = function () { return rn(0,3); };
enemy.HP = 22;
enemy.h = enemy.HP;


Po stalčení tlačítka sa má uskutočniť nasledovné:
// ATTACKING
var playerAttack = function(){
  var atkSum = player.Atk() - enemy.Def();
  if (atkSum>0){ 
  remainingHP = enemy.HP - atkSum;}else{remainingHP = enemy.HP; alert("Netrafil si ho."); } 
  enemy.HP = remainingHP;  

  var atkSuma = enemy.Atk() - player.Def();
  var enem = enemy.Atk();
  var defes = player.Def(); 
  if (atkSuma>0){
  remainingHP = player.HP - atkSuma;alert(+ atkSuma); alert(+ enem); alert(+ defes);}else{remainingHP = player.HP; alert("Blokuješ jeho útok."); }
  player.HP = remainingHP;
  if (player.HP<1){
    alert("Si mrtvy");
    window.location.href='../mesto/regen.html';
    hi();
  }  

  if (enemy.HP<1){
    alert("Nepriatel skapal!");
    window.location.href='expi.php?c=1&a=20&f=8&zona='+dalej+'';
  }  
  hi(); 
};

var playerAttacks = function(){
 
    playerAttack();  
    hi();
  



  
};

Schválne sú tam alerti aby som videl výstupné údaje ktoré ale vôbec nesedia.
Čísla sa generujú správne enemy.Atk aj player.Def.
A však vôbec sa tie čísla neodrátajú var atkSuma = enemy.Atk() - player.Def(); alebo neviem čo sa stane lebo do
atkSuma dostanem úplne iné číslo . Chcel som sem vložiť celí skript ale bol strašne dlhý.

Pár príkladov: atkSuma = 3 enemyatk = 15 playerdef = 10
atkSuma = 7 enemyatk = 14 playerdef = 5
atkSuma = 5 enemyatk = 12 playerdef = 5

Ak dobre viem tak 12-5 = 7 a nie 5 nechápem odkiaľ tie čísla berie ?
Radek9
Profil
FAKTOR2:
Ty je totiž generuejš dvakrát. Nejdřív je vygeneruješ a jejich rozdíl uložíš do atkSuma a potom je generuješ znova a uložíš je do enem a defes. Logicky tam nebudou stejné hodnoty, když je to random. Pokud je potřebuješ zvlášť, tak je nejdřív vygeneruj do proměnných a do atkSuma ukládej rozdíl těchto proměnných.
FAKTOR2
Profil
Máš pravdu tam sa vygenerujú zas iné čísla. Skúsim to tak ako navrhuješ.
Potreboval som skontrolovať tie čísla preto že za istých okolností mala byť obrana vždy väčšia ako útok a aj tak odoberalo zo života :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: