Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje > Pravljenje igara
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 3.1.2010, 17:18   #1
Yellua
Član
 
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
Određen forumom Sudoku

Evo igrice koju sam napravila u javi.. Treba tu jos par modifikacija.. Ali eto, ko voli sudoku, neka se igra.. Ako uocite neki bug, ili biste voleli da nesto drugacije izgleda ili radi, recite, pa da ispravim... Svaka sugestija je itekako dobrodosla..
Priloženi fajlovi
Tip fajla: zip SudokuZip.zip (46,0 KB, 94 puta viđeno)
Yellua je offline   Odgovor sa citatom ove poruke
Stara 3.1.2010, 21:01   #2
doctor
Deo inventara foruma
 
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.110
Zahvalnice: 4.320
Zahvaljeno 3.295 puta na 2.274 poruka
Određen forumom Re: Sudoku

Super je, mada moram priznati da se nisam ubio od testiranja

Eto, za pocetak, zabrani unos karaktera koji nisu brojevi u polja...
doctor je offline   Odgovor sa citatom ove poruke
Stara 3.1.2010, 21:17   #3
Yellua
Član
 
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
Određen forumom Re: Sudoku

Predlog na mestu.. Bice popravljeno.. (cim mi prodje neki kolokvijum)

Mada sam svakako unela sve moguce provere, al' to cu staviti npr kao opciju u meniju koja moze da se ukljuci i iskljuci.. Jer neko mozda bas hoce da pise po poljima..
Yellua je offline   Odgovor sa citatom ove poruke
Stara 3.1.2010, 22:13   #4
Game fever
Starosedelac
 
Član od: 3.4.2007.
Lokacija: London
Poruke: 1.330
Zahvalnice: 2.477
Zahvaljeno 283 puta na 198 poruka
Slanje poruke preko MSN-a korisniku Game fever
Određen forumom Re: Sudoku

Moze source kod . Ja sam jedno vreme hteo da napravim sudoku u C++, ali mi nije uspevalo pa sam batalio.
Game fever je offline   Odgovor sa citatom ove poruke
Stara 3.1.2010, 22:31   #5
Yellua
Član
 
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
Određen forumom Re: Sudoku

Moze, naravno... Evo ovo ti je klasa koju sam napravila za resavanje sudokua.. Sto i mislim da te zanima.. ako te zanima i ostatak, tj realizacija gui, dacu i to.. Ako ti nije jasan neki deo koda, ili sta cemu sluzi, reci..

Kod:
public class Sudoku {
    
    public int [] [] m = new int[9][9];
    boolean [] [] original = new boolean[9][9];
    
    Sudoku(int[][] matrica) {
        m = matrica;
        for(int i= 0; i<9; i++){
            for(int j=0; j<9; j++) {
                if(m[i][j] != 0) {
                    original[i][j] = true;
                } else {
                    original[i][j] = false;
                }
            }
        }
    }
    
    public void setM(int x, int y, int vrednost) {
        m[x][y] = vrednost;
    }
        
    private boolean daLiMozeKvadrat(int i, int j, int el) {
        for(int brojacVrsta = ((i)/3)*3 ; brojacVrsta <= (((i)/3) * 3 +2); brojacVrsta++) {
            for(int brojacKolona = ((j)/3)*3; brojacKolona <= (((j)/3) * 3 + 2); brojacKolona++) {
                if(m[brojacVrsta][brojacKolona] == el){
                    return false;
                }
            }
        }
        return true;
    }
    

    private boolean daLiMozeVrsta(int i, int j, int el) {
        for(int brojac = 0; brojac <9; brojac++ ) {
            if (m[i][brojac] == el) {
                return false;
            }
        }
        return true;
    }
    
    private boolean daLiMozeKolona(int i, int j, int el) {
        for(int brojac = 0; brojac <9; brojac++ ) {
            if (m[brojac][j] == el) {
                return false;
            }
        }
        return true;
    }
    
    
    public boolean daLiMoze(int i, int j, int el) {
        if(daLiMozeKvadrat(i,j,el) & daLiMozeVrsta(i,j,el) & daLiMozeKolona(i,j,el)) {
            return true;
        } else {
            return false;
        }
    }
    
    private int pomSledeceI(int i, int j) {
        if (j<8) {
            return i;
        } else {
            return i+1;
        }
    }
    
    private int pomSledeceJ(int i, int j) {
        if(j<8) {
            return j+1;
        } else {
            return 0;
        }
    }
    
        
    private int sledeceI(int i, int j) {
        boolean ok = false;
        do {
            i = pomSledeceI(i,j);
            j = pomSledeceJ(i,j);
            if (i>8 | j> 8 | i<0 | j<0) {
                ok = true;
            } else if (!original[i][j]) {
                ok = true;
            }
        } while (!ok);
        return i;
    }
    
