Anonymní profil MartinMartin12341234 – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil MartinMartin12341234 – Programujte.comAnonymní profil MartinMartin12341234 – Programujte.com

 

Příspěvky odeslané z IP adresy 85.71.25.–

MartinMartin12341234
Java › hadanicisel-maximalnipocetpo…
4. 11. 2016   #213452

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) ========================================
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý