Autor Wątek: Zmniejszenie ilosci kodu  (Przeczytany 1415 razy)

Offline s0d

  • Użytkownik

# Luty 03, 2008, 18:22:11
Pisze sobie gre i doszedlem do pewnego momentu gdzie projektujac ta czesc gry widze ze bedzie duzo do pisania.
Jest to gra w sklep ;D. i Wyglada nastepujaco:
jest w obrocie 5 produktow, kupujemy je w hurtowni ;) i pozniej sprzedajemy po cenie jaka ustalimy. Logiczne ;)
w zaleznosci od tego czy cena produktu w sprzedazy jest wieksza od sredniej ceny na rynku jest losowana liczba klientow na dany dzien z ustalonego przedzialu

cSprzedazyB - cena sprzedazy np but kosztuje 5pln ;P
sSprzedazyB - srednia cena na rynku buta = 6 pln
liczbaKlientowB - liczba klientow dla butow


if(cSprzedazy == sSprzedazy)
{
    liczbaKlientowB = rand(jakis przedzial)
}
else if (cSprzedarzy > sSprzedazy)
    liczbaKlientowB = rand(jakis przedzial)
else if(cSprzedazy < sSprzedazy)
    liczbaKlientowB = rand(jakis przedzial)

To jest kod wyliczajacy ilosc klientow dla jednego towaru na podstawie ceny sprzedazy. Trzeba wiec napisac jeszcze 4 nastepne takie kawalki kodu...
Oprocz tego dochodzi typ posziadanego lokalu ktory zwieksza dzienna ilosc przychodzacych klientow. Beda 3 typy lokalu
Mysle ze przy rozpoczeciu petli najpierw sprawdze typ lokalu


switch(typLokalu)
{
    case 1
    //tutaj wstawiam kod wyliczajacy dla wszystkich produktow
   
    case 2
   //kod kod wyliczajacy ilosc klientow dla tego typu lokalu

    case 3
    //itd itd
}

czy mozna to jakos ladniej zwiezlej zrobic?  Chetnie uslysze jakies rady itp. ;)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

RageX

  • Gość
# Luty 03, 2008, 18:36:02
 :-\
np. tak?
if(cSprzedazy > sSprzedazy)
    liczbaKlientowB = rand(jakis przedzial)
else if (cSprzedarzy < sSprzedazy)
    liczbaKlientowB = rand(jakis przedzial)
else
    liczbaKlientowB = rand(jakis przedzial)
// zazwyczaj prawdopodobieństwo że coś będzie równe jest najniższe.
Ciężko o nazwać kodem... tu nic nie ma. Może poczytaj o wzorcach projektowych... może tego szukasz. Bo jak na razie to nie wiem o co w tym temacie chodzi...

Offline artpoz

  • Użytkownik
    • blog o tworzeniu gier

# Luty 03, 2008, 18:41:05
Trzeba wiec napisac jeszcze 4 nastepne takie kawalki kodu...

Nie trzeba pisać, wystarczy skopiować i wkleić ;) Można też zamienić ten fragment w jakąś funkcję i wywoływać ją z różnymi parametrami.

Offline s0d

  • Użytkownik

# Luty 03, 2008, 18:49:46
fakt funkcja przeciez tego trzeba... nie wiem czemu o tym nie pomyslalem.
thx za odp ;)