damianfral / scribble-battleships

Battleships game written in PureScript communicating following a Scribble protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scribble Battleships

This is based on the Purescript-Concur + Webpack starter pack

Usage

Get the purescript-scribble and scribble-java dependencies

git submodule update --init --recursive

Generate the Battleships protocol

This step is only required if you make changes to the protocol!

First build the Scribble tool

docker build -t scribble-java scribble-java

Out protocol is described in Game.scr

docker run -v pwd:/repo scribble-java -d /repo/web/src/ /repo/Game.scr -api-ps BattleShips

Server

stack build

Start the Battleships game server

stack exec server

Web

Build Purescript code

yarn

spago build

Run Dev Server

yarn start

Hot code reload with purescript code

At the end of the previous command, you will have a development server which will watch for changes, and automatically reload the web page. This mechanism only works with JS changes.

However, in practice, your IDE should automatically recompile Purescript to Javascript on every change, which will be picked up by the development server. So you get immediate recompilation even with Purescript.

Build production artifacts

yarn build

About

Battleships game written in PureScript communicating following a Scribble protocol

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:JavaScript 59.0%Language:PureScript 28.1%Language:Haskell 6.4%Language:Dhall 4.9%Language:HTML 1.7%