30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

556 B. Vollständige Implementation des Memory Spiels<br />

B.1.11 Implementation von MemoryCardpair<br />

1 // memory cardpair . cpp − implementation o f MemoryCardpair<br />

2<br />

3 #<strong>in</strong>clude < c s t r i n g><br />

4<br />

5 #<strong>in</strong>clude ”memory cardpair . h”<br />

6<br />

7 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

8 void MemoryCardpair : : turnCardOneFrontSideUp (<br />

9 u<strong>in</strong>t32 row , u<strong>in</strong>t32 c o l , MemoryGameboard &gameboard )<br />

10 {<br />

11 card1 row = row ;<br />

12 c a r d 1 c o l = c o l ;<br />

13 c a r d s e t s t a t u s |= CARD ONE SET;<br />

14 MemoryGameCard ∗ card = gameboard . getCard ( row , c o l ) ;<br />

15 i f ( ! card )<br />

16 return ;<br />

17 i f ( card−>g e t V i s i b l e S i d e () == MemoryGameCard : : FRONT SIDE)<br />

18 return ;<br />

19 gameboard . putCardFrontSideUp ( row , c o l ) ;<br />

20 c a r d s e t s t a t u s |= CARD ONE TURNED;<br />

21 }<br />

22<br />

23 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

24 void MemoryCardpair : : turnCardTwoFrontSideUp (<br />

25 u<strong>in</strong>t32 row , u<strong>in</strong>t32 c o l , MemoryGameboard &gameboard )<br />

26 {<br />

27 card2 row = row ;<br />

28 c a r d 2 c o l = c o l ;<br />

29 c a r d s e t s t a t u s |= CARD TWO SET;<br />

30 MemoryGameCard ∗ card = gameboard . getCard ( row , c o l ) ;<br />

31 i f ( ! card )<br />

32 return ;<br />

33 i f ( card−>g e t V i s i b l e S i d e () == MemoryGameCard : : FRONT SIDE)<br />

34 return ;<br />

35 gameboard . putCardFrontSideUp ( row , c o l ) ;<br />

36 c a r d s e t s t a t u s |= CARD TWO TURNED;<br />

37 }<br />

38<br />

39 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

40 bool MemoryCardpair : : cardSymbolsMatch<strong>in</strong>g (<br />

41 MemoryGameboard &gameboard )<br />

42 {<br />

43 i f ( ( c a r d s e t s t a t u s & CARD SET BITS) ! = CARD SET BITS)<br />

44 return ( false ) ; // not both cards were s e l e c t e d<br />

45 MemoryGameCard ∗ card1 = ( c a r d s e t s t a t u s & CARD ONE SET) ?<br />

46 gameboard . getCard ( card1 row ,<br />

47 c a r d 1 c o l ) : 0 ;<br />

48 MemoryGameCard ∗ card2 = ( c a r d s e t s t a t u s & CARD TWO SET) ?<br />

49 gameboard . getCard ( card2 row ,<br />

50 c a r d 2 c o l ) : 0 ;<br />

51 i f ( ( ! card1 ) | | ( ! card2 ) )<br />

52 return ( false ) ; // at l e a s t one o f the cards does not e x i s t<br />

53 return ( ! strcmp ( card1−>getFrontSymbol ( ) , card2−>getFrontSymbol ( ) ) ) ;<br />

54 }<br />

55<br />

56 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

57 void MemoryCardpair : : turnCardsBackToTheirOrig<strong>in</strong>alState (<br />

58 MemoryGameboard &gameboard )<br />

59 {<br />

60 i f ( c a r d s e t s t a t u s & CARD ONE TURNED)<br />

61 gameboard . putCardBackSideUp ( card1 row , c a r d 1 c o l ) ;<br />

62 i f ( c a r d s e t s t a t u s & CARD TWO TURNED)<br />

63 gameboard . putCardBackSideUp ( card2 row , c a r d 2 c o l ) ;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!