Увеличение параметров
|
|
hripun | Дата: Четверг, 16 Июня 2011, 20:23 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Доброго времени суток! Хотел бы по интересоваться такой штукой... У меня есть некоторые параметры , допустим: Шпионаж -10 [+5] воровство -10 [+5]
10 это параметр шпиона или вора не важно я беру из бызы. По нажатию [+5] должно перезаписаться в базе 15 и сняться к примеру 1000 золота.. а за следующие [+5] должно уже сняться 5000 золота... в принципе я решил этот ребус но код получился очень грамозким и корявым каким то((( мож кто поможет упростить?
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
Assasin | Дата: Четверг, 16 Июня 2011, 20:44 | Сообщение # 2 |
web-coder
Сейчас нет на сайте
| Выложи код, может и поможем.
|
|
| |
hripun | Дата: Четверг, 16 Июня 2011, 21:00 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Ну если кусочек то вот такой
Code <?php include('../config.php'); ?> Грабителли - <?php echo $vor_centr; echo "<a href ='town_centre.php?id=1' class='links'>[+]</a>" ?><br> Саботажники - <?php echo $sab_centr;echo "<a href ='town_centre.php?id=2' class='links'>[+]</a>" ?><br> Шпионы - <?php echo $shpion_centr; echo "<a href ='town_centre.php?id=3' class='links'>[+]</a>" ?><br> Диверсанты - <?php echo $divers_centr; echo "<a href ='town_centre.php?id=4' class='links'>[+]</a>" ?><br>
<?php if($_GET) { header("Location: {$_SERVER['PHP_SELF']}"); header("Location: {$_SERVER['HTTP_REFERER']}"); } @$id=trim(htmlspecialchars($_GET['id'])); if (isset($id) and $id==1){if ($vor_centr == 10 and $gold >= 1000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 1000) where username ='$valid_user'");} if ($vor_centr == 15 and $gold >= 5000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 5000) where username ='$valid_user'");} if ($vor_centr == 20 and $gold >= 10000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 10000) where username ='$valid_user'");} if ($vor_centr == 25 and $gold >= 15000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 15000) where username ='$valid_user'");} if ($vor_centr == 30 and $gold >= 25000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 25000) where username ='$valid_user'");} if ($vor_centr == 35 and $gold >= 35000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 35000) where username ='$valid_user'");} if ($vor_centr == 40 and $gold >= 45000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 45000) where username ='$valid_user'");} if ($vor_centr == 45 and $gold >= 55000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 55000) where username ='$valid_user'");} if ($vor_centr == 50 and $gold >= 75000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 75000) where username ='$valid_user'");} if ($vor_centr == 55 and $gold >= 91000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 91000) where username ='$valid_user'");} if ($vor_centr == 60 and $gold >= 115000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 115000) where username ='$valid_user'");} if ($vor_centr == 65 and $gold >= 141000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 141000) where username ='$valid_user'");} if ($vor_centr == 70 and $gold >= 159000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 159000) where username ='$valid_user'");} if ($vor_centr == 75 and $gold >= 170000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 170000) where username ='$valid_user'");} if ($vor_centr == 80 and $gold >= 200000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 200000) where username ='$valid_user'");} if ($vor_centr == 85 and $gold >= 230000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 230000) where username ='$valid_user'");} if ($vor_centr == 90 and $gold >= 255000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 255000) where username ='$valid_user'");} if ($vor_centr == 95 and $gold >= 270000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 270000) where username ='$valid_user'");} if ($vor_centr == 100 and $gold >= 300000) { $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 300000) where username ='$valid_user'");} } //////// сабатажники if (isset($id) and $id==2) {if ($sab_centr == 10 and $gold >= 1000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 1000) where username ='$valid_user'");} if ($sab_centr == 15 and $gold >= 5000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 5000) where username ='$valid_user'");} if ($sab_centr == 20 and $gold >= 10000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 10000) where username ='$valid_user'");} if ($sab_centr == 25 and $gold >= 15000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 15000) where username ='$valid_user'");} if ($sab_centr == 30 and $gold >= 25000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 25000) where username ='$valid_user'");} if ($sab_centr == 35 and $gold >= 35000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 35000) where username ='$valid_user'");} if ($sab_centr == 40 and $gold >= 45000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 45000) where username ='$valid_user'");} if ($sab_centr == 45 and $gold >= 55000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 55000) where username ='$valid_user'");} if ($sab_centr == 50 and $gold >= 75000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 75000) where username ='$valid_user'");} if ($sab_centr == 55 and $gold >= 91000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 91000) where username ='$valid_user'");} if ($sab_centr == 60 and $gold >= 115000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 115000) where username ='$valid_user'");} if ($sab_centr == 65 and $gold >= 141000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 141000) where username ='$valid_user'");} if ($sab_centr == 70 and $gold >= 159000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 159000) where username ='$valid_user'");} if ($sab_centr == 75 and $gold >= 170000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 170000) where username ='$valid_user'");} if ($sab_centr == 80 and $gold >= 200000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 200000) where username ='$valid_user'");} if ($sab_centr == 85 and $gold >= 230000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 230000) where username ='$valid_user'");} if ($sab_centr == 90 and $gold >= 255000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 255000) where username ='$valid_user'");} if ($sab_centr == 95 and $gold >= 270000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 270000) where username ='$valid_user'");} if ($sab_centr == 100 and $gold >= 300000) { $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 300000) where username ='$valid_user'");} }
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
Assasin | Дата: Четверг, 16 Июня 2011, 21:58 | Сообщение # 4 |
web-coder
Сейчас нет на сайте
| Вот приблизительный код, очки добавляет нормально, а деньги снимает в такой зависимости: 1000, 5000, 9000, 13000, 17000, 21000 и т.д. тоесть добавляет каждый раз 4000. Но ты можешь ввести какой нибудь коефициент, который при каждой итерации увеличивается, соответственно увеличивает стоимость. Code <?php include('../config.php'); ?> Грабителли - <?php echo $vor_centr; echo "<a href ='town_centre.php?id=1' class='links'>[+]</a>" ?><br> Саботажники - <?php echo $sab_centr;echo "<a href ='town_centre.php?id=2' class='links'>[+]</a>" ?><br> Шпионы - <?php echo $shpion_centr; echo "<a href ='town_centre.php?id=3' class='links'>[+]</a>" ?><br> Диверсанты - <?php echo $divers_centr; echo "<a href ='town_centre.php?id=4' class='links'>[+]</a>" ?><br>
<?php if($_GET) { header("Location: {$_SERVER['PHP_SELF']}"); header("Location: {$_SERVER['HTTP_REFERER']}"); } @$id=trim(htmlspecialchars($_GET['id']));
function up($v, $g, $type) { global $vor_centr; global $gold; global $valid_user; if ($vor_centr == $v and $gold >= $g) { $result = mysql_query("UPDATE `user` SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.") WHERE `username` ='".$valid_user."'"); if ($result) { return true; } else { die(mysql_error()); } } }
if (isset($id)) { switch($id) { case 1: $num = 10; $g = 1000; while ($num <= 100) { up($num, $g, "vor"); $num += 5; $g += 4000; } break; case 2: $num = 10; $g = 1000; while ($num <= 100) { up($num, $g, "sab"); $num += 5; $g += 4000; } break; } } Код на работоспособность не проверял, написал абстрактно. Так что если что то не будет работать, то пиши, подправим вместе.
|
|
| |
hripun | Дата: Пятница, 17 Июня 2011, 07:39 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| а если без использования global ?
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
anton-gar | Дата: Пятница, 17 Июня 2011, 09:28 | Сообщение # 6 |
WEBmaster
Сейчас нет на сайте
| Quote (hripun) а если без использования global ?
А как ты по другому внесёшь переменные в функцию?
|
|
| |
Assasin | Дата: Пятница, 17 Июня 2011, 10:15 | Сообщение # 7 |
web-coder
Сейчас нет на сайте
| hripun, а чем тебе не нравится global?
|
|
| |
a112 | Дата: Пятница, 17 Июня 2011, 13:02 | Сообщение # 8 |
участник
Сейчас нет на сайте
| static тоже работать должен А чем вам global не по душе?
топ браузерных игр
|
|
| |
hripun | Дата: Суббота, 18 Июня 2011, 21:26 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| да с глобал тупанул)) код немного доработал ,терь работает отлично Спасибо огромное!!!!! осталось только вывести когда нет денег соответствуещее сообщение
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
anton-gar | Дата: Суббота, 18 Июня 2011, 21:37 | Сообщение # 10 |
WEBmaster
Сейчас нет на сайте
| Quote (hripun) осталось только вывести когда нет денег соответствуещее сообщение
если цена больше наличных денег, то выводить "у вас не хватает денег" *)
|
|
| |
Assasin | Дата: Воскресенье, 19 Июня 2011, 13:39 | Сообщение # 11 |
web-coder
Сейчас нет на сайте
| Проверка в функции up Code if ($vor_centr == $v and $gold >= $g) { $result = mysql_query("UPDATE `user` SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.") WHERE `username` ='".$valid_user."'"); if ($result) { return true; } else { die(mysql_error()); } } elseif ($gold < $g) { выводим сообщение о том что денег не хватает }
|
|
| |
hripun | Дата: Среда, 22 Июня 2011, 22:09 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| Quote (Assasin) elseif ($gold < $g) { выводим сообщение о том что денег не хватает } не выводит так нечего
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
anton-gar | Дата: Среда, 22 Июня 2011, 22:17 | Сообщение # 13 |
WEBmaster
Сейчас нет на сайте
| Quote (hripun) не выводит так нечего
Странно, вроде всё верно... Проверил у себя всё работает.
|
|
| |
Assasin | Дата: Среда, 22 Июня 2011, 22:18 | Сообщение # 14 |
web-coder
Сейчас нет на сайте
| пробуй так Code if ($gold < $g) { echo "Нету денег"; } elseif ($vor_centr == $v and $gold >= $g) { $result = mysql_query("UPDATE `user` SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.") WHERE `username` ='".$valid_user."'"); if ($result) { return true; } else { die(mysql_error()); } } либо перед функцией пишешь Code $_SESSION['err'] = ""; функцию изменяешь Code if ($gold < $g) { $_SESSION['err'] = "Нету денег"; } elseif ($vor_centr == $v and $gold >= $g) { $result = mysql_query("UPDATE `user` SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.") WHERE `username` ='".$valid_user."'"); if ($result) { return true; } else { die(mysql_error()); } } и дальше ошибку выводишь Code if ($_SESSION['err'] != "") { echo $_SESSION['err']; } Можно еще варианты придумать если есть желание
|
|
| |
hripun | Дата: Четверг, 23 Июня 2011, 09:15 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| И вот опять же нет (( я немного модернизировал страницы и может из за этого не получается ( вот весь лист кода
Доступно только для пользователей
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
Assasin | Дата: Пятница, 24 Июня 2011, 12:46 | Сообщение # 16 |
web-coder
Сейчас нет на сайте
| Code if ($shpion == $v and $money >= $g) У тебя в формуле происходит проверка только для шпионов, поэтому измени немного функцию Code function up($v, $g, $type_center) { global $money; if ($type_center == $v and $money >= $g) { $result45 = mysql_query("UPDATE `users` SET `".$type_center."`=(".$type_center." + 5),`money`=(money - ".$g.") WHERE id_user=".$_SESSION['user']['id_user']); if ($result45) { return true; } else { die(mysql_error()); } } elseif ($money < $g) { print "выводим сообщение о том что денег не хватает"; } } ну и ниже подправь где происходит проверка на каждый центр Code if (isset($id)) { switch($id) { /////////////////////////////////////////// case 1: $num = 10; $g = 1000; while ($num <= 100) { up($num, $g, "shpion_center"); $num += 5; $g += 1000; } break;
|
|
| |
hripun | Дата: Четверг, 14 Июля 2011, 14:05 | Сообщение # 17 |
был не раз
Сейчас нет на сайте
| не знаю можно так или нет но не создавая новую тему спрошу как сделать в игре смену фона и шрифта в настройках ???? Добавлено (14.07.2011, 14:05) --------------------------------------------- хех чет не кого нет совсем
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
Сообщение отредактировал hripun - Среда, 13 Июля 2011, 22:57 |
|
| |
webstrict666 | Дата: Четверг, 14 Июля 2011, 16:13 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| css кури) body
http://GAMESKROL.RU Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
|
|
| |
hripun | Дата: Четверг, 14 Июля 2011, 16:47 | Сообщение # 19 |
был не раз
Сейчас нет на сайте
| Quote (webstrict666) css кури) body Афигенно помог........
Нужна помощь в тестировании моей игры
Резервация
6.03.2016
|
|
| |
lvovand | Дата: Четверг, 14 Июля 2011, 17:28 | Сообщение # 20 |
старожил
Сейчас нет на сайте
| css и javascript в помощь
примерно так: делаешь, например, два разных файла css со своими стилями <head> <link id="style" rel="stylesheet" type="text/css" href="file1.css" /> ... </head>
добавляешь js-функцию вроде такой
function changeStyle(css){ document.getElementById('style').href = css; }
в функцию надо будет передать название нужного css-файла
<input type='button' value='Сменить стиль' onClick="changeStyle('file2.css')">
если надо, чтобы выбор сохранялся, то с помощью того же js сохранять cookie с выбором пользователя
ссыль с решением http://www.jstoolbox.com/2008/04/05/sozdanie-pereklyuchatelya-stilej/
Разработка и продвижение сайтов. Дизайн
Сообщение отредактировал lvovand - Четверг, 14 Июля 2011, 17:29 |
|
| |