commit
cabe330bd5
|
@ -1,26 +0,0 @@
|
|||
package player;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class MalteAI implements Player{
|
||||
|
||||
private String name;
|
||||
private Random ran;
|
||||
|
||||
public MalteAI(String name){
|
||||
this.name = name;
|
||||
this.ran = new Random();
|
||||
}
|
||||
|
||||
public int move(int[][] board){
|
||||
int choice = ran.nextInt(7);
|
||||
while (board[choice][0] != 0) {
|
||||
choice = ran.nextInt(7);
|
||||
}
|
||||
return choice;
|
||||
}
|
||||
|
||||
public String getName(){
|
||||
return this.name;
|
||||
}
|
||||
}
|
50
src/player/malte/MalteAI.java
Normal file
50
src/player/malte/MalteAI.java
Normal file
|
@ -0,0 +1,50 @@
|
|||
package player;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
import java.util.HashSet;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class MalteAI implements Player{
|
||||
|
||||
private String name;
|
||||
private Random ran;
|
||||
|
||||
public MalteAI(String name){
|
||||
this.name = name;
|
||||
this.ran = new Random();
|
||||
}
|
||||
|
||||
public int move(int[][] board){
|
||||
Set<Integer> options = new HashSet<>(Arrays.asList(0,1,2,3,4,5,6));
|
||||
for (Integer i: copySet(options)) {
|
||||
if (board[i][0] != 0) {
|
||||
options.remove(i);
|
||||
}
|
||||
}
|
||||
// Set<Integer> preventions = getPreventionOptions(options, board);
|
||||
|
||||
return takeRandom(options).intValue();
|
||||
}
|
||||
|
||||
private Set<Integer> copySet(Set<Integer> s) {
|
||||
return new HashSet<Integer>(s);
|
||||
}
|
||||
|
||||
private Integer takeRandom(Set<Integer> s) {
|
||||
int item = ran.nextInt(s.size());
|
||||
int i = 0;
|
||||
for (Object obj: s) {
|
||||
if (i == item) {
|
||||
return (Integer) obj;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
// TODO: Change this
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getName(){
|
||||
return this.name;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue