mirror of
https://github.com/Noratrieb/minmax.git
synced 2026-01-14 07:15:06 +01:00
fix
This commit is contained in:
parent
9dcde0e451
commit
3d90a3ea0a
2 changed files with 7 additions and 16 deletions
|
|
@ -18,9 +18,9 @@ public class RustPlayer extends Connect4ArenaMain.DefaultPlayer {
|
|||
if (stone == null) {
|
||||
value = 2;
|
||||
} else if (stone == Connect4ArenaMain.Stone.BLUE) {
|
||||
value = 0;
|
||||
value = 1;
|
||||
} else {
|
||||
value = 1; // red
|
||||
value = 0; // red
|
||||
}
|
||||
boardBuf[i] = value;
|
||||
}
|
||||
|
|
@ -30,8 +30,8 @@ public class RustPlayer extends Connect4ArenaMain.DefaultPlayer {
|
|||
@Override
|
||||
protected int play() {
|
||||
byte player = switch (this.myColor) {
|
||||
case BLUE -> 0;
|
||||
case RED -> 1;
|
||||
case BLUE -> 1;
|
||||
case RED -> 0;
|
||||
};
|
||||
byte[] boardBuf = RustPlayer.encodeBoard(this.board);
|
||||
return RustPlayer.rustPlay(player, boardBuf);
|
||||
|
|
|
|||
|
|
@ -34,10 +34,7 @@ fn crate_board(java_board: &[i8]) -> Connect4 {
|
|||
for i in 0..28 {
|
||||
let java_int = java_board[i];
|
||||
let rust_value = match java_int {
|
||||
0 => {
|
||||
dbg!("x player {i}", i, map_idx(i));
|
||||
Some(Player::X)
|
||||
},
|
||||
0 => Some(Player::X),
|
||||
1 => Some(Player::O),
|
||||
2 => None,
|
||||
_ => unreachable!(),
|
||||
|
|
@ -51,8 +48,8 @@ fn crate_board(java_board: &[i8]) -> Connect4 {
|
|||
board
|
||||
}
|
||||
|
||||
// 0 -> BLUE -> X
|
||||
// 1 -> RED -> O
|
||||
// 0 -> RED -> X
|
||||
// 1 -> BLUE -> O
|
||||
// 2 -> empty
|
||||
pub fn wrap_player(env: JNIEnv<'_>, current_player: i8, board: JObject<'_>) -> i32 {
|
||||
let board_size = env.get_array_length(board.into_raw()).unwrap();
|
||||
|
|
@ -64,12 +61,8 @@ pub fn wrap_player(env: JNIEnv<'_>, current_player: i8, board: JObject<'_>) -> i
|
|||
|
||||
let slice = unsafe { std::slice::from_raw_parts(byte_array.as_ptr() as *const _, 28) };
|
||||
|
||||
dbg!(slice);
|
||||
|
||||
let mut board = crate_board(slice);
|
||||
|
||||
println!("{board}");
|
||||
|
||||
let mut player = PerfectPlayer::new(false);
|
||||
|
||||
let current_player_rust = match current_player {
|
||||
|
|
@ -86,8 +79,6 @@ pub fn wrap_player(env: JNIEnv<'_>, current_player: i8, board: JObject<'_>) -> i
|
|||
|
||||
let java_idx = map_idx(result_move) as i32;
|
||||
|
||||
dbg!(result_move, java_idx);
|
||||
|
||||
java_idx
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue