Added game restart option
parent
d78ff03952
commit
b1730f4816
|
@ -33,7 +33,7 @@ body {
|
||||||
<center>
|
<center>
|
||||||
<div id="screen">
|
<div id="screen">
|
||||||
<div>
|
<div>
|
||||||
<div id="state">press any key to start</div>
|
<div id="state">press <space> to start</div>
|
||||||
</div>
|
</div>
|
||||||
<svg id="canvas">
|
<svg id="canvas">
|
||||||
<circle id="ball" />
|
<circle id="ball" />
|
||||||
|
|
|
@ -260,20 +260,23 @@
|
||||||
(let [fps (int (/ 1000 (<! ticks)))
|
(let [fps (int (/ 1000 (<! ticks)))
|
||||||
[x y] (<! pos)
|
[x y] (<! pos)
|
||||||
[state score] (<! game-state)
|
[state score] (<! game-state)
|
||||||
state (condp = state
|
state-text (condp = state
|
||||||
:moving "Playing"
|
:moving "Playing"
|
||||||
:collision "Playing"
|
:collision "Playing"
|
||||||
:gameover "Game Over")]
|
:gameover "Game Over")]
|
||||||
(when-not (= fps fps-p)
|
(when-not (= fps fps-p)
|
||||||
(dom/set-text! fps-el fps))
|
(dom/set-text! fps-el fps))
|
||||||
(when-not (= state state-p)
|
(when-not (= state state-p)
|
||||||
(dom/set-text! state-el state))
|
(dom/set-text! state-el state-text))
|
||||||
(when-not (= score score-p)
|
(when-not (= score score-p)
|
||||||
(dom/set-text! score-el score))
|
(dom/set-text! score-el score))
|
||||||
|
(when (= state :gameover)
|
||||||
|
(do (dom/set-text! state-el "press <space> to restart")
|
||||||
|
(ev/listen-once! :keypress #(.reload (.-location js/window)))))
|
||||||
(doto ball-el
|
(doto ball-el
|
||||||
(dom/set-attr! "cx" x)
|
(dom/set-attr! "cx" x)
|
||||||
(dom/set-attr! "cy" y))
|
(dom/set-attr! "cy" y))
|
||||||
(recur fps state score))))
|
(recur fps state-text score))))
|
||||||
(go-loop
|
(go-loop
|
||||||
(dom/set-attr! lpaddle-el "y" (<! pl-pos)))
|
(dom/set-attr! lpaddle-el "y" (<! pl-pos)))
|
||||||
(go-loop
|
(go-loop
|
||||||
|
|
Loading…
Reference in New Issue