play.jade 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. extends layout
  2. block head
  3. script(type='text/javascript')
  4. $token = '#{token}';
  5. $time = #{time};
  6. $increment = #{increment};
  7. block content
  8. header.clearfix
  9. ul#clock
  10. li.white
  11. li.black
  12. span#game-type
  13. a.button(href='/') New game
  14. a.button.button--red.resign Resign
  15. a.button.button--red.rematch Rematch
  16. a.chat
  17. img#bubble(src='/img/chat.svg', width='50', height='50')
  18. | Chat
  19. audio(id='moveSnd', preload='auto')
  20. source(src='/sounds/move.mp3')
  21. source(src='/sounds/move.ogg')
  22. audio(id='messageSnd', preload='auto')
  23. source(src='/sounds/message.mp3')
  24. #chat-wrapper
  25. h4 Chat
  26. a.close x
  27. ul#chat
  28. span Write your message:
  29. form#send-message
  30. input
  31. #board-moves-wrapper.clearfix
  32. label(id='sounds-label')
  33. input(type='checkbox', id='sounds')
  34. | Enable sounds
  35. #board-wrapper
  36. #captured-pieces
  37. ul.w
  38. ul.b
  39. table.chessboard.white
  40. tr
  41. td.A8(data-id='A8', draggable='true')
  42. a.black.rook(draggable='true') ♜
  43. td.B8(data-id='B8', draggable='true')
  44. a.black.knight(draggable='true') ♞
  45. td.C8(data-id='C8', draggable='true')
  46. a.black.bishop(draggable='true') ♝
  47. td.D8(data-id='D8', draggable='true')
  48. a.black.queen(draggable='true') ♛
  49. td.E8(data-id='E8', draggable='true')
  50. a.black.king(draggable='true') ♚
  51. td.F8(data-id='F8', draggable='true')
  52. a.black.bishop(draggable='true') ♝
  53. td.G8(data-id='G8', draggable='true')
  54. a.black.knight(draggable='true') ♞
  55. td.H8(data-id='H8', draggable='true')
  56. a.black.rook(draggable='true') ♜
  57. tr
  58. td.A7(data-id='A7', draggable='true')
  59. a.black.pawn(draggable='true') ♟
  60. td.B7(data-id='B7', draggable='true')
  61. a.black.pawn(draggable='true') ♟
  62. td.C7(data-id='C7', draggable='true')
  63. a.black.pawn(draggable='true') ♟
  64. td.D7(data-id='D7', draggable='true')
  65. a.black.pawn(draggable='true') ♟
  66. td.E7(data-id='E7', draggable='true')
  67. a.black.pawn(draggable='true') ♟
  68. td.F7(data-id='F7', draggable='true')
  69. a.black.pawn(draggable='true') ♟
  70. td.G7(data-id='G7', draggable='true')
  71. a.black.pawn(draggable='true') ♟
  72. td.H7(data-id='H7', draggable='true')
  73. a.black.pawn(draggable='true') ♟
  74. tr
  75. td.A6(data-id='A6')
  76. td.B6(data-id='B6')
  77. td.C6(data-id='C6')
  78. td.D6(data-id='D6')
  79. td.E6(data-id='E6')
  80. td.F6(data-id='F6')
  81. td.G6(data-id='G6')
  82. td.H6(data-id='H6')
  83. tr
  84. td.A5(data-id='A5')
  85. td.B5(data-id='B5')
  86. td.C5(data-id='C5')
  87. td.D5(data-id='D5')
  88. td.E5(data-id='E5')
  89. td.F5(data-id='F5')
  90. td.G5(data-id='G5')
  91. td.H5(data-id='H5')
  92. tr
  93. td.A4(data-id='A4')
  94. td.B4(data-id='B4')
  95. td.C4(data-id='C4')
  96. td.D4(data-id='D4')
  97. td.E4(data-id='E4')
  98. td.F4(data-id='F4')
  99. td.G4(data-id='G4')
  100. td.H4(data-id='H4')
  101. tr
  102. td.A3(data-id='A3')
  103. td.B3(data-id='B3')
  104. td.C3(data-id='C3')
  105. td.D3(data-id='D3')
  106. td.E3(data-id='E3')
  107. td.F3(data-id='F3')
  108. td.G3(data-id='G3')
  109. td.H3(data-id='H3')
  110. tr
  111. td.A2(data-id='A2', draggable='true')
  112. a.white.pawn(draggable='true') ♙
  113. td.B2(data-id='B2', draggable='true')
  114. a.white.pawn(draggable='true') ♙
  115. td.C2(data-id='C2', draggable='true')
  116. a.white.pawn(draggable='true') ♙
  117. td.D2(data-id='D2', draggable='true')
  118. a.white.pawn(draggable='true') ♙
  119. td.E2(data-id='E2', draggable='true')
  120. a.white.pawn(draggable='true') ♙
  121. td.F2(data-id='F2', draggable='true')
  122. a.white.pawn(draggable='true') ♙
  123. td.G2(data-id='G2', draggable='true')
  124. a.white.pawn(draggable='true') ♙
  125. td.H2(data-id='H2', draggable='true')
  126. a.white.pawn(draggable='true') ♙
  127. tr
  128. td.A1(data-id='A1', draggable='true')
  129. a.white.rook(draggable='true') ♖
  130. td.B1(data-id='B1', draggable='true')
  131. a.white.knight(draggable='true') ♘
  132. td.C1(data-id='C1', draggable='true')
  133. a.white.bishop(draggable='true') ♗
  134. td.D1(data-id='D1', draggable='true')
  135. a.white.queen(draggable='true') ♕
  136. td.E1(data-id='E1', draggable='true')
  137. a.white.king(draggable='true') ♔
  138. td.F1(data-id='F1', draggable='true')
  139. a.white.bishop(draggable='true') ♗
  140. td.G1(data-id='G1', draggable='true')
  141. a.white.knight(draggable='true') ♘
  142. td.H1(data-id='H1', draggable='true')
  143. a.white.rook(draggable='true') ♖
  144. table.chessboard.black(style='display: none;')
  145. tr
  146. td.H1(data-id='H1', draggable='true')
  147. a.white.rook(draggable='true') ♖
  148. td.G1(data-id='G1', draggable='true')
  149. a.white.knight(draggable='true') ♘
  150. td.F1(data-id='F1', draggable='true')
  151. a.white.bishop(draggable='true') ♗
  152. td.E1(data-id='E1', draggable='true')
  153. a.white.king(draggable='true') ♔
  154. td.D1(data-id='D1', draggable='true')
  155. a.white.queen(draggable='true') ♕
  156. td.C1(data-id='C1', draggable='true')
  157. a.white.bishop(draggable='true') ♗
  158. td.B1(data-id='B1', draggable='true')
  159. a.white.knight(draggable='true') ♘
  160. td.A1(data-id='A1', draggable='true')
  161. a.white.rook(draggable='true') ♖
  162. tr
  163. td.H2(data-id='H2', draggable='true')
  164. a.white.pawn(draggable='true') ♙
  165. td.G2(data-id='G2', draggable='true')
  166. a.white.pawn(draggable='true') ♙
  167. td.F2(data-id='F2', draggable='true')
  168. a.white.pawn(draggable='true') ♙
  169. td.E2(data-id='E2', draggable='true')
  170. a.white.pawn(draggable='true') ♙
  171. td.D2(data-id='D2', draggable='true')
  172. a.white.pawn(draggable='true') ♙
  173. td.C2(data-id='C2', draggable='true')
  174. a.white.pawn(draggable='true') ♙
  175. td.B2(data-id='B2', draggable='true')
  176. a.white.pawn(draggable='true') ♙
  177. td.A2(data-id='A2', draggable='true')
  178. a.white.pawn(draggable='true') ♙
  179. tr
  180. td.H3(data-id='H3')
  181. td.G3(data-id='G3')
  182. td.F3(data-id='F3')
  183. td.E3(data-id='E3')
  184. td.D3(data-id='D3')
  185. td.C3(data-id='C3')
  186. td.B3(data-id='B3')
  187. td.A3(data-id='A3')
  188. tr
  189. td.H4(data-id='H4')
  190. td.G4(data-id='G4')
  191. td.F4(data-id='F4')
  192. td.E4(data-id='E4')
  193. td.D4(data-id='D4')
  194. td.C4(data-id='C4')
  195. td.B4(data-id='B4')
  196. td.A4(data-id='A4')
  197. tr
  198. td.H5(data-id='H5')
  199. td.G5(data-id='G5')
  200. td.F5(data-id='F5')
  201. td.E5(data-id='E5')
  202. td.D5(data-id='D5')
  203. td.C5(data-id='C5')
  204. td.B5(data-id='B5')
  205. td.A5(data-id='A5')
  206. tr
  207. td.H6(data-id='H6')
  208. td.G6(data-id='G6')
  209. td.F6(data-id='F6')
  210. td.E6(data-id='E6')
  211. td.D6(data-id='D6')
  212. td.C6(data-id='C6')
  213. td.B6(data-id='B6')
  214. td.A6(data-id='A6')
  215. tr
  216. td.H7(data-id='H7', draggable='true')
  217. a.black.pawn(draggable='true') ♟
  218. td.G7(data-id='G7', draggable='true')
  219. a.black.pawn(draggable='true') ♟
  220. td.F7(data-id='F7', draggable='true')
  221. a.black.pawn(draggable='true') ♟
  222. td.E7(data-id='E7', draggable='true')
  223. a.black.pawn(draggable='true') ♟
  224. td.D7(data-id='D7', draggable='true')
  225. a.black.pawn(draggable='true') ♟
  226. td.C7(data-id='C7', draggable='true')
  227. a.black.pawn(draggable='true') ♟
  228. td.B7(data-id='B7', draggable='true')
  229. a.black.pawn(draggable='true') ♟
  230. td.A7(data-id='A7', draggable='true')
  231. a.black.pawn(draggable='true') ♟
  232. tr
  233. td.H8(data-id='H8', draggable='true')
  234. a.black.rook(draggable='true') ♜
  235. td.G8(data-id='G8', draggable='true')
  236. a.black.knight(draggable='true') ♞
  237. td.F8(data-id='F8', draggable='true')
  238. a.black.bishop(draggable='true') ♝
  239. td.E8(data-id='E8', draggable='true')
  240. a.black.king(draggable='true') ♚
  241. td.D8(data-id='D8', draggable='true')
  242. a.black.queen(draggable='true') ♛
  243. td.C8(data-id='C8', draggable='true')
  244. a.black.bishop(draggable='true') ♝
  245. td.B8(data-id='B8', draggable='true')
  246. a.black.knight(draggable='true') ♞
  247. td.A8(data-id='A8', draggable='true')
  248. a.black.rook(draggable='true') ♜
  249. table#moves.clearfix
  250. thead
  251. tr
  252. th Table of moves
  253. tbody
  254. tr
  255. span.promotion
  256. label(id='for_promotion') Promotion:
  257. select(id='promotion')
  258. option(value='q', selected) Queen
  259. option(value='r') Rook
  260. option(value='n') Knight
  261. option(value='b') Bishop
  262. span.feedback.whitefeedback
  263. span.feedback-move White to move.
  264. span.feedback-status
  265. block scripts
  266. script(type='text/javascript', src='/js/play.js')