Losowanie liczb i natychmiastowy efekt
Ostatnio zmodyfikowano 2013-03-13 21:21
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! |
|
unimator |
» 2013-03-12 22:55:41 while( !exit ) { 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. |
|
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) |
|
usmiech |
» 2013-03-13 00:03:02 Polecam ksiazke: Beginning_C++_Game_Programming Michael Dawson, znajdziesz ja na necie, pozdrawiam :) |
|
pekfos |
» 2013-03-13 13:39:26 int x = rand(); x %= 20; x += 1;
Jeżeli padnie liczba 20 to wykonywany jest unik, jeżeli 1 to jest cios krytyczny. |
..a to już zwykły if. |
|
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??? |
|
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ść. |
|
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. |
|
« 1 » |