Autor | Zpráva | ||
---|---|---|---|
FAKTOR2 Profil |
#1 · Zasláno: 3. 9. 2015, 20:51:23
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 |
#2 · Zasláno: 3. 9. 2015, 21:14:31
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 |
#3 · Zasláno: 3. 9. 2015, 21:21:38
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 :) |
||
Časová prodleva: 9 let
|
0