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()