Structure of Cupcake

Cupcake
Group:
Jeansun Lee
David Coulthart
Jennifer Lee
Russell Irving Klopfer, IV
Alan Yeung
Outline







Introduction (jeansun)
Structure of Cupcake (dave)
Sample Program (jenly/GUI)
Testing (russ)
Tools Used (alan)
Future Development (alan)
What We Learned (jeansun)
Introduction

Purpose: create simple board games




Example: CandyLand
Kid-friendly language
Easy, fun way to learn computer
programming
Target language: Java
Structure of Cupcake

Four basic components:




Setup{…}
Start{…}
Turn{…}
Win{…}
Structure of Cupcake

Reserved objects




Dice
Board
Players
CurrentPlayer
Structure of Cupcake

Internal functions






Say
Ask
RollDice
MoveAhead
MoveBack
MoveTo
Structure of Cupcake



Grammar similar to Java
Support if, while,
But simpler
Sample Program
Setup {
Board.Spaces = 100;
Dice.Sides = 6;
Dice.Number = 1;
}
Turn {
RollDice;
MoveAhead Dice.Value;
Start {
Ask "How many players?",
Players.Number;
}
for i = 1 to Players.Number {
Ask "Please enter player " +
i + "s name.", Players[i].Name;
}
}
if (CurrentPlayer.Space == 89) {
MoveTo 50;
}
Win {
if (CurrentPlayer.Position >= Board.End)
{
if (CurrentPlayer.Points >= 20) {
Say "You won";
} else {
MoveTo
CurrentPlayer.PreviousPosition;
}
}
}
Sample Program

Screenshots
Tools Used
ANTLR
Future Development




Simpler programming interface
Support for more kinds of board games
Improved GUI
Animation, sound effects, etc.
What We Learned





Time management is hard
Collaboration is uber hard
Russell and Alan sleep a lot
Food is imperative during meetings
Most Difficult Concept:
-blah
Thanks




Chun Li, our helpful TA
Professor Aho
Terence Parr, aka Mr. ANTLR
The Russell Irving Klopfers, I, II, & III