Size: a a a

Scala User Group

2016 April 28

NK

ID:147360519 in Scala User Group
А как быть уверенным, что с Position все ОК
источник

NK

ID:147360519 in Scala User Group
а можно ее ключем сделать
источник

NK

ID:110284323 in Scala User Group
можно метод, который дает обратную мапу
источник

NK

ID:110284323 in Scala User Group
и будет 2 мапы для разных нужд
источник

NK

ID:147360519 in Scala User Group
в прочем не принципиально, больше интересна связь между фигурами и доской

хочу вычислить набор возможных ходов и пересечений

figure.canPlaceAt(board, position)
board.canPlaceAt(position, figure)
figure.possibleMoves(board)
board.possibleMoves(figure)

или вообще

moveResolver.possibleMoves(board, figure)
источник

NK

ID:110284323 in Scala User Group
`
type Position = (Int, Int)

trait Piece {
   def possibleMoves(position: Position): Set[Position]
   def possibleAttacks(position: Position, rBoard: RBoard): Set[Position] = possibleMoves(position)
}

type Board = Map[Piece, Position]
type RBoard = Map[Position, Piece]

def reversedBoard(board: Board): RBoard = ???

def possibleMoves(pieceLocation: Position, board: Board): Set[Position] = {
 val rBoard = reversedBoard(board)
 val piece = rBoard(pieceLocation)
 val moves = piece.possibleMoves(pieceLocation).filterNot(rBoard.keySet())
 val attacks = piece.possibleAttacks(pieceLocation, rBoard)
 attacks ++ moves
}`
источник

NK

ID:110284323 in Scala User Group
на скорую руку набросал
источник

NK

ID:110284323 in Scala User Group
possibleAttacks - ради пешки
источник

V

Viacheslav in Scala User Group
вот ещё пример (мне нравится идея что фигурка имеет метод "могу сходить туда-то" это выглядит натурально) https://github.com/xnull/xnull/blob/master/chess/src/main/scala/chess/Piece.scala
источник

NK

ID:147360519 in Scala User Group
Да, спасибо за примеры, есть над чем подумать
источник

NK

ID:147360519 in Scala User Group
На счет натурально
источник

NK

ID:147360519 in Scala User Group
Фигурку вроде бы как шахматист двигает
источник

V

Viacheslav in Scala User Group
тоже верно)
источник

NK

ID:147360519 in Scala User Group
И он у себя в голове все просчитывает))
источник
2016 April 29

NK

ID:147360519 in Scala User Group
#планпоездки
источник
2016 April 30

OO

Oleksandr Olgashko in Scala User Group
источник
2016 May 05

VS

Vladimir Sam in Scala User Group
Кто-нибудь использовал Akka FSM в связке с БД? Задом чую, что будут проблемы из-за асинхронности, но уж больно хорошо в задачу вписывается. Persistence FSM идеально бы зашла, но она в альфе
источник

VS

Vyatcheslav Suharnikov in Scala User Group
А в чем там могут быть проблемы?
источник

VS

Vladimir Sam in Scala User Group
Если я не хочу делать в акторе блокирующие вызовы, придется либо делать ему дополнительный state "Working", при котором он будет отбрасывать запросы на смену состояния, либо городить Stash
источник

NT

Nikolay Tatarinov in Scala User Group
> дополнительный state "Working", при котором он будет отбрасывать запросы на смену состояния
отбрасывать - в смысле отвечать Status.Failed?
источник