Linus41
Legacy Member
Als project hebben wij een rpg ontwikkeld. Nu is al oze code af alleen moeten we ons spelbord in de gui afprinten. Dit werkt niet goed. Ons spelbord bestaat uit een lijst van vakken. Kan iemand ons helpen??
Dit is de code van ons spelbord..
De gui wordt in een apparte klasse aangemaakt..(Java Swing)
Dit is de code van ons spelbord..
De gui wordt in een apparte klasse aangemaakt..(Java Swing)
package Domein.DomeinModel.Domein;
import java.util.ArrayList;
import java.util.List;
public class Spelbord {
private Personage p;
private Vak[][] bord;
private int dimensiex;
private int dimensiey;
private int eindpositieX;
private int eindpositieY;
private int startpositieX;
private int startpositieY;
private Categorie categorie;
private ArrayList<Personage> tegenstanders = new ArrayList<Personage>();
public Spelbord(String spelbordnaam, int dx, int dy,int startpositieX,int startpositieY,int eindpositieX,int eindpositieY) {
dimensiex = dx;
dimensiey = dy;
this.startpositieX=startpositieX;
this.startpositieY=startpositieY;
this.eindpositieX=eindpositieX;
this.eindpositieY=eindpositieY;
bord = new Vak[dimensiex][dimensiey];
for (int i = 0; i < dimensiex; i++) {
for (int j = 0; j < dimensiey; j++) {
bord[j] = new Vak(i, j);
}
}
}
public Vak[][] getSpelBord() {
return bord;
}
public int getStartpositieX() {
return startpositieX;
}
public void setStartpositieX(int startpositieX) {
this.startpositieX = startpositieX;
}
public int getStartpositieY() {
return startpositieY;
}
public void setStartpositieY(int startpositieY) {
this.startpositieY = startpositieY;
}
public String toString() {
String result = "";
for (int y = 0; y < dimensiex ; y++) {
for (int x = 0; x < dimensiey; x++) {
result = result + bord[x][y].toString();
}
result = result + "\n";
}
return result;
}
public Vak getVak(int x, int y){
return bord[x][y];
}
public boolean isVakVrij(Vak vakToCheck){
boolean res= false;
if (vakToCheck.toString() == "[ ]"){
res=true;
}
else { res = false; }
return res;
}
public boolean isGeldigeZet(Vak vakToCheck, Personage p){
boolean res= true;
int x = p.getVak().getX();
int y = p.getVak().getY();
int xv = Math.abs(x - vakToCheck.getX());
int yv = Math.abs(y - vakToCheck.getY());
//Verticaal
if((yv > 1)&&(y<dimensiey-1)){
res = false;
}
//Horizontaal
if ((xv > 1 )&&(x<dimensiex-1)) {
res = false;
}
//Schuin
if (xv == 1 && yv == 1) {
res = false;
}
return res;
}
public List<Personage> geefBeschikbareTegenstander(Personage p){
int x = p.getVak().getX();
int y = p.getVak().getY();
if(bord[x+1][y].getPersonage() != null)
tegenstanders.add(bord[x+1][y].getPersonage());
if(bord[x-1][y].getPersonage() != null)
tegenstanders.add(bord[x-1][y].getPersonage());
if(bord[x][y+1].getPersonage() != null)
tegenstanders.add(bord[x][y+1].getPersonage());
if(bord[x][y-1].getPersonage() != null)
tegenstanders.add(bord[x][y-1].getPersonage());
return tegenstanders;
}
public void setVak(){
this.setVak();
}
public int getEindpositieX() {
return eindpositieX;
}
public void setEindpositieX(int eindpositieX) {
this.eindpositieX = eindpositieX;
}
public int getEindpositieY() {
return eindpositieY;
}
public void setEindpositieY(int eindpositieY) {
this.eindpositieY = eindpositieY;
}
public Categorie getCategorie() {
return categorie;
}
public void setCategorie(Categorie categorie) {
this.categorie = categorie;
}
}
(als je iteratief werkt, kan je bv eerst ervoor zorgen dat het spelbord op zich werkt; als dat klaar is, kijken of je een manneke kan plaatsen en verplaatsen; en om af te werken dan de vijanden nog implementeren.