    private int sledeceJ(int i, int j) {
        boolean ok = false;
        do {
            i = pomSledeceI(i,j);
            j = pomSledeceJ(i,j);
            if (i>8 | j> 8 | i<0 | j<0) {
                ok = true;
            } else if(!original[i][j]) {
                ok = true;
            }
        } while (!ok);
        return j;
    }
    
    private class Ok {
        private boolean ok;
        
        Ok(boolean tf) {
            ok = tf;
        }

        public boolean isOk() {
            return ok;
        }

        public void setOk(boolean ok) {
            this.ok = ok;
        }
        
        
    }
    
    private void rek(int i, int j, Ok ima, Ok kraj) {
        int brojac;
        if(ima.isOk()) {
            return;
        } else if (kraj.isOk()) {
            return;
        } else if(i==9 & j==0) {
            ima.setOk(true);
            return;
        } else if(i== -1 & j==8) {
            kraj.setOk(true);
            return;
        } else {
            for(brojac = 1; brojac<10; brojac++) {
                if (daLiMoze(i,j,brojac)) {
                    m[i][j] = brojac;
                    rek(sledeceI(i,j), sledeceJ(i,j), ima, kraj);
                    if(ima.isOk() | kraj.isOk()) {
                        return;
                    }
                }
            }
            m[i][j] = 0;
            return;
        }
    }

    public void nadjiResenje() {
        int i = 0;
        boolean okZadato = true;
        while(i<9 & okZadato) {
            int j = 0;
            while(j<9 & okZadato) {
                if(original[i][j]) {
                    int pom = m[i][j];
                    m[i][j] = -1;
                    okZadato = daLiMoze(i,j,pom);
                    m[i][j] = pom;
                }
                j++;
            }
            i++;
        }
        if(okZadato) {
            Ok ima = new Ok(false);
            Ok kraj = new Ok(false);
            if(original[0][0] == true) {
                rek(sledeceI(0,0), sledeceJ(0,0), ima, kraj);
            } else {
                rek(0, 0, ima, kraj);
            }
            if (ima.isOk()) {
                System.out.println("Ima resenja");
            } else {
                System.out.println("nema resenja");
            }
        } else {
            m[0][0] = 0;
            System.out.println("nema resenja");
        }
    }
}
Yellua je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Yellua na korisnoj poruci:
Game fever (11.6.2010)
Stara 4.1.2010, 10:50   #6
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom Re: Sudoku

samo nekoliko sitnih prijedloga:
-onemoguci korisnike da mogu da rade resize/maximize prozora
-vecina sudoku igara sto sam igrao imaju neku vrstu provjere, tj. da li su dobri brojevi koje je igrac do sada unio, mozda da stavis dole dugme "check" ili nesto slicno
-"opcije" i "izgled" su napravljeni isto, dok opcija "informacije" drugacije izgleda
-boja teksta ima veliko slovo T, pa ne slaze se sa ostalim

moze uvijek dalje da se razvija, naravno. npr. nesto sto bih ja volio u ovakvoj igri jeste da na neki nacin da obiljezim na koje brojeve sumnjam u datom polju. mozda da na desni klik iskoci mali meni sa devet brojeva i nakon sto izaberem jedan, on se zapise unutar te kockice, ali kao maleni broj. evo npr. nadjoh sliku: http://gnome-sudoku.sourceforge.net/...screenshot.png

u svakom slucaju, pohvale i sve najbolje u 2010
sasha vukelic je offline   Odgovor sa citatom ove poruke
Stara 4.1.2010, 11:32   #7
Yellua
Član
 
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
Određen forumom Re: Sudoku

Prva cetiri predloga cu odraditi... To nije nikakav problem..

E sad, ovo za male brojeve... Svidja mi se predlog, ali za to cu morati porazmisliti kako cu.. U svakom slucaju, bice

PS Hvala, sve najbolje i tebi u 2010!
Yellua je offline   Odgovor sa citatom ove poruke
Stara 19.3.2011, 16:05   #8
rainyman
Novi član
 
Član od: 4.1.2006.
Poruke: 5
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Sudoku

Cao,

ima li novosti u vezi projekta?
mozes li okaciti ceo source sa GUIem ili si odustala od toga? :S

puno hvala..
rainyman je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Sudoku za ZX Spectrum srbanesic Stare igre 0 3.10.2008 11:45


Sva vremena su po Griniču +2 h. Sada je 23:56.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com