Merge pull request #23 from greno4ka/windetect

Detect possible win situation
This commit is contained in:
Murilo Pereira 2018-08-12 23:17:16 +02:00 committed by GitHub
commit 923063a6cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -206,8 +206,14 @@ void game_end() {
}
bool game_won() {
return(stack_length(deck->foundation[0]) == 13 &&
stack_length(deck->foundation[1]) == 13 &&
stack_length(deck->foundation[2]) == 13 &&
stack_length(deck->foundation[3]) == 13);
// if any card is covered, game is not won
for (int i = 0; i < MANEUVRE_STACKS_NUMBER; i++)
for (struct stack *j = deck->maneuvre[i]; j!= NULL; j = j->next)
if (j->card->face == COVERED)
return false;
// else look in stock and waste pile
if (stack_empty(deck->stock) &&
stack_empty(deck->waste_pile))
return true;
else return false;
}