gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under
the git version control system
3 * Klasa Mapa koristi se za reprezentaciju lavirint i njegovih polja.
7 // Vrednosti polja i njihova znacenja
8 public final static int IZLAZ
= -5;
9 public final static int ZID
= -1;
10 public final static int GRESKA
= Integer
.MIN_VALUE
;
13 private int visina
, sirina
;
18 // Prilikom pretrazivanja ovde mozemo pamtiti koja polja smo posetili a koja nismo
19 private boolean[][] pos
;
21 public int getSirina() {
25 public int getVisina() {
29 public void setPos(int x
, int y
, boolean b
) {
30 if (0 <= x
&& x
< sirina
&& 0 <= y
&& y
< visina
) {
35 public boolean getPos(int x
, int y
) {
36 if (0 <= x
&& x
< sirina
&& 0 <= y
&& y
< visina
) {
43 public int getMat(int x
, int y
) {
44 if (0 <= x
&& x
< sirina
&& 0 <= y
&& y
< visina
) {
51 public Mapa(int sirina
, int visina
) {
54 mat
= new int[sirina
][visina
];
55 pos
= new boolean[sirina
][visina
];
58 public Mapa(String imeFajla
) {
59 if (!Svetovid
.testIn(imeFajla
)) {
60 throw new RuntimeException("Fajl za kreiranje mape (" + imeFajla
+ ") nije prisupacan");
62 sirina
= Svetovid
.in(imeFajla
).readInt();
63 visina
= Svetovid
.in(imeFajla
).readInt();
64 mat
= new int[sirina
][visina
];
65 pos
= new boolean[sirina
][visina
];
66 for (int j
= 0; j
< visina
; j
++) {
67 for (int i
= 0; i
< sirina
; i
++) {
68 mat
[i
][j
] = Svetovid
.in(imeFajla
).readInt();
71 Svetovid
.closeIn(imeFajla
);
72 Prikaz
.boja(ZID
, Prikaz
.CRNA
, null);
73 Prikaz
.boja(IZLAZ
, Prikaz
.CRVENA
, Prikaz
.BELA
);
74 Prikaz
.boja(1, 20, Prikaz
.SVETLO_ZELENA
, Prikaz
.ZELENA
, Prikaz
.CRNA
);
75 Prikaz
.boja(99, Prikaz
.ZUTA
, Prikaz
.CRNA
);
76 Prikaz
.mapa("Lavirint", getSirina(), getVisina(), this::getMat
);
79 public void stampaj() {
80 if (visina
!= 0 && sirina
!= 0) {
81 System
.out
.println(visina
+ " " + sirina
);
82 for (int j
= 0; j
< visina
; j
++) {
83 for (int i
= 0; i
< sirina
; i
++) {
84 System
.out
.print(mat
[i
][j
] + "\t");
91 public String
toString() {
92 return "Mapa velicine " + sirina
+ " x " + visina
;
Svarog.pmf.uns.ac.rs/gitweb
maintanance
Doni Pracner