• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Java

Started by kOsTi, 23.02.2008, 02:17:18

« predchdzajce - alie »

kornas

#75
ale ked tak na to pozeram, tak to mam rovnako ako Ty Inadian... asi bude chyba v implementacii nejakej inej metody, alebo nie ?

tu metodu getState() mam definovanu vo Field.java takto:

public GameState getState() {
        return state;
        }


a v Tile.java takto:

public State getState() {
        return state;
       }


-- uz som celu metodu update() nahradil tou Tvojou Indian a stale mi hlasi chybu na tom riadku s kde je prva podmienka,
cize v tomto pripade :

Tile tile = field.getTile(i, j);
                if(tile.getState() == Tile.State.OPEN) {   // ------- tu
                    if(tile instanceof Mine) {

Indian

mne to pripada tak, ze tile nemas inicializovane, podla mna ti asi field.getTile(i,j) vrati null. skus su skontrolovat generate()

private void generate() {
        //throw new UnsupportedOperationException("Method generate not yet implemented");
        // do pola doplnim miny
        Random r = new Random();
        for(int i=0;i<mineCount;) {
            int nr = r.nextInt(rowCount);
            int nc = r.nextInt(columnCount);
            if(tiles[nr][nc] == null) {
                tiles[nr][nc] = new Mine();
                i++;
            }
        }
        // do ostatnych policok doplnim napovedu
        for(int i=0;i<rowCount;i++) {
            for(int j=0;j<columnCount;j++) {
                if(tiles[i][j] == null) {
                    tiles[i][j] = new Clue(countAdjacentMines(i,j));
                }
            }
        }   
    }

kornas

dik. tie metody mam tak, len som mal tu metodu co doplni napovedu az za generate() a vola sa fieldClue(). Este sa opytam na metodu countAdjacentMines(), lebo nemam osetrene hranice pola a neviem ci to treba. Vyzera takto:

public int countAdjacentMines(int x, int y){
        int countAM = 0;
        for(int i = x-1; i<= x+1; i++)
            for(int j = y-1; j <= y+1; j++)
            {
                if (tiles[i][j] != null) countAM++;
            }
        return countAM;
    } //vrati pocet susediacich min s danou dlazdicou

Indian

#78

    private int countAdjacentMines(int row, int column) {
        int count = 0;
        for(int i = -1; i <= 1; i++){
            int actRow = row + i;
            for(int j = -1; j <= 1; j++){
                int actColumn = column + j;
                if(actRow >= 0 && actRow < getRowCount() &&
                        actColumn >= 0 && actColumn < getColumnCount()) {
                    if(tiles[actRow][actColumn] instanceof Mine) {
                        count++;
                    }
                }
            }
        }

        return count;
    }

kornas

Tu bol pes zakopany,  :alc: Indian, mas to u mna!!! Diki za pomoc.  :thumbsup: Uz mi to vypisuje to pole :) vsetky dlazdice su "-" zakryte, takze asi to tak ma byt :) Indian este raz diki  :thumbsup:

kOsTi

Ludia neviete niekto trocha pomoct v 8. cviku s tym formatterom? Nejak nechapem ako to cez to urobit, akoze pozrel som si to v dococh ale aj tak nie som mudrejsi...
:trestac:

Ing.Veduci

public String toString() {
        selectFromDB();
       
        StringBuilder sb = new StringBuilder();
        Formatter f = new Formatter(sb);
        int i = 1;
        for (BestTimes.PlayerTime player : this) {
            f.format("% 2d. %-20s \t % 4d seconds\n", i, player.getName(), player.getTime());
            i++;
        }
        return sb.toString();
    }

Z MOJEHO MINULOROCNEHO MINESWEEPRA, tak ufam e pomoze... :P
Co bolo, to bolo. Terazky som Ing.Veduci
Predpokladám, že väčšina z vás má doma počítač. Buď to, alebo ste si túto stránku vycucali z vredu na nohe.

Payne

mne akosi vobec nedochadza ako treba spravit to rekurzivne volanie, aby pri kliknuti na dlazdicu s hdonotou 0 oznacilo aj vsetky ostatne nuly...

