design statement for RockPaperScissors game 7/05/11
goals
Game is person versus computer. Select either to play first. Offer levels of difficulty. Mid-level is random. Easy level plays to lose to computer's prediction for person's move. Pseudo-code for most rudimentary strategy:
If count(rock) >count(paper) and count(rock) > count(scissors)
play paper // beat rock
else
If count(paper) > count(rock) and count(paper) > count(scissors)
play scissors // beat paper
else
play rock;
play paper // beat rock
else
If count(paper) > count(rock) and count(paper) > count(scissors)
play scissors // beat paper
else
play rock;
Log person/phone/result history. Show who won and why. Keep score for a session of games. Keep record of session scores. Help should be unnecessary. Undo.
user interface
Main screen - portrait only. Choose instructions / play-level / philosophy. Press go button to get to intended screen.
Game screen - portrait only
Rub finger down-up-down-up-down, resembling pumping your arm. Stick figure's arms move up and down with rub. Error message for incomplete rub? Display a graphic showing winner and score. Display phone's next turn. Use menu to turn it off. (1)
implementation
Develop graphics (2)
Modify tic tac toe, progressively morphing to RPS
Modify web pictures to fit on screen.
Substitute web picture for play-field.
Play, see arm movement per pointer position.
See different graphic for win/lose/draw 3 pics.
See different graphic for win/lose/draw 9 pics.
Cosmetic changes.
Develop input handler
track movement by drawing free-form line.
require up-down threshholds for movement?
Score round on pointer-up instead of I'm ready button.
Develop strategies
Create random prediction for move.
Predict person favoring rock, paper, or scissors.
Paths Beyond.
Play two person game, same device.
Play two person game, different devices.
More elaborate strategies.
Keep a community record of scores.
Allow user to create their own strategies.
.
Discussion
- Someone complained that a computer backgammon game demonstrated at Radio Shack cheated. Whenever it needed a good dice roll, it got one. The Desktop version of RPS had the computer's next move at the bottom of the screen. Criticism was that the package was incomplete. People didn't want to cover the next move on the screen with a card. The web version allowed you to scroll down to see the next move. Early versions of Javascript didn't allow the computer to know if you peeked. The illusion of trustworthiness persists. This version allows you to make the next move invisible with a menu. Most people don't care, find this discussion tedious.
No comments:
Post a Comment