Exemplo n.º 1
0
    }
  };
  const color = moves
    .scan('white', oppositeColor);
  const board = Bacon.combineTemplate({
      location: moves,
      color:    color
    })
    .scan(Board.empty(), (board, {color, location}) => board.placeStone(color, location));

  return board;
};


const moves = Bacon.fromEvent(window.document.body, 'click')
  .filter(e => e.target.classList.contains('goban-grid_space'))
  .map(e => e.target.dataset)
  .map(ds => ({x: parseInt(ds.x), y: parseInt(ds.y)}));

const board = runGame(moves);

const el = v
  .open('main')
    .open('h1')
      .text('Goban')
    .close()
    .append(board_view(board))
  .run();

window.document.body.appendChild(el);
Exemplo n.º 2
0
import v from 'v';

const lines = v
  .open('div', {'class': 'grid_lines grid_lines--horizontal'})
    .each([0,0,0,0,0,0,0,0,0])
      .open('div', {'class': 'grid_line grid_line--horizontal'}).close()
    .close()
  .close()
  .open('div', {'class': 'grid_lines grid_lines--vertical'})
    .each([0,0,0,0,0,0,0,0,0])
      .open('div', {'class': 'grid_line grid_line--vertical'}).close()
    .close()
  .close();

export default lines;