Hi! Could we please enable some services and cookies to improve your experience and our website?

PHPize Online / SQLize Online  /  SQLtest Online

A A A
Login    Share code      Blog   FAQ

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

Copy Format Clear

Stuck with a problem? Got Error? Ask AI support!

Copy Clear
Copy Format Clear
<?php $result['gdata'] = array ( 'turn' => array ( 'number' => 1, 'time' => 1742734046, 'step' => array ( 27 => 1, 1 => 0, ), 'skip' => array ( 27 => 0, 1 => 0, ), ), 'robot' => array ( 'active' => array ( 27 => 'first', 1 => 'first', ), 'destroyed' => array ( 27 => 1, 1 => 0, ), ), 'info' => array ( 27 => array ( 'first' => array ( 'hp' => 11, 'energy' => 28, 'heat' => 37, 'recharge' => 9, 'cool' => 11, 'armor' => array ( 0 => 49, 1 => 17, 2 => 17, ), 'max_heat' => 67, 'max_energy' => 65, 'use' => array ( 'top_weapon' => array ( 's1' => 1, ), ), ), ), 1 => array ( 'first' => array ( 'hp' => -34, 'energy' => 65, 'heat' => 41, 'recharge' => 9, 'cool' => 1, 'armor' => array ( 0 => 49, 1 => 17, 2 => 17, ), 'max_heat' => 54, 'max_energy' => 65, 'use' => array ( ), ), ), ), 'pos' => array ( 27 => array ( 'p' => 2, 'd' => 'r', ), 1 => array ( 'p' => 7, 'd' => 'l', ), ), 'role' => array ( 27 => 1, 1 => 3, ), ); $result['bdata'] = array ( 'type' => 1, 'hash' => '!kxEQ3tbMBsS', 'pos' => array ( 27 => array ( 'p' => 2, 'd' => 'r', ), 1 => array ( 'p' => 7, 'd' => 'l', ), ), 'bot' => array ( 1 => 1, ), 'users' => array ( 27 => array ( 'selected' => array ( 'select' => array ( 1 => 1, ), 'start' => 1, ), 'prgs' => array ( 'level' => 100, 'xp' => 56796, 'all_xp' => 343204, ), ), 1 => array ( 'selected' => array ( 'select' => array ( 1 => 1, ), 'start' => 1, ), 'prgs' => array ( 'level' => 500, 'xp' => 56796, 'all_xp' => 343204, ), ), ), 'info' => array ( 27 => array ( 'first' => array ( 'hp' => 11, 'energy' => 65, 'heat' => 67, 'recharge' => 9, 'cool' => 11, 'armor' => array ( 0 => 49, 1 => 17, 2 => 17, ), ), ), 1 => array ( 'first' => array ( 'hp' => 11, 'energy' => 65, 'heat' => 67, 'recharge' => 9, 'cool' => 11, 'armor' => array ( 0 => 49, 1 => 17, 2 => 17, ), ), ), ), 'turn' => array ( 'step' => array ( 27 => 1, 1 => 0, ), ), ); $result['hdata'] = array ( 1 => array ( 0 => array ( 'usr' => 27, 'menu' => 'attack', 'opt' => 'top_weapon', 'slt' => 's1', 'loss' => array ( 'energy_' => 65, 'energy' => 37, 'max_energy' => 65, 'heat_' => 0, 'heat' => 37, 'max_heat' => 67, ), 'active' => array ( 27 => 'first', 1 => 'first', ), 'pos' => array ( 27 => array ( 'p' => 2, 'd' => 'r', ), 1 => array ( 'p' => 7, 'd' => 'l', ), ), 'dmg' => array ( 1 => array ( 'first' => array ( 'hp' => 45, 'overheat' => 41, 'reduce' => 13, 'recovery' => 13, 'hp_' => 11, 'heat_' => 0, 'max_heat' => 67, ), ), ), ), 1 => array ( 0 => array ( 'usr' => 1, 'state' => array ( 0 => 12, 1 => 6, ), ), ), ), ); $reward = []; foreach (array_keys($result['bdata']['users']) as $uid) $reward[$uid] = ['dmg' => 0, 'xp' => 0, 'lvl' => 0]; $dbonus = [0 => 1, 1 => 5, 2 => 15, 3 => 25]; foreach ($result['hdata'] as $number => $turn) foreach ($turn as $action) foreach ($action as $type => $data) if ($type === 'dmg') { foreach ($data as $uid => $dmg) { $dmg = $dmg[key($dmg)]; $elvl = $result['bdata']['users'][$uid]['prgs']['level']; $slvl = $result['bdata']['users'][$action['usr']]['prgs']['level']; $mlvl = $slvl > $elvl ? ($slvl / $elvl) : ($elvl / $slvl) ; var_dump($elvl); var_dump($slvl); // echo PHP_EOL; var_dump($mlvl); // var_dump( ($dmg['hp'] / $mlvl) + abs($mlvl) ); // var_dump($result['gdata']["robot"]["destroyed"][$action['usr']]); $dmg['hp'] = $slvl > $elvl ? $dmg['hp'] / $mlvl : $dmg['hp'] * $mlvl; $dmg['hp'] += ($dmg['hp'] / 100) * $dbonus[$result['gdata']["robot"]["destroyed"][$action['usr']]]; $dmg['hp'] = (int)floor($dmg['hp']); $reward[$action['usr']]['xp']+= $dmg['hp']; } // (new Func)->logit(serialize($data)); //(new Func)->logit(serialize($action['usr'])); // (new Func)->logit(serialize($type)); // var_dump($action); // var_dump($data); // var_dump($type); //var_dump($action['usr']); } echo PHP_EOL; var_dump($reward);
Copy Clear