start the testing
This commit is contained in:
parent
0686ca78ae
commit
a289936913
2 changed files with 48 additions and 9 deletions
|
@ -14,10 +14,19 @@ use wasm_bindgen::prelude::*;
|
||||||
#[global_allocator]
|
#[global_allocator]
|
||||||
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
|
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
|
||||||
|
|
||||||
|
#[wasm_bindgen]
|
||||||
|
pub struct Location {
|
||||||
|
x: f64,
|
||||||
|
y: f64,
|
||||||
|
angle: f64,
|
||||||
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub struct Game {
|
pub struct Game {
|
||||||
states : Vec<types::State>,
|
states : Vec<types::State>,
|
||||||
|
|
||||||
/* put extra shit here */
|
/* put extra shit here */
|
||||||
|
current_turn: Vec<Location>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
|
@ -31,13 +40,28 @@ impl Game {
|
||||||
).collect();
|
).collect();
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
states
|
states,
|
||||||
|
current_turn: Vec::new()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn turn_count(&self) -> usize {
|
pub fn turn_count(&self) -> usize {
|
||||||
self.states.len()
|
self.states.len()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn add_location(&mut self, x: f64, y: f64, angle: f64) {
|
||||||
|
self.current_turn.push(
|
||||||
|
Location { x, y, angle}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn location_count(&self) -> usize {
|
||||||
|
self.current_turn.len()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn locations(&self) -> *const Location {
|
||||||
|
self.current_turn.as_ptr()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,31 @@
|
||||||
import { Game } from "planetwars";
|
import { Game } from "planetwars";
|
||||||
|
import { memory } from "planetwars/plantwars_bg"
|
||||||
|
|
||||||
const URL = window.location.origin+window.location.pathname;
|
const URL = window.location.origin+window.location.pathname;
|
||||||
const LOCATION = URL.substring(0, URL.lastIndexOf("/") + 1);
|
const LOCATION = URL.substring(0, URL.lastIndexOf("/") + 1);
|
||||||
|
|
||||||
const game_location = LOCATION + "static/game.json";
|
const game_location = LOCATION + "static/game.json";
|
||||||
|
|
||||||
fetch(game_location)
|
// fetch(game_location)
|
||||||
.then((r) => r.text())
|
// .then((r) => r.text())
|
||||||
.then((response) => {
|
// .then((response) => {
|
||||||
console.log(response);
|
// console.log(response);
|
||||||
let game = Game.new(response);
|
// let game = Game.new(response);
|
||||||
console.log(game.turn_count());
|
// console.log(game.turn_count());
|
||||||
}).catch(console.error);
|
// }).catch(console.error);
|
||||||
|
|
||||||
|
|
||||||
|
const g = Game.new("");
|
||||||
|
|
||||||
|
const p1 = g.locations();
|
||||||
|
const s1 = g.location_count();
|
||||||
|
console.log(p1, s1);
|
||||||
|
const a1 = new Float64Array(memory.buffer, p1, s1 * 3);
|
||||||
|
console.log(a1);
|
||||||
|
|
||||||
|
g.add_location(0.5, 1.2, 3.14);
|
||||||
|
|
||||||
|
const p2 = g.locations();
|
||||||
|
const s2 = g.location_count();
|
||||||
|
const a2 = new Float64Array(memory.buffer, p2, s2 * 3);
|
||||||
|
console.log(a2);
|
||||||
|
|
Loading…
Reference in a new issue