abstract Coin protected int money protected Game gm

  • Slides: 11
Download presentation

元件規劃與設計(一) <<abstract>> Coin 基本資料: protected int money ; protected Game gm; //不變 動作: 1.

元件規劃與設計(一) <<abstract>> Coin 基本資料: protected int money ; protected Game gm; //不變 動作: 1. int get. Money(); 2. abstract Game gen. Game(); //製造動作 3. boolean run. Game(Main. Window mw) { //樣版動作 gm = gen. Game(mw); //叫用製造動作 return gm. run(); //Game的樣板動作 } }

元件規劃與設計(二) <<abstract>> Game 基本資訊 protected Main. Window main. Window; 動作: 1. private void display.

元件規劃與設計(二) <<abstract>> Game 基本資訊 protected Main. Window main. Window; 動作: 1. private void display. Welcome. Message() 2. public abstract boolean start(); //卡榫 3. public boolean run() {//模板動作 : 遊戲開始 display. Welcome. Message(); return start(); //呼叫卡榫動作 } }

Coin類別 protected int money ; protected Game gm; public Coin(int m) { money =

Coin類別 protected int money ; protected Game gm; public Coin(int m) { money = m; } public int get. Money(){ return money; } public abstract Game gen. Game(Main. Window mw) ; public boolean run. Game(Main. Window mw) { gm=gen. Game(mw); //叫用製造動作 return gm. run(); //Game的樣板動作 }

Coin 1類別 � 每一個繼承Coin的類別需要實作一個抽象動作 ◦ abstract Game gen. Gam(Main. Window); //產生特殊的 遊戲 public Coin

Coin 1類別 � 每一個繼承Coin的類別需要實作一個抽象動作 ◦ abstract Game gen. Gam(Main. Window); //產生特殊的 遊戲 public Coin 1() { super(1); } public Game gen. Game(Main. Window mw) { return new Game 1(mw); }

Game類別 protected Main. Window main. Window; public Game(Main. Window mw) { main. Window =

Game類別 protected Main. Window main. Window; public Game(Main. Window mw) { main. Window = mw ; } private void display. Welcome. Message() { Message. Box msg = new Message. Box(main. Window); msg. show("準備開始遊戲了,祝你好運!"); } public boolean run() { display. Welcome. Message(); return start(); } //模板動作 //呼叫卡榫動作 public abstract boolean start(); //卡榫動作

Game 1類別 � 每一個繼承Game的類別需要實作一個抽象動作 ◦ abstract boolean start(); //遊戲的內容 public boolean start() { int

Game 1類別 � 每一個繼承Game的類別需要實作一個抽象動作 ◦ abstract boolean start(); //遊戲的內容 public boolean start() { int guess; Input. Box ib = new Input. Box(main. Window); Message. Box msg = new Message. Box(main. Window); msg. show("Welcome to the Coin Flip Game"); guess =ib. get. Integer("Enter a guess (1/0): "); if ( flip() == guess) { msg. show("You win!"); return true; } else { msg. show("You lose!"); return false ; } }

測試主程式 public void run() { int response; int sum = 0; do { random.

測試主程式 public void run() { int response; int sum = 0; do { random. Coins() ; //隨機�生 20個硬幣 sum = 0; for (int i=0; i<20; i++){ if (coins[i]. run. Game(main. Window)) { //if win sum += coins[i]. get. Money(); } } Message. Box msg = new Message. Box(main. Window); msg. show("Totally, you win " + sum + "!"); Response. Box rb = new Response. Box(main. Window) ; response = rb. prompt(" Continue ? "); } while (response == Response. Box. YES) ;