diff --git a/board-frontend/src/app.rs b/board-frontend/src/app.rs
index c431968..97fe667 100644
--- a/board-frontend/src/app.rs
+++ b/board-frontend/src/app.rs
@@ -1,10 +1,11 @@
use crate::hand_view::HandView;
use crate::tile_view::PlacedTileView;
-use board_shared::board::{self, Board};
+use board_shared::board::Board;
use board_shared::expr::is_valid_guess;
use board_shared::game::Game;
use board_shared::tile::Tile;
use gloo_dialogs::alert;
+use board_shared::position::Grid2d;
use yew::prelude::*;
enum SelectedTile {
@@ -23,9 +24,9 @@ struct BoardViewProps {
fn board_view(BoardViewProps { board, on_click }: &BoardViewProps) -> Html {
html! {
- { (0..board::BOARD_SIZE).map(|x| html! {
+ { (0..board.height()).map(|y| html! {
- { (0..board::BOARD_SIZE).map(|y| html! {
+ { (0..board.width()).map(|x| html! {
}).collect::() }
diff --git a/board-shared/src/board.rs b/board-shared/src/board.rs
index 7f4cca5..8fa433d 100644
--- a/board-shared/src/board.rs
+++ b/board-shared/src/board.rs
@@ -1,26 +1,28 @@
-use crate::position::Position2d;
+use crate::position::{Grid2d, Position2d};
use crate::tile::Tile;
-pub const BOARD_SIZE: usize = 25;
+const DEFAULT_BOARD_SIZE: usize = 25;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Board {
- tiles: [Option; BOARD_SIZE * BOARD_SIZE],
+ tiles: Vec