Guten Tag meine Lieben Freunde
Wiedereinmal zum alt bekannten Thema Schiffe versenken. Ich steht im moment gerade ein wenig auf dem schlauch. Die Schiffe überschneiden sich im Moment in einem 12x12 grid. und ich weiss nicht wie ich die überschneidungen lösen sollte. ich wäre dankbar für ein tipp/hilfe.
Danke
Wiedereinmal zum alt bekannten Thema Schiffe versenken. Ich steht im moment gerade ein wenig auf dem schlauch. Die Schiffe überschneiden sich im Moment in einem 12x12 grid. und ich weiss nicht wie ich die überschneidungen lösen sollte. ich wäre dankbar für ein tipp/hilfe.
Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package battleship.strategies;
import battleship.Grid;
import java.util.Random;
/**
*
* @author Doomhammer
*/
public class DavidMichelStrategy implements Strategy {
int shootR;
int shootC;
int width;
int height;
@Override
public void init(Grid grid, int[] numberOfShips) {
width=grid.getWidth();
height=grid.getHeight();
}
@Override
public void fillGrid(Grid grid, int[] numberOfShips) {
int r=0;
Random a = new Random();
int z = a.nextInt(3);
int c=z;
for (int l=2; l<numberOfShips.length; l++) { //null Schiffe mit Länge 0 und 1, 3 Schiffe mit Länge 2, 3 Schiffe Länge 3, 2 Schiffe Länge 4, 1 Schiff Länge 5
Random random = new Random();
int b = random.nextInt(2);
for (int s=0; s<numberOfShips[l]; s++) {
if (c+l>= width) {
c=0;
r+=2;
}
for (int i=0;i<l;i++) {
if(b==0) {
grid.ships[r][c++]=l;
}
else {
grid.ships[c++][r]=l;
}
}
c++;
}
}
//Anfangen zu Ballern
Random random = new Random();
shootR=0;
shootC=0;
}
@Override
public int[] shoot() {
int[] res = new int[] {shootR, shootC};
shootC++;
if (shootC==width) {
shootC=0;
shootR++;
}
if (shootR==height) {
shootR=0;
}
return res;
}
@Override
public void shot(int[] position) {
}
@Override
public void result(int code) {
}
}
Danke