Gra w kupca.

0

Moi drodzy, tak sobie pomyślałem że zrobię małą gierke w Javascript (Rozważam Pythona też). Jak zapewne wiecie kiedyś handel polegał głównie na podróży. Podróżowało się z miejsca X do Y by nabyć zboże .potem ze zbożem jechał do Z by sprzedać je i kupić dajmy na to dzbany, potem do W by je wymienić na coś innego. Każda rzecz zajmowała miejsce w wozie oraz miała swoja wagę co ograniczało ilość danej rzeczy jaką można było załadować.
Mamy zatem wóz. Powiedzmy że taki wóz, ciągnięty przez jednego muła ma 400 kilo udźwigu. Dla uproszczenia przyjmijmy że woźnica-kupiec waży nic.
Dla uproszczenia przyjmijmy że handluje się tylko 10 kilowymi workami mąki, 20 kilowymi zbrojami, 2 kilogramowymi mieczami i skrzynami z ceramiką, które ważą pół kilo ale na wóz da się bezpiecznie zapakować 20 skrzyń.
No i tu dochodzi pierwsza zmienna. Zmienna ceny. Cena jest losowana w przedziale odpowiednim dla każdego rodzaju.przedmiotu.
Kolejna zmienna to kapitał posiadany. Bazujący generalnie na tym co kupiec będzie w stanie sprzedać z zyskiem, ile czego kupi ile wyda w karczmie i czy nie wydarzy muu się zdarzenie losowe. Dodatkowo to czy sprzeda zbroje i miecze będzie zależało od czynników niezależnych.
Który język będzie lepszy?
Póki co to widzę to mniej więcej tak: Na początku gracz ma muła, mały wóz i 100 złotych. Ma cztery możliwości wyboru. Każda możliwość wyboru oznacza dalszą możliwość oznaczającą zakup danego towaru wybranej ilości po losowej cenie. Potem znów ma trzy możliwości wyboru, każda z nich będzie wiazała się z kolejnymi. I tak do zwyciestwa (10k złota) lub do przegranej (zejscie poniżej zera )
Czy da sie to zrobić za pomocą instrukcji if-else?
Przykładowo:

if (capital<0) { 
   alert ("Go get credit");}
else if (capital>0) {
  alert("Nie wydaj wszyskiego w karczmie");}
else if (capital>100){
  alert("Może warto kupić konia?")}

Czy taki projekcik będzie dobry do nauki czy może lepiej się najpierw poduczyć i potem za niego się brać?

1

Jest już taka fajna gra w kupca. Nazywa się Druglord. Może Cię zainspiruje ;)

A projekcik dobry do nauki. Tylko w JS może być Ci ciężko zapanować nad projektem.

No i mechanizm alertów nie służy do gier... Zwłaszcza, że po kilku alertach pojawia się opcja zablokowania ich :) Wiadomości powinieneś wyświetlać w specjalnym boxie (div).

0
Spine napisał(a):

No i mechanizm alertów nie służy do gier... Zwłaszcza, że po kilku alertach pojawia się opcja zablokowania ich :) Wiadomości powinieneś wyświetlać w specjalnym boxie (div).

Alerty właściwie przyszły mi jako jedyne do głowy. Pisałem to czekając na autobus.
Tak mnie tylko zastanawia. Czy da się zrobić taką pętle z kilkoma zmiennymi współzależnymi od siebie?

0

Da się. Narysuj diagram stanów i opisz te stany. To ważna część takiego projektu. Będziesz wiedział przy jakich warunkach jeden "screen" przechodzi w drugi. To co aplikacja ma sobie pamiętać zapiszesz jako pola jednego obiektu. Np. tablica posiadanych przedmiotów itp. Pewne stany na diagramie to będą miejsca, które będą miały zapisane ceny przedmiotów (najlepiej losowane w aplikacji, bo ręcznie można się naklepać...).

0
Spine napisał(a):

Da się. Narysuj diagram stanów i opisz te stany. To ważna część takiego projektu. Będziesz wiedział przy jakich warunkach jeden "screen" przechodzi w drugi. To co aplikacja ma sobie pamiętać zapiszesz jako pola jednego obiektu. Np. tablica posiadanych przedmiotów itp. Pewne stany na diagramie to będą miejsca, które będą miały zapisane ceny przedmiotów (najlepiej losowane w aplikacji, bo ręcznie można się naklepać...).

Tylko one nie mogą być zupełnie losowane. W sensie dajmy na to wjeżdżasz do x z całym wozem danego towaru y. Wskutek faktu że podaż towaru przeważa nad popytem to pojawienie sie kupca samo z siebie jest czynnikiem zaniżającym cenę. Czy takie zjawisko można uwzględnić takiej aplikacji? Jestem zielony w temacie.

1

Wszystko się da. Musisz tylko sobie to rozpisać matematycznie. Na jakiej zasadzie cena się zwiększa/zmniejsza?

Np. najprostsza formułka, ilość towaru gracza podziel przez ilość towaru w mieście i wynik pomnóż przez stałą cenową. Jeśli Ty masz więcej towaru niż miasto to wynik dzielenia będzie większy niż 1 (cena u Ciebie większa). Jeśli miasto ma więcej towaru, to wynik dzielenia będzie mniejszy niż 1 i Twoja cena będzie niższa.

To tylko przykład, u Ciebie to może działać na zupełnie innej zasadzie. Każde założenia można przetestować przed implementacją, tylko trzeba to rozpisać i trochę policzyć. Trzeba wymyślić scenariusze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1