Author: hhubner Date: 2007-10-14 16:28:22 -0400 (Sun, 14 Oct 2007) New Revision: 2240
Modified: branches/trunk-reorg/projects/scrabble/src/game.lisp branches/trunk-reorg/projects/scrabble/src/web.lisp branches/trunk-reorg/projects/scrabble/website/scrabble.css branches/trunk-reorg/projects/scrabble/website/scrabble.html branches/trunk-reorg/projects/scrabble/website/scrabble.js Log: tweak json output so that letters of the logged-on user are transmitted, other player's trays are reported as counts only. add html/css to display other player trays and score.
Modified: branches/trunk-reorg/projects/scrabble/src/game.lisp =================================================================== --- branches/trunk-reorg/projects/scrabble/src/game.lisp 2007-10-14 19:27:25 UTC (rev 2239) +++ branches/trunk-reorg/projects/scrabble/src/game.lisp 2007-10-14 20:28:22 UTC (rev 2240) @@ -29,7 +29,7 @@ (define-condition no-tiles-remaining (simple-error) ())
-(defmethod draw-tile ((tile-bag tile-bag)) +(deftransaction draw-tile (tile-bag) (unless (plusp (remaining-tile-count tile-bag)) (error 'no-tiles-remaining)) (with-slots (tiles) tile-bag
Modified: branches/trunk-reorg/projects/scrabble/src/web.lisp =================================================================== --- branches/trunk-reorg/projects/scrabble/src/web.lisp 2007-10-14 19:27:25 UTC (rev 2239) +++ branches/trunk-reorg/projects/scrabble/src/web.lisp 2007-10-14 20:28:22 UTC (rev 2240) @@ -37,8 +37,13 @@ (princ #] stream))
(defmethod encode-json ((participant participant) stream) - (encode-json-alist (list :name (user-full-name (player-of participant)) - :remaining-tiles (length (tray-of participant))) + (start-session) + (encode-json-alist (append (list :name (user-full-name (player-of participant)) + :remaining-tiles) + (list (if (equal (user-login (player-of participant)) + (session-value :user)) + (tray-of participant) + (length (tray-of participant))))) stream))
(define-easy-handler (login :uri "/login" :default-request-type :post)
Modified: branches/trunk-reorg/projects/scrabble/website/scrabble.css =================================================================== --- branches/trunk-reorg/projects/scrabble/website/scrabble.css 2007-10-14 19:27:25 UTC (rev 2239) +++ branches/trunk-reorg/projects/scrabble/website/scrabble.css 2007-10-14 20:28:22 UTC (rev 2240) @@ -1,4 +1,4 @@ -body { background-color: #004B36 } +body { background-color: #004B36; color: #ffffff; font-family: sans-serif } #playfield { position: absolute } #playfield div { position: absolute; width: 40px; height: 40px } #playfield img { position: absolute; top: 3px; left: 3px } @@ -234,3 +234,43 @@ #playfield #my-tray-4 { left: 346; top: 665 } #playfield #my-tray-5 { left: 384; top: 665 } #playfield #my-tray-6 { left: 422; top: 665 } +#playfield #their-name-0 { left: 670; top: 0 } +#playfield #their-score-0 { left: 887; top: 0; text-align: right } +#playfield #their-tray-0-0 { left: 665; top: 22 } +#playfield #their-tray-0-1 { left: 703; top: 22 } +#playfield #their-tray-0-2 { left: 741; top: 22 } +#playfield #their-tray-0-3 { left: 779; top: 22 } +#playfield #their-tray-0-4 { left: 817; top: 22 } +#playfield #their-tray-0-5 { left: 855; top: 22 } +#playfield #their-tray-0-6 { left: 893; top: 22 } + +#playfield #their-name-1 { left: 670; top: 66 } +#playfield #their-score-1 { left: 887; top: 66; text-align: right } +#playfield #their-tray-1-0 { left: 665; top: 88 } +#playfield #their-tray-1-1 { left: 703; top: 88 } +#playfield #their-tray-1-2 { left: 741; top: 88 } +#playfield #their-tray-1-3 { left: 779; top: 88 } +#playfield #their-tray-1-4 { left: 817; top: 88 } +#playfield #their-tray-1-5 { left: 855; top: 88 } +#playfield #their-tray-1-6 { left: 893; top: 88 } + +#playfield #their-name-2 { left: 670; top: 132 } +#playfield #their-score-2 { left: 887; top: 132; text-align: right } +#playfield #their-tray-2-0 { left: 665; top: 154 } +#playfield #their-tray-2-1 { left: 703; top: 154 } +#playfield #their-tray-2-2 { left: 741; top: 154 } +#playfield #their-tray-2-3 { left: 779; top: 154 } +#playfield #their-tray-2-4 { left: 817; top: 154 } +#playfield #their-tray-2-5 { left: 855; top: 154 } +#playfield #their-tray-2-6 { left: 893; top: 154 } + +#playfield #their-name-3 { left: 670; top: 198 } +#playfield #their-score-3 { left: 887; top: 198; text-align: right } +#playfield #their-tray-3-0 { left: 665; top: 220 } +#playfield #their-tray-3-1 { left: 703; top: 220 } +#playfield #their-tray-3-2 { left: 741; top: 220 } +#playfield #their-tray-3-3 { left: 779; top: 220 } +#playfield #their-tray-3-4 { left: 817; top: 220 } +#playfield #their-tray-3-5 { left: 855; top: 220 } +#playfield #their-tray-3-6 { left: 893; top: 220 } +
Modified: branches/trunk-reorg/projects/scrabble/website/scrabble.html =================================================================== --- branches/trunk-reorg/projects/scrabble/website/scrabble.html 2007-10-14 19:27:25 UTC (rev 2239) +++ branches/trunk-reorg/projects/scrabble/website/scrabble.html 2007-10-14 20:28:22 UTC (rev 2240) @@ -238,6 +238,42 @@ <div id='my-tray-4'></div> <div id='my-tray-5'></div> <div id='my-tray-6'></div> + <div id='their-name-0'>Horst</div> + <div id='their-score-0'>192</div> + <div id='their-tray-0-0'><img src="images/NIL.png"/></div> + <div id='their-tray-0-1'><img src="images/NIL.png"/></div> + <div id='their-tray-0-2'><img src="images/NIL.png"/></div> + <div id='their-tray-0-3'><img src="images/NIL.png"/></div> + <div id='their-tray-0-4'><img src="images/NIL.png"/></div> + <div id='their-tray-0-5'><img src="images/NIL.png"/></div> + <div id='their-tray-0-6'><img src="images/NIL.png"/></div> + <div id='their-name-1'>Vladimir</div> + <div id='their-score-1'>188</div> + <div id='their-tray-1-0'><img src="images/NIL.png"/></div> + <div id='their-tray-1-1'><img src="images/NIL.png"/></div> + <div id='their-tray-1-2'><img src="images/NIL.png"/></div> + <div id='their-tray-1-3'><img src="images/NIL.png"/></div> + <div id='their-tray-1-4'><img src="images/NIL.png"/></div> + <div id='their-tray-1-5'><img src="images/NIL.png"/></div> + <div id='their-tray-1-6'><img src="images/NIL.png"/></div> + <div id='their-name-2'>Klarabella</div> + <div id='their-score-2'>190</div> + <div id='their-tray-2-0'><img src="images/NIL.png"/></div> + <div id='their-tray-2-1'><img src="images/NIL.png"/></div> + <div id='their-tray-2-2'><img src="images/NIL.png"/></div> + <div id='their-tray-2-3'><img src="images/NIL.png"/></div> + <div id='their-tray-2-4'><img src="images/NIL.png"/></div> + <div id='their-tray-2-5'><img src="images/NIL.png"/></div> + <div id='their-tray-2-6'><img src="images/NIL.png"/></div> + <div id='their-name-3'>Heidi</div> + <div id='their-score-3'>210</div> + <div id='their-tray-3-0'><img src="images/NIL.png"/></div> + <div id='their-tray-3-1'><img src="images/NIL.png"/></div> + <div id='their-tray-3-2'><img src="images/NIL.png"/></div> + <div id='their-tray-3-3'><img src="images/NIL.png"/></div> + <div id='their-tray-3-4'><img src="images/NIL.png"/></div> + <div id='their-tray-3-5'><img src="images/NIL.png"/></div> + <div id='their-tray-3-6'><img src="images/NIL.png"/></div> </div> </body> </html> \ No newline at end of file
Modified: branches/trunk-reorg/projects/scrabble/website/scrabble.js =================================================================== --- branches/trunk-reorg/projects/scrabble/website/scrabble.js 2007-10-14 19:27:25 UTC (rev 2239) +++ branches/trunk-reorg/projects/scrabble/website/scrabble.js 2007-10-14 20:28:22 UTC (rev 2240) @@ -8,6 +8,13 @@ $('my-tray-' + n).innerHTML = letter ? '<img src="images/' + letter + '.png"/>' : ''; }
+function setTheirTray(count, name, letterCount) { + $('their-name-' + count).innerHTML = name; + for (var i = 0; i < 7; i++) { + $('their-tray-' + count + '-' + i).style.visibility = (i < letterCount) ? 'visible' : 'hidden'; + } +} + function drawGameState (gameState) { for (var i = 0; i < gameState.board.length; i++) { var x = gameState.board[i][0]; @@ -26,13 +33,6 @@ for (var i = 0; i < 7; i++) { $('my-tray-' + i).onclick = trayClick; } - setMyTray(0, 'A'); - setMyTray(1, 'B'); - setMyTray(2, 'C'); - setMyTray(3, 'D'); - setMyTray(4, 'E'); - setMyTray(5, 'F'); - setMyTray(6, 'G'); var d = loadJSONDoc("/game/108"); d.addCallbacks(drawGameState, alert); }