BIG проблем :D как ще стане тоя номер

Soul_Stealler

Registered
Искам да направя зависимости... ако кораб 1 атакува кораб 2 да му носи още 20% бонус атака... ако 2 атакува 3 ,20% бонус и т.н... а ако не са зададени координатите да пресмята без бонусите...

Ето до къде съм стигнал:

Код:
<?php

<?php


$ship1c = "2";
$ship2c = "2";
$ship3c = "2";
$ship1dc = "2";
$ship2dc = "2";
$ship3dc = "2";

$s1 = $_POST['s1'];
$s2 = $_POST['s2'];
$s3 = $_POST['s3'];
$ss1a = $_POST['ss1a'];     
$ss2a = $_POST['ss2a'];  
$ss3a = $_POST['ss3a'];  
$ss1d = $_POST['ss1d']; 
$ss2d = $_POST['ss2d'];  
$ss3d = $_POST['ss3d'];   

 	if ( ($s1 <= $ship1c) or ($s2 <= $ship2c) or ($s3 <= $ship3c) ){
	
$ship1p = $ship1c * 800;
$ship2p = $ship2c * 1800;
$ship3p = $ship3c * 2800;
//////////////////////////////////
$ship1pd = $ship1dc * 800;
$ship2pd = $ship2dc * 1800;
$ship3pd = $ship3dc * 2800;
                      	if ( (($ss1a == "1") and ($ss1d  == "2")) or (($ss2a == "1") and ($ss2d  == "2")) or (($ss3a == "1") and ($ss3d  == "2")) ){
$ship1p0 = $ship1c * 800;
$ship1p1 = $ship1p0 * 0.2;
$ship1p = $ship1p0 + $ship1p1;
                         	} 	if ( (($ss1a == "2") and ($ss1d  == "3")) or (($ss2a == "2") and ($ss2d  == "3")) or (($ss3a == "2") and ($ss3d  == "3")) ){
$ship2p0 = $ship2c * 1800;
$ship2p1 = $ship2p0 * 0.2;
$ship2p = $ship2p0 + $ship2p1;
                        	} 	if ( (($ss1a == "3") and ($ss1d  == "1")) or (($ss2a == "3") and ($ss2d  == "1")) or (($ss3a == "3") and ($ss3d  == "1")) ){
$ship3p0 = $ship3c * 2800;
$ship3p1 = $ship3p0 * 0.2;
$ship3p = $ship3p0 + $ship3p1;
                        	}
$allattpower = $ship1p + $ship2p + $ship3p;       	
$alldeffpower = $ship1pd + $ship2pd + $ship3pd;   
                        if ( $allattpower > $alldeffpower){
echo "Вие победихте. <br>Вашата атака беше $allattpower.<br> Атаката на противника $alldeffpower";
                          	} if ( $alldeffpower > $allattpower) {
echo "Вие загубихте. <br>Вашата атака беше $allattpower.<br> Атаката на противника $alldeffpower";	
	                        }    	
}  	
?>

Защо ако не са написани ss1a и ss1d и т.н. не дава резултат?
 

Admin

Registered
Нямам време да разглеждам кода сега но няма ли начин да проверяваш дали са написани ss1a и ss1d и ако не са да им задаваш някакви стойности.
Примерно
if (ss1a=='')
{ss1a=1}
else
{ss1a=$_POST['ss1a']; }

или нещо подобно.
Просто да има проверка дали потребителя е задал стойности или не
и в зависимост от това да става еди какво си. :?
 

Soul_Stealler

Registered
Еми, ето как го преправих:

Код:
if ( (($ss1a == "1") and ($ss1d  == "2")) or (($ss2a == "1") and ($ss2d  == "2")) or (($ss3a == "1") and ($ss3d  == "2")) ){
$ship1p0 = $s1 * 800;
$ship1p1 = $ship1p0 * 0.2;
$ship1p = $ship1p0 + $ship1p1;
                         	} else {
                   	
$ship1p = $s1 * 800;
                         	}

Но пак ако не са зададени ss1a и ss1d не се показва нишо :?
 

Горе