Skip to content

Commit 0f654b4

Browse files
committed
add places to place pieces
Signed-off-by: Ryan1729 <[email protected]>
1 parent ef58ee7 commit 0f654b4

File tree

2 files changed

+54
-60
lines changed

2 files changed

+54
-60
lines changed

Model.elm

+19-35
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type alias Model =
1111

1212
defaultModel =
1313
{ board = initialBoard
14-
, selected = Nothing
14+
, selected = Just (Piece Plain X)
1515
, rack = initialRack
1616
, gameState = InProgress
1717
}
@@ -45,39 +45,22 @@ type alias Board =
4545

4646
initialBoard : Board
4747
initialBoard =
48-
-- { zeroZero = EmptySpace
49-
-- , oneZero = EmptySpace
50-
-- , twoZero = EmptySpace
51-
-- , threeZero = EmptySpace
52-
-- , zeroOne = EmptySpace
53-
-- , oneOne = EmptySpace
54-
-- , twoOne = EmptySpace
55-
-- , threeOne = EmptySpace
56-
-- , zeroTwo = EmptySpace
57-
-- , oneTwo = EmptySpace
58-
-- , twoTwo = EmptySpace
59-
-- , threeTwo = EmptySpace
60-
-- , zeroThree = EmptySpace
61-
-- , oneThree = EmptySpace
62-
-- , twoThree = EmptySpace
63-
-- , threeThree = EmptySpace
64-
-- }
65-
{ zeroZero = Space <| Piece Plain X
66-
, oneZero = Space <| Piece Plain X
67-
, twoZero = Space <| Piece Plain X
68-
, threeZero = Space <| Piece Plain X
69-
, zeroOne = Space <| Piece Plain X
70-
, oneOne = Space <| Piece Plain X
71-
, twoOne = Space <| Piece Plain X
72-
, threeOne = Space <| Piece Plain X
73-
, zeroTwo = Space <| Piece Plain X
74-
, oneTwo = Space <| Piece Plain X
75-
, twoTwo = Space <| Piece Plain X
76-
, threeTwo = Space <| Piece Plain X
77-
, zeroThree = Space <| Piece Plain X
78-
, oneThree = Space <| Piece Plain X
79-
, twoThree = Space <| Piece Plain X
80-
, threeThree = Space <| Piece Plain X
48+
{ zeroZero = EmptySpace
49+
, oneZero = EmptySpace
50+
, twoZero = EmptySpace
51+
, threeZero = EmptySpace
52+
, zeroOne = EmptySpace
53+
, oneOne = EmptySpace
54+
, twoOne = EmptySpace
55+
, threeOne = EmptySpace
56+
, zeroTwo = EmptySpace
57+
, oneTwo = EmptySpace
58+
, twoTwo = EmptySpace
59+
, threeTwo = EmptySpace
60+
, zeroThree = EmptySpace
61+
, oneThree = EmptySpace
62+
, twoThree = EmptySpace
63+
, threeThree = EmptySpace
8164
}
8265

8366

@@ -268,7 +251,8 @@ removeFromRack piece rack =
268251

269252
place : Piece -> BoardId -> Board -> Board
270253
place piece boardId board =
271-
board
254+
setSpace boardId (Space piece) board
255+
|> Debug.log "place"
272256

273257

274258
getAvailableBoardIds : Board -> List BoardId

View.elm

+35-25
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import MaterialMsg exposing (MaterialMsg(Mdl, U))
99
import Msg exposing (Msg(..))
1010
import Material.Button as Button
1111
import Material.Grid as Grid exposing (Device(..))
12-
import Svg exposing (Svg, svg, rect, path, Attribute, ellipse, g)
12+
import Svg exposing (Svg, svg, rect, path, circle, Attribute, ellipse, g)
1313
import Svg.Attributes exposing (..)
1414
import Svg.Events exposing (onClick)
1515
import PieceView
@@ -86,18 +86,44 @@ renderSpaces selected board =
8686
Model.boardIdPossibilities
8787
|> List.map
8888
(\boardId ->
89-
renderSpace selected (Model.getSpace boardId board) (getSpaceCoords boardId)
89+
renderSpace selected boardId (Model.getSpace boardId board) (getSpaceCoords boardId)
9090
)
9191

9292

93-
renderSpace : Maybe Piece -> Space -> ( Float, Float ) -> Svg Msg
94-
renderSpace selected space ( x, y ) =
95-
case space of
96-
EmptySpace ->
97-
Svg.text ""
93+
renderSpace : Maybe Piece -> BoardId -> Space -> ( Float, Float ) -> Svg Msg
94+
renderSpace selected boardId space ( x, y ) =
95+
let
96+
piece =
97+
case space of
98+
EmptySpace ->
99+
Svg.text ""
100+
101+
Space piece ->
102+
PieceView.renderPiece piece x y
98103

99-
Space piece ->
100-
PieceView.renderPiece piece x y
104+
spaceAttriutes =
105+
case selected of
106+
Just _ ->
107+
[ onClick (Place boardId) ]
108+
109+
Nothing ->
110+
[]
111+
in
112+
[ circle
113+
([ cx (toString x)
114+
, cy (toString y)
115+
, r <| toString (PieceView.halfPieceWidth + 15)
116+
, fill "#888888"
117+
, fillOpacity "0.25"
118+
, strokeWidth "4"
119+
, stroke "#888888"
120+
]
121+
++ spaceAttriutes
122+
)
123+
[]
124+
, piece
125+
]
126+
|> g []
101127

102128

103129
getSpaceCoords boardId =
@@ -197,19 +223,3 @@ twoFifthsBoardHeightString =
197223

198224
threeFifthsBoardHeightString =
199225
toString (boardHeight * 3 / 5)
200-
201-
202-
threeTenthsBoardWidthString =
203-
toString (boardWidth * 3 / 10)
204-
205-
206-
sevenTenthsBoardWidthString =
207-
toString (boardWidth * 7 / 10)
208-
209-
210-
threeTenthsBoardHeightString =
211-
toString (boardHeight * 3 / 10)
212-
213-
214-
sevenTenthsBoardHeightString =
215-
toString (boardHeight * 7 / 10)

0 commit comments

Comments
 (0)