/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static int hp1=100;//ilosc hp 1 gracza
static int hp2=100;//ilosc hp 2 gracza
static int obrazenia=5;//zadawane obrazenia
{
int zwyciestwaMieczPierwszy=0;
int zwyciestwaMieczDrugi=0;
int remisy=0;
for (int iloscWalk=1;iloscWalk<10000;iloscWalk++){ //ilosc symulacji
int wynikWalki = walka(hp1,hp2);
if (wynikWalki==0) remisy++;
if (wynikWalki==1) zwyciestwaMieczPierwszy++;
if (wynikWalki==2) zwyciestwaMieczDrugi++;
}//iloscWalk
System.
out.
println("Zasady gry:"); System.
out.
println("trafienie = strata przez przeciwnika 5hp"); System.
out.
println("stan początkowy: 100 hp"); System.
out.
println("zwyciestwo = przeciwnik ma 0 hp"); System.
out.
println("Miecz pierwszy uderza sto razy na sekunde z prawdopodobienstwem 1%"); System.
out.
println("Miecz drugi uderza jeden raz na sekunde z prawdopodobienstwem 100%(zawsze trafia)"); System.
out.
println("Wyniki:"); System.
out.
println("Zwyciestwa przy uzyciu miecza pierwszego="+zwyciestwaMieczPierwszy
); System.
out.
println("Zwyciestwa przy uzyciu miecza drugiego="+zwyciestwaMieczDrugi
); System.
out.
println("remisy="+remisy
); }
//zwracamy 0 dla remisu, 1 wygral pierwszy, 2 wygral drugi;
public static int walka(int zycie1, int zycie2){
while(true){
//99 prob uderzen pierwszym mieczem
for (int ilosc=1;ilosc<100;ilosc++) {
if (mieczPierwszy()) { // gdy trafilismy mieczem nr 1
zycie2=zycie2-obrazenia;
if (zycie2<=0) return 1;
}
}
// po sekundzie - uderzają równoczesnie - drugi ZAWSZE trafia (czyli 100%)
if (mieczPierwszy()) zycie2=zycie2-obrazenia; // jak trafil pierwszy
zycie1=zycie1-obrazenia; // drugi trafil bez sprawdzania (zawsze trafia)
if (zycie1<=0 && zycie2<=0) return 0; // obydwoje maja 0 hp wiec remis
if (zycie1<=0) return 2; // pierwszy ma 0 hp wygral drugi
if (zycie2<=0) return 1; // drugi ma 0 hp wygral pierwszy
}//while
}
public static boolean mieczPierwszy(){
int wynik = losuj.nextInt(100) + 1;
if (wynik==1)return true;
return false;
}
}