| 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: 11 let
|
|||
0