17
Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Sudoku Game Design Language(SGDL)

Sijue TanRongzheng Yan

Yu Shao Yigang Zhang William Chan

Page 2: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Sudoku Game & Grid Games

Page 3: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Introduction

Overview Language for Sudoku fans and Programmer Generate Sudoku games Or any Grid games

Motivation To present a language that can define rules of

Grid game and generate the game. To attract people into a logic-reasoning way of

thinking

 Features What we can do What we cannot do

Page 4: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Introduction

Page 5: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Architecture

Token

Scanner

Parser

Compiler

AST of SGDL

Strg

Chkg

strBytecode Action

Lit

Gcol

Grow

Sfp

SGDL PrintOut1*2*3*6*56*5*3*2*16*1*2*3*45*2865*586*5*2*1*7

Bytecode

Execute

Page 6: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Tech we used

Page 7: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Tech we used

Programming Language perspective

Stack and Grid

(value, bool) [“0”]

81

30

2048

Page 8: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Sample

Generate random Sudoku whole solution

Cover some number of the grid

Page 9: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Sample Program• Array num; /*global variable declaration*/

• main() /*Entry point of SGDL program*/

• begin• int i; int j;int k; int a; int col; int ran; /*Local declaration*/• string s;• Array tempt1;• num ~ [|1,2,3,4,5,6,7,8,9|]; /*Assignment*/• for (i~1;i<10;i++)• begin• Grid.Cell(1,i) ~ generateNum(1,i); /*Grid object*/• end• printg();• print(Grid.Cell(1,1));• for(j~2;j<10;j++) /*Nested for loops*/• begin• for (k~1;k<10;k++)• begin•

Page 10: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Sample Program• if(k=9) /*If condition statement*/• begin• Grid.Cell(j,9) ~ Grid.Cell(j-1,1);• end• else• begin• Grid.Cell(j,k) ~ Grid.Cell(j-1,k+1);• end• end• end• tempt1 ~ Grid.Row(2); /*row exchange*/• Grid.Row(2) ~ Grid.Row(4);• Grid.Row(4) ~tempt1;

• printg(); /*print out the whole grid*/

Page 11: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Developing Process--Tools

Page 12: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Developing Process

Test Different aspects

Operators +-*/ ~ Functions Data structures array grid Sample program

Auto test Makefile Test.sh

Problems and Solutions

Page 13: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Developing Process

Page 14: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

What we will do

User input

User interface

Other grid gameCross word

Non-rectangle grid

Page 15: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Lesson Learned

Team cooperation share ideas Team schedule Or any Grid games

O’caml is different but it is fun to study!

Tools for software developingGoogle Docs Google Codes (SVN)

Page 16: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan

Another Attempt

Java AST

Generate java code

Page 17: Sudoku Game Design Language (SGDL) Sijue Tan Rongzheng Yan Yu Shao Yigang Zhang William Chan