Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.foo
- object TicTacToe {
- trait Piece
- case object X extends Piece
- case object O extends Piece
- case object E extends Piece
- sealed trait ColumnCoordinate
- case object COL1 extends ColumnCoordinate
- case object COL2 extends ColumnCoordinate
- case object COL3 extends ColumnCoordinate
- sealed trait RowCoordinate
- case object ROW1 extends RowCoordinate
- case object ROW2 extends RowCoordinate
- case object ROW3 extends RowCoordinate
- type Row = Map[ColumnCoordinate, Piece]
- type Board = Map[RowCoordinate, Row]
- /*class Boardx {
- private val grid = Array(Array(X, X, X), Array(X, X, X), Array(X, X, X))
- }
- case class Move(coordinates: (ColumnCoordinate, RowCoordinate), piece: Piece)
- val er = Map(
- COL1 -> E,
- COL2 -> E,
- COL3 -> E)
- val bd = Map(
- ROW1 -> er,
- ROW2 -> er,
- ROW3 -> er
- )*/
- def move (board:Board, col: ColumnCoordinate, row: RowCoordinate, value:Piece) : Board = {
- board.updated(row, board(row).updated(col, value))
- }
- }
- object Thing {
- /*val bd = Board(
- Row(E, E, E),
- Row(E, E, E),
- Row(E, E, E))
- import TicTacToe._
- val er = (
- COL1 -> E,
- COL2 -> E,
- COL3 -> E)
- val bd = Map(
- ROW1 -> er,
- ROW2 -> er,
- ROW3 -> er
- )*/
- }
Advertisement
Add Comment
Please, Sign In to add comment