Remx Opublikowano 30 Sierpnia 2004 Udostępnij Opublikowano 30 Sierpnia 2004 Moim zalozeniem bylo ze gdy strzelimy i naboj doleci do przeciwnika zaczyna sie test pancerza czyli tak od Pancerza(ARp) odejmuje sie Obrażenia(OBs) a to sie rowna (w) nastepnie jest losowana liczba od 1 do 20 (k) i jezeli wynik jest wyszy niz (w) wtedy dmg+1. OBx to ile nabojow naprzyklad wylecialo z lufy naraz i test dla kazdego z nich czy zranil przeciwnika czy moze pancez obronil. przykład : Obx=2 OBs=12 ARp=24 (ARp)-(OBs)=(w) czyli w=12 losowanie kosci step 1(OBx): k=round(random(19)+1) wypada 15 wiec if k>w then dmg+1 czyli 15>12 wtedy dmg+1 w tym przypadku wynik jest +1 step 2(OBx): k=round(random(19)+1) wypada 10 wiec if k>w then dmg+1 czyli 10>12 wiec dmg nie nabiera +1 lecz pozostaje wartosc poprzednia po tym losowaniu HPprzeciwnika-=dmg. ponizej przedstawiam kod 2 przypadki i co dziwnego sie dzieje a mianowicie nieraz naprzykad 5>14 i dmg+1 albo czesto wypada zero :( global.OBsx=2; global.ARp=24; global.OBs=12; var w,k; { for (i=0; i<=global.OBsx; i+=1) { k=round(random(19)+1); w=(global.ARp-global.OBs); if (k>w)global.dmg+=1 } } var w,k; { w=(global.ARp-global.OBs); for (i=0; i<=global.OBsx; i+=1) { kostka(); if (global.ko>w)global.dmg+=1 } } kostka(); var k; { k=round(random(19)+1); global.ko=k; break; } Gdzie do licha w tym jest błąd :( edit: sorrki za błąd w temacie :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Choosen Opublikowano 30 Sierpnia 2004 Udostępnij Opublikowano 30 Sierpnia 2004 Jesli ilosc pociskow wynosi 2 a petle zaczynasz od 0 przy zalozeniu for i=0;i<=ilosc to petla wykona sie 3 razy. Być moze to sprawia ze czasami wychodzi ci wieksza ilosc obrazen niz wynika to z obliczen. Co do reszty kodu nie znalazlem bledu, ale nie bardzo rozumiem za co on odpowiada. O ile dobrze to wywnioskowalem napisales 2 alternatywne rozwiazania na ten sam problem tak ? var w,k; { w=(global.ARp-global.OBs); for (i=0; i<global.OBsx; i+=1) { kostka(); if (global.ko>w)global.dmg+=1 }} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Remx Opublikowano 30 Sierpnia 2004 Autor Udostępnij Opublikowano 30 Sierpnia 2004 hmm zaraz potestuje moze dobze mowisz ze sa 3 losowania bo zero liczy tez a co do kodu to tak to sa 2 rozwiazania tego samego wiec musze zrobic cos takiego for (i=0; i<=(global.OBsx)-1; i+=1) lub for (i=1; i<=global.OBsx; i+=1) aby dla OBsx =2 petala wykonywała sie dwa razy :] dzieki a co do kodu i za co odpowiada to jest taki mini skrypcik testujacy pancerz czy pocisk przebił sie przez niego czy nie :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Choosen Opublikowano 30 Sierpnia 2004 Udostępnij Opublikowano 30 Sierpnia 2004 poprawne rozwiazanie napisalem ci pod moim postem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się