Merge pull request #23 from greno4ka/windetect
Detect possible win situation
This commit is contained in:
		
						commit
						923063a6cc
					
				
							
								
								
									
										14
									
								
								src/game.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/game.c
									
									
									
									
									
								
							| @ -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; | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user