Cr me Anthony Chan Cheryl Lau James Leslie Joshua Mackler What is Cr me Cards Really Excite ME Language to specify card games Automatic GUI generation Why create Cr me When using less domain specific languages Java C Writing card games takes time GUI tedious User interaction troublesome Most card games share common ground Cr me is the Solution Everyone loves card games Why use Cr me Quick development of card games with focus on Cards Layout Rules Compact Concise Variable Intuitive A look at Cr me Defining Cards Standard Deck Deck Ranksys 1 King Queen Jack Ten Nine Eight Seven Six Five Four Three Two Ace Deck Ranksys 2 SPADES HEARTS CLUBS DIAMONDS Deck Ranksys 3 BLACK RED and Colorizing feature last dimension A look at Cr me Defining Layout Creating a Grid and dealing cards Grid 7 2 Deck deal Grid 0 2 1 0 1 Deck deal Grid 0 6 0 1 2 0 Deck deal Grid 0 0 0 Grid x y visible non visible A look at Cr me Defining Rules Descending cards Grid 0 6 1 rules place 1 Conditionals Grid 0 6 1 rules if isEmpty then place Three else place 1 Take Place Action A deeper look at Cr me Lexing Parsing Tree Walking A deeper look at Cr me Deck Grid Rules GUI Cr me in Action Testing Cr me Individual Module testing Incremental Integration testing Used console print statements instead of intermediate file format Tested each program for correct behavior Lessons Learned from Cr me Dedicate a lot of time into choosing a cool name Get an early start and communicate regularly Divide and Conquer Make deadlines and enforce them Don t go to Vegas the weekend before PLT is due
View Full Document
Unlocking...