Solitaire with Greenfoot #2

  • Upload
    imacat-

  • View
    509

  • Download
    1

Embed Size (px)

Citation preview

1

Greenfoot

[email protected]/6/15

CC Attribution-ShareAlike 3.0 Unported

(Method)

class UnflippedPile{ public void flipNextCard() { }}

class FlippedPile{ public void returnAllCards() { } public void moveToWorking() { } public void moveToResult() { }}

class WorkingPile{ public void moveToWorking() { } public void moveToResult() { }}

class ResultPile{ public void moveToWorking() { } public void moveToResult() { }}

methodmethodmethod


flipNextCard()

takeTopCard()

turnFaceUp()

addCard(Card card)


Table table = (Table) getWorld()

getWorld()UnflippedPileActorWorld


getWorld()UnflippedPileActorWorld

TableflippedPileaddCardflippedPileTableWorld

JavaWorldflippedPileTableflippedPile


type casting

(Table) getWorld()Cfloat pi = 3.1415926;

int p = (int) pi;


World world = table;

card.pile = unflippedPile;

Pile pile = unflippedPile;


Table table = (Table) getWorld();


FlippedPile pile = (FlippedPile) unflippedPile;

Card card = (Card) pile;

Table table = (Table) card;


WorldTable


ActorTableActorgetWorld()WorldTable


flipNextCard()

** * */public class UnflippedPile extends Pile{ /** * */ public void flipNextCard() { Table table = (Table) getWorld(); Card card = takeTopCard(); card.turnFaceUp(); table.flippedPile.addCard(card); }}


returnAllCards()

takeTopCard()

turnFaceDown()

addCard(Card newCard)


returnAllCards()


returnAllCards()

/** * */public class FlippedPile extends Pile{ /** * */ public void returnAllCards() { Table table = (Table) getWorld(); while (getSize() > 0) { Card card = takeTopCard(); card.turnFaceDown(); table.getUnflippedPile().addCard(card); } }}

solitaire-2

moveToWorking()moveToResult()