|
Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara... |
|
Alatke vezane za temu | Vrste prikaza |
3.1.2010, 17:18 | #1 |
Član
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
|
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..
|
3.1.2010, 21:01 | #2 |
Deo inventara foruma
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.110
Zahvalnice: 4.320
Zahvaljeno 3.295 puta na 2.274 poruka
|
Re: Sudoku
Super je, mada moram priznati da se nisam ubio od testiranja
Eto, za pocetak, zabrani unos karaktera koji nisu brojevi u polja... |
3.1.2010, 21:17 | #3 |
Član
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
|
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.. |
3.1.2010, 22:13 | #4 |
Starosedelac
|
Re: Sudoku
Moze source kod . Ja sam jedno vreme hteo da napravim sudoku u C++, ali mi nije uspevalo pa sam batalio.
|
3.1.2010, 22:31 | #5 |
Član
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
|
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"); } } } |
Sledeći korisnik se zahvaljuje korisniku Yellua na korisnoj poruci: | ||
Game fever (11.6.2010) |
4.1.2010, 10:50 | #6 |
Banned
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
|
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 |
4.1.2010, 11:32 | #7 |
Član
Član od: 1.10.2007.
Lokacija: Novi Sad/Kikinda
Poruke: 83
Zahvalnice: 8
Zahvaljeno 19 puta na 10 poruka
|
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! |
19.3.2011, 16:05 | #8 |
Novi član
Član od: 4.1.2006.
Poruke: 5
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
|
Re: Sudoku
Cao,
ima li novosti u vezi projekta? mozes li okaciti ceo source sa GUIem ili si odustala od toga? :S puno hvala.. |
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Sudoku za ZX Spectrum | srbanesic | Stare igre | 0 | 3.10.2008 11:45 |