This commit is contained in:
nora 2023-01-09 15:21:18 +01:00
parent 9dcde0e451
commit 3d90a3ea0a
2 changed files with 7 additions and 16 deletions

View file

@ -18,9 +18,9 @@ public class RustPlayer extends Connect4ArenaMain.DefaultPlayer {
if (stone == null) { if (stone == null) {
value = 2; value = 2;
} else if (stone == Connect4ArenaMain.Stone.BLUE) { } else if (stone == Connect4ArenaMain.Stone.BLUE) {
value = 0; value = 1;
} else { } else {
value = 1; // red value = 0; // red
} }
boardBuf[i] = value; boardBuf[i] = value;
} }
@ -30,8 +30,8 @@ public class RustPlayer extends Connect4ArenaMain.DefaultPlayer {
@Override @Override
protected int play() { protected int play() {
byte player = switch (this.myColor) { byte player = switch (this.myColor) {
case BLUE -> 0; case BLUE -> 1;
case RED -> 1; case RED -> 0;
}; };
byte[] boardBuf = RustPlayer.encodeBoard(this.board); byte[] boardBuf = RustPlayer.encodeBoard(this.board);
return RustPlayer.rustPlay(player, boardBuf); return RustPlayer.rustPlay(player, boardBuf);

View file

@ -34,10 +34,7 @@ fn crate_board(java_board: &[i8]) -> Connect4 {
for i in 0..28 { for i in 0..28 {
let java_int = java_board[i]; let java_int = java_board[i];
let rust_value = match java_int { let rust_value = match java_int {
0 => { 0 => Some(Player::X),
dbg!("x player {i}", i, map_idx(i));
Some(Player::X)
},
1 => Some(Player::O), 1 => Some(Player::O),
2 => None, 2 => None,
_ => unreachable!(), _ => unreachable!(),
@ -51,8 +48,8 @@ fn crate_board(java_board: &[i8]) -> Connect4 {
board board
} }
// 0 -> BLUE -> X // 0 -> RED -> X
// 1 -> RED -> O // 1 -> BLUE -> O
// 2 -> empty // 2 -> empty
pub fn wrap_player(env: JNIEnv<'_>, current_player: i8, board: JObject<'_>) -> i32 { pub fn wrap_player(env: JNIEnv<'_>, current_player: i8, board: JObject<'_>) -> i32 {
let board_size = env.get_array_length(board.into_raw()).unwrap(); 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) }; let slice = unsafe { std::slice::from_raw_parts(byte_array.as_ptr() as *const _, 28) };
dbg!(slice);
let mut board = crate_board(slice); let mut board = crate_board(slice);
println!("{board}");
let mut player = PerfectPlayer::new(false); let mut player = PerfectPlayer::new(false);
let current_player_rust = match current_player { 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; let java_idx = map_idx(result_move) as i32;
dbg!(result_move, java_idx);
java_idx java_idx
} }