dobrý den, chtěl bych se zeptat jak správně upravit daný projekt, aby vracel správnou hodnotu. porad mi to ukoncí hru pokaždé o jednu jednotku maximalni Poctu pokusu více. (zadam at se hra ukonci po 3 pokusech, ukonci se po 4)
/* Soubor je ulozen v kodovani UTF-8.
* Kontrola kódování: Příliš žluťoučký kůň úpěl ďábelské ódy. */
import java.util.Random;
/*******************************************************************************
* Instance třídy Hra představují ...
*
* @author jméno autora
* @version 0.00.000
*/
public class Hra implements IHra
{
//== Datové atributy (statické i instancí)======================================
private static final Random generator = new Random();
private int hadaneCislo;
private int pocetPokusu;
private boolean hraUkoncena;
private int maximalniPocetPokusu;
//== Konstruktory a tovární metody =============================================
/***************************************************************************
* Konstruktor ...
*/
public Hra(int hadaneCislo, int maximalniPocetPokusu) {
this.hadaneCislo = hadaneCislo;
this.pocetPokusu = 0;
this.hraUkoncena = false;
this.maximalniPocetPokusu = maximalniPocetPokusu;
// Je třeba vhodným způsobem zpracovat nový parametr maximalniPocetPokusu
}
//== Nesoukromé metody (instancí i třídy) ======================================
@Override
public int novaHra(int maximalniPocetPokusu) {
this.hadaneCislo = generator.nextInt(100);
this.pocetPokusu = 0;
this.hraUkoncena = false;
this.maximalniPocetPokusu = maximalniPocetPokusu;
// Je třeba vhodným způsobem zpracovat nový parametr maximalniPocetPokusu
return this.hadaneCislo;
}
@Override
public String pokus(int tip) {
String odpoved = null;
if (hraUkoncena) {
odpoved = "Hra již skončila";
} else {
if (pocetPokusu >= maximalniPocetPokusu) {
pocetPokusu++;
hraUkoncena = true;
odpoved = "Překročil jsi maximalni počet pokusů";
} else {
if (tip < 0 || tip > 99) {
odpoved = "Tip mimo rozsah";
} else {
pocetPokusu++;
if (tip < hadaneCislo) {
odpoved = "Hádané číslo je větší";
} else if (tip > hadaneCislo) {
odpoved = "Hádané číslo je menší";
} else {
hraUkoncena = true;
odpoved = "Uhodl(a) jsi";
}
}
}
}
return odpoved;
}
@Override
public int pocetPokusu() {
return pocetPokusu;
}
@Override
public boolean konecHry() {
if (pocetPokusu >= maximalniPocetPokusu) {
return hraUkoncena;
}
return hraUkoncena;
}
@Override
public boolean hracVyhral() {
String odpoved = null;
if (pocetPokusu >= maximalniPocetPokusu)
{
odpoved = "prekročil jsi maximální počet pokusů";
}
// Je třeba zjistit, jestli hráč vyhrál (uhodl hádané číslo a nepřekročil maximální počet pokusů), nebo ne.
return false;
}
//== Soukromé metody (instancí i třídy) ========================================
}