Cytat(dr_bonzo @ 2005-09-12 12:50:09)
A walka ma sie toczyc do calkowitego zniszczenia jednej z armii, czy ta armia moze uciec (parametr morale, itd)?
Narazie pozostane przy tym ze do calkowitego zniszczenia ... :]
Tak zielony aż nie jestem ale taki troche wyzej niz poczatkujacy :]
Wiec tak moze jednak odpuszcze sobie sile zolnierzy a skupie sie na sile Floty do tej gry.
A wiec tak :
Statek nr 1 : Jakis Transportowiec
-siła ataku = 5
-siła obrony = 10
Statek nr 2 : Wiekszy transportowiec
-siła ataku = 15
-siła obrony = 20
Statek nr 3 : Mały Myśliwiec
-siła ataku = 50
-siła obrony = 40
Statek nr 4 : Średni Myśliwiec
-siła ataku = 100
-siła obrony = 75
Statek nr 5 : Duży Myśliwiec
-siła ataku =150
-siła obrony = 100
Statek nr 6 : Mały Krążownik
-siła ataku = 400
-siła obrony = 200
Statek nr 7 : Duży Krążownik
-siła ataku = 500
-siła obrony = 350
Statek nr 8 : Mała Baza Dowodzenia
-siła ataku = 300
-siła obrony = 5000
Statek nr 9 : Średnia Baza Dowodzenia
-siła ataku = 350
-siła obrony = 10000
Statek nr 10 : Duża Baza Dowodzenia
-siła ataku = 400
-siła obrony = 20000
Statek nr 11 : Latające Centrum Dowodzenia
-siła ataku = 3000
-siła obrony = 50000
Statek nr 12 : Statek Szpiegowski
-siła ataku = 15
-siła obrony = 30
Statek nr 13 : Statek Inny
-siła ataku = 15
-siła obrony = 100
Obrona nr 1 : Mała Rakieta
-siła ataku = 400
-siła obrony = 1000
Obrona nr 2 : Średnia Rakieta
-siła ataku = 1000
-siła obrony = 3000
Obrona nr 3 : Duża Rakieta
-siła ataku = 3000
-siła obrony = 6000
Obrona nr 4 : Małe działo Laserowe
-siła ataku = 50
-siła obrony = 200
Obrona nr 5 : Średnie działo Laserowe
-siła ataku = 80
-siła obrony = 300
Obrona nr 6 : Duże działo Laserowe
-siła ataku = 125
-siła obrony = 350
Obrona nr 7 : Mała wyrzutnia Rakiet
-siła ataku = 60
-siła obrony = 175
Obrona nr 8 : Duża wyrzutnia Rakiet
-siła ataku = 100
-siła obrony = 250
Obrona nr 9 : Nanoboty
-siła ataku = 200
-siła obrony = 20
Obrona nr 10 : Mała powłoka Ochronna
-siła ataku = 100
-siła obrony = 1000
Obrona nr 11 : Średnia powłoka Ochronna
-siła ataku = 150
-siła obrony = 5000
Obrona nr 12 : Duża powłoka Ochronna
-siła ataku = 250
-siła obrony = 20000
Więc tak to mi bedzie służyło jako zmienne czyli do każdego przypisze sobie tam : $a ; $b ; $c ... itd.
Bo nie zawsze bedzie taka sama ilosć jednostek to zalezy od gracza jaka armie bedzie posiadał ...
Jakby ktoś mógł napisać wstępny skrypt z tym ze nie musi pisac wszystkich zmiennych tylko np.
$a;$b;$c; a reszte sam już sobie napisze ale jakby mogl mi napisac jak te dane tam wpisywac i gdzie wpisac jakie dane.
No nie wiem coś takiego :
Tylko nie wiem czy dobrze mowcie jak cos zmienic ? Aha i jeszcze jedno bo tam zamiast 100/50 chyba bedzie losowa :
Cytat(php)
<?php
$data[ 0 ][ 0 ] = 100/150;
$data[ 0 ][ 1 ] = 1;
$data[ 1 ][ 0 ] = 50/150;
$data[ 1 ][ 1 ] = 0;
print( 'Pojedyncze losowanie, wylosowano ' . differentRandom( $data ) . '<br />' );
$sumy[ 0 ] = 0;
$sumy[ 1 ] = 0;
for ( $i = 0; $i < 10000; $i ++ )
{
$sumy[ differentRandom( $data ) ]++;
}
print( 'Rozklad prawdopodobienstwa z 10 000 losowan: <br />0: ' . ( $sumy[ 0 ]/( $sumy[ 0 ] + $sumy[ 1 ] ) ) . '<br />1: ' . ( $sumy[ 1 ]/( $sumy[ 0 ] + $sumy[ 1 ] ) ) );
/*
* Zwraca wylosowany obiekt dowolnego typu
* @param $dane array -- o wymiarach [ N ][ 2 ]
* Array
* (
* [0] => Array
* (
* [0] => 100/150 // prawdopodobienstwo wylosowania 0go elementu
* [1] => 1 // 0wy element, dowolnego typu
* )
*
* [1] => Array
* (
* [0] => 50/150 // prawdopodobienstwo wylosowania 1go elementu
* [1] => 0 // 1szy element, dowolnego typu
* )
* [...
* )
*
* Przy czym suma E( $dane[ i ] ) === 1, tutaj: 50/150 + 100/150 === 1
*/
function differentRandom( $data )
{
$random_number = floatval( mt_rand( 0, 9999 )/10000 ); // [ 0.0, 1.0 )
$sum = 0;
foreach ( $data as $data_row )
{
$sum += $data_row[ 0 ];
if ( $random_number < $sum )
{
return $data_row[ 1 ]; // zwraca odpowiedni element
}
}
}
?>