Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Losowanie liczb i natychmiastowy efekt

Ostatnio zmodyfikowano 2013-03-13 21:21
Autor Wiadomość
StuFfii
Temat założony przez niniejszego użytkownika
Losowanie liczb i natychmiastowy efekt
» 2013-03-12 22:51:20
Cześć! Zaczołem pisać własną gre RPG na rozgrzewke. Na początku wybierasz miecz lub tarcze i toczy się walka z przeciwnikiem na zasadzie:

player1 zaatakował agresora
obrażenia : 6hp
agresor zaatakował player1
player1 unika ciosu.

I tu pies pogrzebany. Wszystko opiera się na losowaniu z przedziału. I tu pada pytanie: jak wylosować liczbę,która bezpośrednio po wylosowaniu dawała jakiś efekt.
Np.:losujemy liczbe z przediału 1-20. Jeżeli padnie liczba 20 to wykonywany jest unik, jeżeli 1 to jest cios krytyczny. Jak uzyskać taki efekt? I wszystko ma siędziadź automatycznie.

Za pomoc z góry dzięki!
P-78182
unimator
» 2013-03-12 22:55:41
C/C++
while( !exit )
{
    //Reszta funkcji...
    obsluga_walki( losuj() );
    exit = funkcja_sprawdzajaca_wyjscie_z_petli();
}
Słabo opisałeś problem; napisz chociażby w pseudokodzie w jaki sposób zrealizowałeś to dotychczas i co Ci się w Twoim algorytmie nie podoba. Bo tak to strzelanie a nie pomaganie.
P-78184
StuFfii
Temat założony przez niniejszego użytkownika
» 2013-03-12 23:10:01
wytłumaczę to opisowo a nie kodem:


ogólnie jest to RPG na zasadzie maszyny losującej który w całości ma przebiegać w DOS-ie.
najpier wybierasz miecz który dowszystkich twoich obrażeń dodaje +2hp(minimalna liczba w maszynie zwiększa się o 2) lub wybierasz zbroje,która redukuje obrażenia  od 1 do 3hp. (Jedna maszyna losuje liczbę obrażeń, które zadał ci przeciwnik i odejmujemy od tego drugą maszyne kţóra losuje liczbę 1,2 lub 3.

I teraz pojawia się niedosyt:
gra przebiega tak

player1 zaatakował agresora
obrażenia: 3hp
agresor zaatakował player1
obrażenia: 12hp
...
Player1 win/deth

w trakcie walki obrażenia twoje jak i przeciwnika są sumowane, jak przekroczą limit wygrywasz lub przegrywasz

a ja chcę dodać cios krytyczny, kombo i unik.
Maszyna losuje liczbę 1-20(wiem,powtarza
m się), i jeżeli padnie 3 to nasza postać wykonuje unik i nie dostaje obrażeń,jak padnie 2 robi cios krytyczny...

Nie podaje kodów bo pisze to z komórki i jeszcze bym  kody pomylił.
Poza tym moja gierka ma narazie 374 linijki kodu(bo jest tam specificzny obrazek)
P-78185
usmiech
» 2013-03-13 00:03:02
Polecam ksiazke: Beginning_C++_Game_Programming Michael Dawson, znajdziesz ja na necie, pozdrawiam :)
P-78186
pekfos
» 2013-03-13 13:39:26
C/C++
int x = rand(); //Zakres 0-RAND_MAX
x %= 20; //Zakres 0-19
x += 1; //Zakres 1-20
Jeżeli padnie liczba 20 to wykonywany jest unik, jeżeli 1 to jest cios krytyczny.
..a to już zwykły if.
P-78204
StuFfii
Temat założony przez niniejszego użytkownika
» 2013-03-13 17:21:03
ok, a jest jakiś sposób by napis pojawił się po jakimś czasie? Bo beznadziejnie to wyglądaj jak w jednej chwili pojawia się cała walka. A mi chodzi o emocje

player1 zaatakował agresora
1sek później...
Obrażenia 5hp
o to chodzi

a tak w ogóle: co sądzicie o pomyśle???
P-78232
pekfos
» 2013-03-13 17:37:02
ok, a jest jakiś sposób by napis pojawił się po jakimś czasie?
1 problem - 1 temat.
Poza tym wysil się na minimalną samodzielność.
P-78233
StuFfii
Temat założony przez niniejszego użytkownika
» 2013-03-13 21:21:03
możecie pomóc mi w tym temacie? Założyłem już 3 takie samy tematy z tym pytaniem i nie widze ich. Mam bugi! Why! Bugi mast die! Szukałem w google ale nie ogarniam tego kodu.
P-78261
« 1 »
  Strona 1 z 1