function szpiegowanie($event) { require_once 'dodaj_event.php'; //atakujący $miasto1 = mysql_fetch_array(mysql_query("select * from tribal_miasta inner join tribal_gracze on gracz_id = gracz where miasto = " . $event['miasto_id'])); //obrońca $miasto2 = mysql_fetch_array(mysql_query("select * from tribal_miasta inner join tribal_gracze on gracz_id = gracz where miasto = " . $event['podtyp'])); //pobierz dane broniących się szpiegów $obronca = mysql_fetch_array(mysql_query("select * from tribal_jednostki_miasta inner join tribal_jednostki on jednostka_id = jednostka where miasto_id = " . $event['podtyp'] . " and jednostka_id = 5 and ilosc > 0")); $tekst1 = "Twoi szpiedzy z miasta " . $miasto1['nazwa'] . " szpiegują miasto " . $miasto2['nazwa'] . "<br/>"; if (empty($obronca)) { $tekst1 .= "Nie napotkano oporu<br/>"; $tekst2 = "Szpiedzy z wrogiego szpiegują Twoje miasto " . $miasto2['nazwa'] . "<br/>"; } else { //zabij odpowiednią ilość szpiegów po obu stronach $ilu = $event['ilosc']; $event['ilosc'] -= $obronca['ilosc']; $obronca['ilosc'] -= $ilu; if ($event['ilosc'] < 0) { $event['ilosc'] = 0; } if ($obronca['ilosc'] < 0) { $obronca['ilosc'] = 0; } //jeżeli obrońca w ogóle zabił jakiegoś szpiego to pokaż mu info z którego miasta przyszedł atak if ($ilu == $event['ilosc']) { $tekst2 = "Szpiedzy z miasta " . $miasto1['nazwa'] . " szpiegują Twoje miasto " . $miasto2['nazwa'] . "<br/>"; } else { $tekst2 = "Szpiedzy z wrogiego szpiegują Twoje miasto " . $miasto2['nazwa'] . "<br/>"; } } if (empty($obronca['ilosc']) && !empty($event['ilosc'])) { $zwyciezca = 1; //zabij obrońcę mysql_query("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto'] . " and jednostka_id = 5"); $tekst1 .= "Udało Ci się przeszpiegować miasto<br/>\n\t\t\tZdobyte informacje:<br/>\n\t\t\tDrewno: " . $miasto2['drewno'] . "\n\t\t\tKamień: " . $miasto2['kamien'] . "\n\t\t\tŻelazo: " . $miasto2['zelazo'] . "\n\t\t\tJedzenie: " . $miasto2['jedzenie'] . "\n\t\t\tPopulacja: " . $miasto2['populacja'] . "/" . $miasto2['populacja_max'] . "\n\t\t\t"; $tekst2 .= "Twoi szpiedzy ponieśli klęskę<br/>"; } elseif (empty($obronca['ilosc']) && empty($event['ilosc'])) { $zwyciezca = 0; //zabij obrońcę mysql_query("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto'] . " and jednostka_id = 5"); $tekst1 .= "Twoi szpiedzy ponieśli klęskę<br/>"; $tekst2 .= "Twoi szpiedzy zginęli ale nie dopuścili do infiltracji miasta<br/>"; } else { $zwyciezca = 2; //zabij obrońcę mysql_query("update tribal_jednostki_miasta set ilosc = " . $obronca['ilosc'] . " where miasto_id = " . $miasto2['miasto'] . " and jednostka_id = 5"); $tekst1 .= "Twoi szpiedzy ponieśli klęskę<br/>"; $tekst2 .= "Twoi szpiedzy nie dopuścili do infiltracji miasta<br/>"; } require_once 'raport.php'; $a = raport($miasto1['login'], $tekst1); $a = raport($miasto2['login'], $tekst2); if ($zwyciezca == 1) { //jeżeli wygrał to resztę szpiegów wyślij do domu $czas = $event['koniec'] - $event['start']; require_once 'dodaj_event.php'; dodaj_event($event['miasto_id'], 21, $event['podtyp'], $event['ilosc'], $czas); } }
function rozwiaz_armie($id) { //zabezpiecz zmienne $id = (int) $id; fx('wiadomosc_wyslij'); $login = one($q = "select login from tribal_gracze inner join tribal_miasta on gracz_id = gracz inner join tribal_ataki on miasto = miasto_id where atak = " . $id); $atak_info = row("select * from tribal_ataki where atak = {$id}"); $jednostki = all("select * from tribal_ataki_jednostki inner join tribal_ataki a on a.atak = atak_id where atak_id = {$id}"); if (is_array($jednostki)) { foreach ($jednostki as $jednostka) { call("update tribal_jednostki_miasta set ilosc = ilosc + " . $jednostka['ilosc'] . " where jednostka_id = " . $jednostka['jednostka_id'] . " and miasto_id = " . $jednostka['miasto_id']); } } call("delete from tribal_ataki_jednostki where atak_id = {$id}"); call("delete from tribal_ataki where atak = {$id}"); fx('surowce'); surowce($atak_info['miasto_id'], $atak_info['drewno'], $atak_info['kamien'], $atak_info['zelazo'], $atak_info['jedzenie'], 0); fx('raport'); $a = raport($login, "Armia powróciła do miasta ,rozładowano " . $atak_info['drewno'] . " drewna, " . $atak_info['kamien'] . " kamienia, " . $atak_info['zelazo'] . " żelaza i " . $atak_info['jedzenie'] . " jedzenia"); }
function rozwiaz_armie($id) { //zabezpiecz zmienne $id = (int) $id; require_once 'wiadomosc_wyslij.php'; $login = mysql_fetch_array(mysql_query("select login from tribal_gracze inner join tribal_miasta on gracz_id = gracz inner join tribal_ataki on miasto = miasto_id where atak = " . $id)); $login = $login[0]; $atak_info = mysql_fetch_array(mysql_query("select * from tribal_ataki where atak = {$id}")); $jednostki = all("select * from tribal_ataki_jednostki inner join tribal_ataki a on a.atak = atak_id where atak_id = {$id}"); if (is_array($jednostki)) { foreach ($jednostki as $jednostka) { mysql_query("update tribal_jednostki_miasta set ilosc = ilosc + " . $jednostka['ilosc'] . " where jednostka_id = " . $jednostka['jednostka_id'] . " and miasto_id = " . $jednostka['miasto_id']); } } mysql_query("delete from tribal_ataki_jednostki where atak_id = {$id}"); mysql_query("delete from tribal_ataki where atak = {$id}"); require_once 'surowce.php'; surowce($atak_info['miasto_id'], $atak_info['drewno'], $atak_info['kamien'], $atak_info['zelazo'], $atak_info['jedzenie'], 0); require_once 'raport.php'; $a = raport($login, "Armia powróciła do miasta ,rozładowano " . $atak_info['drewno'] . " drewna, " . $atak_info['kamien'] . " kamienia, " . $atak_info['zelazo'] . " żelaza i " . $atak_info['jedzenie'] . " jedzenia"); }
function bitwa($event) { //atakujący $miasto1 = mysql_fetch_array(mysql_query("select * from tribal_miasta inner join tribal_gracze on gracz_id = gracz where miasto = " . $event['miasto_id'])); //obrońca $miasto2 = mysql_fetch_array(mysql_query("select * from tribal_miasta inner join tribal_gracze on gracz_id = gracz where miasto = " . $event['podtyp'])); $a = mysql_query($q = "select * from tribal_ataki_jednostki inner join tribal_jednostki on jednostka_id = jednostka where atak_id = " . $event['ilosc']); while ($as = mysql_fetch_array($a)) { $atakujacy[] = $as; } $o = mysql_query("select * from tribal_jednostki_miasta inner join tribal_jednostki on jednostka_id = jednostka where miasto_id = " . $event['podtyp'] . " and ilosc > 0"); while ($as = mysql_fetch_array($o)) { $obronca[] = $as; } $tekst1 = "Twoja armia z miasta " . $miasto1['nazwa'] . " zaatakowała miasto " . $miasto2['nazwa'] . "<br/>"; $tekst2 = "Wrogowie z miasta " . $miasto1['nazwa'] . " zaatakowali Twoje miasto " . $miasto2['nazwa'] . "<br/>"; $mur = $miasto2['mur'] * 1000; $mur_o = $miasto2['mur'] * 100; $mur_a = $miasto2['mur'] * 100; if (empty($obronca) && empty($mur)) { $tekst1 .= "Nie napotkano oporu<br/>"; } $runda = 0; if (!empty($mur)) { $tekst1 .= "miasto posiada mur obronny<br/>"; } while (!empty($atakujacy) && $mur > 0) { $runda++; if ($runda > 10) { break; } foreach ($atakujacy as $oddzial) { if (!empty($obronca)) { $rany = $oddzial['atak'] * $oddzial['ilosc'] - $mur_o; if ($rany < $oddzial['ilosc']) { $rany = $oddzial['ilosc']; } $mur -= $rany; } } if (!empty($atakujacy)) { shuffle($atakujacy); $key = array_rand($atakujacy); $przeciwnik = $atakujacy[$key]; if (!empty($przeciwnik)) { $atak = $mur_a; $obrona = $przeciwnik['obrona'] * $przeciwnik['ilosc']; $rany = $atak - $obrona; if ($rany < 1) { $rany = 1; } $zabito = floor($rany / $przeciwnik['wytrzymalosc']); if ($zabito < 1) { $zabito = 1; } if ($zabito > $przeciwnik['ilosc']) { $zabito = $przeciwnik['ilosc']; } $przeciwnik['ilosc'] -= $zabito; if ($przeciwnik['ilosc'] < 1) { unset($atakujacy[$key]); } else { $atakujacy[$key] = $przeciwnik; } } } } $runda = 0; while (!empty($atakujacy) && !empty($obronca)) { $runda++; if ($runda > 20) { break; } foreach ($atakujacy as $oddzial) { if (!empty($obronca)) { shuffle($obronca); $key = array_rand($obronca); $przeciwnik = $obronca[$key]; if (!empty($przeciwnik)) { $atak = $oddzial['atak'] * $oddzial['ilosc']; $obrona = $przeciwnik['obrona'] * $przeciwnik['ilosc']; $rany = $atak - $obrona; if ($rany < $oddzial['ilosc']) { $rany = $oddzial['ilosc']; } $zabito = floor($rany / $przeciwnik['wytrzymalosc']); if ($zabito < 1) { $zabito = 1; } if ($zabito > $przeciwnik['ilosc']) { $zabito = $przeciwnik['ilosc']; } $przeciwnik['ilosc'] -= $zabito; if ($przeciwnik['ilosc'] < 1) { unset($obronca[$key]); } else { $obronca[$key] = $przeciwnik; } } } } foreach ($obronca as $oddzial) { if (!empty($atakujacy)) { shuffle($atakujacy); $key = array_rand($atakujacy); $przeciwnik = $atakujacy[$key]; if (!empty($przeciwnik)) { $atak = $oddzial['atak'] * $oddzial['ilosc']; $obrona = $przeciwnik['obrona'] * $przeciwnik['ilosc']; $rany = $atak - $obrona; if ($rany < $oddzial['ilosc']) { $rany = $oddzial['ilosc']; } $zabito = floor($rany / $przeciwnik['wytrzymalosc']); if ($zabito < 1) { $zabito = 1; } if ($zabito > $przeciwnik['ilosc']) { $zabito = $przeciwnik['ilosc']; } $przeciwnik['ilosc'] -= $zabito; if ($przeciwnik['ilosc'] < 1) { unset($atakujacy[$key]); } else { $atakujacy[$key] = $przeciwnik; } } } } } if (empty($obronca) && !empty($atakujacy)) { $wybraniec = 0; $zwyciezca = 1; //zabij obrońcę mysql_query("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto']); //zabij atakującego wg zabitych mysql_query("update tribal_ataki_jednostki set ilosc = 0 where jednostka_id = " . $oddzial['jednostka_id'] . " and atak_id = " . $event['ilosc']); $max = 0; foreach ($atakujacy as $oddzial) { mysql_query("update tribal_ataki_jednostki set ilosc = " . $oddzial['ilosc'] . " where jednostka_id = " . $oddzial['jednostka_id'] . " and atak_id = " . $event['ilosc']); $max += $oddzial['ilosc'] * $oddzial['udzwig']; //jeżeli przeżył wybraniec to zabiera o 5 * ilość wybrańców morale więcej niż normlanie if ($oddzial['jednostka_id'] == 11 && $oddzial['ilosc'] > 0) { $wybraniec = 5 * $oddzial['ilosc']; } } mysql_query("delete from tribal_ataki_jednostki where ilosc = 0 and atak_id = " . $event['ilosc']); $tekst1 .= "Wygrałeś bitwę<br/>"; $tekst2 .= "Przegrałeś bitwę<br/>"; if ($max > 0) { $d = $miasto2['drewno']; $k = $miasto2['kamien']; $z = $miasto2['zelazo']; $j = $miasto2['jedzenie']; if ($d + $k + $z + $j <= $max) { $add[0] = $d; $add[1] = $k; $add[2] = $z; $add[3] = $j; } else { $res = array($d, $k, $z, $j); $add = array(0, 0, 0, 0); $dec = $d + $k + $z + $j - $max; $per = (int) ($max / 4); if ($d >= $per) { $res[0] -= $per; $add[0] = $per; $max -= $per; } elseif ($d > 0) { $res[0] = 0; $add[0] = $d; $max -= $d; } if ($k) { $res[1] -= $per; $add[1] = $per; $max -= $per; } elseif ($k > 0) { $res[1] = 0; $add[1] = $k; $max -= $k; } if ($z >= $per) { $res[2] -= $per; $add[2] = $per; $max -= $per; } elseif ($z > 0) { $res[2] = 0; $add[2] = $z; $max -= $z; } if ($j >= $per) { $res[3] -= $per; $add[3] = $per; $max -= $per; } elseif ($j > 0) { $res[3] = 0; $add[3] = $j; $max -= $j; } if ($res[0] == 0) { unset($res[0]); } if ($res[1] == 0) { unset($res[1]); } if ($res[2] == 0) { unset($res[2]); } if ($res[3] == 0) { unset($res[3]); } while ($max > 0) { shuffle($res); $keyr = array_rand($res); $take = $res[$keyr]; if ($res[$keyr] >= $max) { $add[$keyr] += $max; $max = 0; } else { $add[$keyr] += $res[$keyr]; $max -= $res[$keyr]; unset($res[$keyr]); } } } mysql_query("update tribal_ataki set drewno = " . $add[0] . ", kamien = " . $add[1] . ", zelazo = " . $add[2] . ", jedzenie = " . $add[3] . " where atak = " . $event['ilosc']); mysql_query("update tribal_miasta set drewno = drewno - " . $add[0] . ", kamien = kamien - " . $add[1] . ", zelazo =zelazo - " . $add[2] . ", jedzenie = jedzenie- " . $add[3] . " where miasto = " . $event['podtyp']); } $tekst1 .= "Zdobyłeś " . $add[0] . " drewna, " . $add[1] . " kamienia, " . $add[2] . " żelaza i " . $add[3] . " jedzenia<br/>"; $tekst2 .= "Straciłeś " . $add[0] . " drewna, " . $add[1] . " kamienia, " . $add[2] . " żelaza i " . $add[3] . " jedzenia<br/>"; if ($miasto2['morale'] > 10) { mysql_query("update tribal_miasta set morale = morale - 10 - " . $wybraniec . " where miasto =" . $miasto2['miasto']); } else { mysql_query("update tribal_miasta set gracz_id = " . $miasto1['gracz_id'] . ", morale = 100 where morale < 11 and miasto = " . $miasto2['miasto']); $tekst1 .= 'Przejąłeś miasto ' . $miasto2['nazwa'] . ' !!<br/>'; $tekst2 .= 'Straciłeś miasto ' . $miasto2['nazwa'] . ' !!<br/>'; mysql_query("update tribal_gracze set id_miasta = 0 where id_miasta =" . $miasto2['miasto']); } } elseif (empty($obronca) && empty($atakujacy)) { $zwyciezca = 0; //zabij obrońcę mysql_query("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto']); //zabij atakującego mysql_query("delete from tribal_ataki_jednostki where ilosc = 0 and atak_id = " . $event['ilosc']); mysql_query("delete from tribal_ataki where atak = " . $event['ilosc']); $tekst1 .= "Bitwa nierozstrzygnięta<br/>"; $tekst2 .= "Bitwa nierozstrzygnięta<br/>"; mysql_query("update tribal_miasta set morale = morale + 5 where miasto =" . $miasto2['miasto']); } else { $zwyciezca = 2; //zabij obrońcę mysql_query("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto']); foreach ($obronca as $oddzial) { mysql_query("update tribal_jednostki_miasta set ilosc = " . $oddzial['ilosc'] . " where jednostka_id = " . $oddzial['jednostka_id'] . " and miasto_id = " . $miasto2['miasto']); } //zabij atakującego mysql_query("delete from tribal_ataki_jednostki where ilosc = 0 and atak_id = " . $event['ilosc']); mysql_query("delete from tribal_ataki where atak = " . $event['ilosc']); $tekst2 .= "Wygrałeś bitwę<br/>"; $tekst1 .= "Przegrałeś bitwę<br/>"; mysql_query("update tribal_miasta set morale = morale + 10 where miasto =" . $miasto2['miasto']); } require_once 'raport.php'; $a = raport($miasto1['login'], $tekst1); $a = raport($miasto2['login'], $tekst2); if ($zwyciezca == 1) { $czas = $event['koniec'] - $event['start']; require_once 'dodaj_event.php'; dodaj_event($event['miasto_id'], 11, $event['podtyp'], $event['ilosc'], $czas); } }
//не меньше 5 символов пароль $this->pass2 = password_hash($this->pass2, PASSWORD_BCRYPT); $date_reg = date('Y:m:d H:i'); $pdo = new BD(); $pdo->connect(); $res = $pdo->query("SELECT `id`, `pass`, `login` FROM `users` WHERE 'login' = '{$this->login}'"); $row = $res->fetch(); if (!empty($row['id'])) { exit("Данный пользователь уже зарегестирован!"); } else { $res1 = mysql_query("INSERT INTO user (login,pass,mail,fio,date_reg) VALUE ('{$login}', '{$pass2}','{$mail}', '{$fio}', '{$date_reg}')"); } } } if ($res1 == 'TRUE') { return raport(); } else { echo "Ошибка, вы не зарегестрированы"; } //Функция провери на расширение, что бы на серв не залили другой файл ! function raport() { $ext = strtolower(substr(strrchr($_FILES['img']['name'], '.'), 1)); if (in_array($ext, array('jpeg', 'gif', 'jpg'))) { return upload(); } else { echo "<br>"; echo "Файл не был загружен на сервер!"; echo "<br>"; echo "<a href = 'index.html'>Войти в систему</a></br>"; echo "</br>";