From 59fa8ccc4ab86dec5c53e45160a880d5aa8dd4c2 Mon Sep 17 00:00:00 2001 From: sakex Date: Thu, 17 Aug 2023 18:32:30 +0200 Subject: [PATCH] Fix GOL setup --- src/exercises/webassembly/game-of-life.md | 7 +------ .../static/exercises/game_of_life/index.mjs | 11 +++++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 src/rust-wasm-template/static/exercises/game_of_life/index.mjs diff --git a/src/exercises/webassembly/game-of-life.md b/src/exercises/webassembly/game-of-life.md index c4f4a20e..ffd4ecff 100644 --- a/src/exercises/webassembly/game-of-life.md +++ b/src/exercises/webassembly/game-of-life.md @@ -23,14 +23,9 @@ extern "C" { } #[wasm_bindgen] -pub fn set_panic_hook() { +pub fn setup() { console_error_panic_hook::set_once(); } - -#[wasm_bindgen] -pub fn start(canvas: HtmlCanvasElement, width: i32, height: i32) -> Result<(), JsValue> { - Ok(()) -} ``` 1. Let's create a `GameOfLife` struct that segments the canvas into cells of dimensions `10x10` pixels. Cells can be diff --git a/src/rust-wasm-template/static/exercises/game_of_life/index.mjs b/src/rust-wasm-template/static/exercises/game_of_life/index.mjs new file mode 100644 index 00000000..88853009 --- /dev/null +++ b/src/rust-wasm-template/static/exercises/game_of_life/index.mjs @@ -0,0 +1,11 @@ +import init, {setup} from '/wasm/project.js'; + + +(async () => { + // Run the init method to initiate the WebAssembly module. + await init(); + setup(); + const canvas = document.getElementById('game-of-life-canvas'); + const ctx = canvas.getContext('2d'); + const game = new GameOfLife(ctx, canvas.width, canvas.height); +})();