Skip to content

Commit 894fd8b

Browse files
committed
routerをPreprocessに入れたよ
1 parent b845dae commit 894fd8b

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

src/chokudAI.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,7 @@ pub fn run_chokudai() {
2626
// run(client, join_resp);
2727
}
2828

29-
pub fn run(client: Client, join_resp: Response, prep: Preprocess){
30-
31-
32-
let mut router = super::routing::Router::new();
33-
29+
pub fn run(client: Client, join_resp: Response, mut prep: Preprocess){
3430
let all = join_resp.info.ability.potential;
3531
let shoot = 64;
3632
let mut heal = 10;
@@ -51,8 +47,7 @@ pub fn run(client: Client, join_resp: Response, prep: Preprocess){
5147

5248
//COMMANDS
5349
while resp.stage != 2 {
54-
55-
resp = client.command(&chokud_ai(&resp, &id, &my_role, &mut e_data, &prep, &mut router));
50+
resp = client.command(&chokud_ai(&resp, &id, &my_role, &mut e_data, &mut prep));
5651
//dbg!(&resp);
5752
}
5853
}
@@ -62,7 +57,7 @@ fn dist(a: &Ship, b: &Ship) -> i32{
6257
return (a.pos.0 - b.pos.0).abs() + (a.pos.1 - b.pos.1).abs();
6358
}
6459

65-
fn chokud_ai(resp: &Response, id: &i32, my_role: &i32, e_data: &mut EnemyData, prep: &Preprocess, router: &mut super::routing::Router) -> Vec<Command> {
60+
fn chokud_ai(resp: &Response, id: &i32, my_role: &i32, e_data: &mut EnemyData, prep: &mut Preprocess) -> Vec<Command> {
6661

6762
let mut myship = resp.state.ships[0].clone();
6863
let mut enemyship = resp.state.ships[0].clone();
@@ -156,7 +151,7 @@ fn chokud_ai(resp: &Response, id: &i32, my_role: &i32, e_data: &mut EnemyData, p
156151

157152
if e_data.go_near {
158153
eprintln!("Go Near!");
159-
let (dvx, dvy) = router.doit(&myship, &enemyship);
154+
let (dvx, dvy) = prep.router.doit(&myship, &enemyship);
160155
addx = dvx;
161156
addy = dvy;
162157
}

src/wata.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ pub fn test_naive(mut x: i32, mut y: i32, mut dx: i32, mut dy: i32, gx: &Vec<Vec
5555
pub struct Preprocess {
5656
gx: Vec<Vec<i32>>,
5757
gy: Vec<Vec<i32>>,
58-
dp: Vec<Vec<Vec<Vec<i32>>>>
58+
dp: Vec<Vec<Vec<Vec<i32>>>>,
59+
pub router: crate::routing::Router,
5960
}
6061

6162
fn preprocess() -> Preprocess {
@@ -157,8 +158,10 @@ fn preprocess() -> Preprocess {
157158
}
158159
}
159160
eprintln!("preprocessed: {}", count);
161+
162+
let router = crate::routing::Router::new();
160163
eprintln!("time: {:.3}", get_time() - stime);
161-
Preprocess { gx, gy, dp }
164+
Preprocess { gx, gy, dp, router }
162165
}
163166

164167
fn rec(x: i32, y: i32, dx: i32, dy: i32, last_ax: i32, last_ay: i32, d: usize, prep: &Preprocess) -> (i32, usize) {

0 commit comments

Comments
 (0)