dakto helpne? resp. princip ako sa to ma robit, ono ja som minuly tyzden akurat ako sa to vysvetlovalo, ta som meskal a tak to potom aj vyzera...

kOsTi

do openTile implementujes otvorenie AdjacentTiles za predpokladu ze "otravaracia dlazdica" je typu Clue s value rovne 0. Metoda na otvorenie AdjacentTiles nasledne otvori VSETKY susedne dlazdice tej dlazdice a kedze sa pri tom znova zavola metoda openTile (v ktorej je implementovana metoda na otvorenie AdjacentTiles) tak rekurzia je zabezpecena... staci uz iba osetrit aby nepristupovalo mimo pola

;)
:trestac:

Indian

ja som pouzil kod z countAdjacentMines a vlozil tam kod na otvorenie dlazdice plus testovaciu podmienku ci je to nula a v takom pripade zasa volam countAdjacentMines.

kOsTi

este jedna uprava... pri otvoreni Clue 0 sa neotvoria len susedne nuly ale vsetky dlazdice

vid:

QuoteJednou z funkcií hry Minesweeper je automatické odkrytie všetkých susedných dlaždíc v prípade odkrytia dlaždice typu Clue, ktorej hodnota je rovná 0

:trestac:

Sooloni

nenajde sa nekto co vie dobre Javu aby hodil na ftp vypracovanie tej zapoctovky co tam je? nejak nevidno odpovede :(

Ing.Veduci

Quote from: Sooloni on  04.04.2008, 20:45:37
nenajde sa nekto co vie dobre Javu aby hodil na ftp vypracovanie tej zapoctovky co tam je? nejak nevidno odpovede :(

bude ale musim teraz bezat na HOKEEEJ :)
Co bolo, to bolo. Terazky som Ing.Veduci
Predpokladám, že väčšina z vás má doma počítač. Buď to, alebo ste si túto stránku vycucali z vredu na nohe.

Sooloni

Quote from: Veduci on  04.04.2008, 22:07:44
Quote from: Sooloni on  04.04.2008, 20:45:37
nenajde sa nekto co vie dobre Javu aby hodil na ftp vypracovanie tej zapoctovky co tam je? nejak nevidno odpovede :(

bude ale musim teraz bezat na HOKEEEJ :)

pocuj kebyze to mas vypracovane hodis to na hypnos?? diiik  :thumbsup: ..btw: z coho sa ucite na javu na tu zapoctovku? to bude viac teoria ci aj priklady ????

puq

uprimne povedane ze nemam ani taku najmensiu paru zeby bola videna pod mikroskopom :)))) ostava jedine precitat prednasky a popozerat este raz zadanie ako som robil :D

kOsTi

ze vraj to ma byt viac teoria... len aspon by k tym otazkam mohli pisat kolko je spravnych resp kolko treba oznacit :)
:trestac:

puq

:D kosti navyknuty z cisca :)

diacon.mex

A kedy je ta zapoctovka z javy ?? v ktorom tyzdni ?

buhehe


diacon.mex

do frasa, a z coho sa treba ucit, neviete dakto? kolko bude otazok a ci to bude na moodle-i ? Cviciaci daco hovoril o pisomke na hodine, ale nepocul som ho, lebo bol daleko, tak neviem nic co treba :( Ked nieco viete, prosim napiste bo v pondelok mam. Diki :(

Sooloni

hmm nesupol by nekto tu vypracovanu zapoctovku na ftp?

Payne

nechcem kazit iluzie ale vaclavik na minulom cviku pomimo spomenul, ze budu ine otazky ako su dade ofotene... taze tak...

Ing.Veduci

Quote from: Sooloni on  06.04.2008, 06:35:46
hmm nesupol by nekto tu vypracovanu zapoctovku na ftp?

uuuuuuuuz!!!
Co bolo, to bolo. Terazky som Ing.Veduci
Predpokladám, že väčšina z vás má doma počítač. Buď to, alebo ste si túto stránku vycucali z vredu na nohe.

kOsTi

no uz to tam je urobene od Stalkera jak kukam :)
:trestac:

pepco

no ako dopadol dnes zapoctovy test z JAVY? podelte sa o postrehy ak nejake su  :thumbsup: