Added functions to draw the game's cards.
This commit is contained in:
		
							parent
							
								
									d47406f1e4
								
							
						
					
					
						commit
						65a8b5e0e3
					
				@ -1,9 +1,11 @@
 | 
				
			|||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <ncurses.h>
 | 
					#include <ncurses.h>
 | 
				
			||||||
#include <malloc.h>
 | 
					#include <malloc.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#include <locale.h>
 | 
					#include <locale.h>
 | 
				
			||||||
#include "deck.h"
 | 
					#include "deck.h"
 | 
				
			||||||
#include "display.h"
 | 
					#include "display.h"
 | 
				
			||||||
 | 
					#include "../debug/deck_debug.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void init_curses() {
 | 
					void init_curses() {
 | 
				
			||||||
  setlocale(LC_ALL, "");    /* supporting unicode characters          */
 | 
					  setlocale(LC_ALL, "");    /* supporting unicode characters          */
 | 
				
			||||||
@ -54,7 +56,13 @@ void initialize_game() {
 | 
				
			|||||||
  draw_empty_stacks();
 | 
					  draw_empty_stacks();
 | 
				
			||||||
  allocate_deck(&deck);
 | 
					  allocate_deck(&deck);
 | 
				
			||||||
  initialize_deck(deck);
 | 
					  initialize_deck(deck);
 | 
				
			||||||
 | 
					  set_deck_stacks_coordinates(deck);
 | 
				
			||||||
  fill_deck(deck);
 | 
					  fill_deck(deck);
 | 
				
			||||||
 | 
					  shuffle_deck(deck);
 | 
				
			||||||
 | 
					  deal_cards(deck);
 | 
				
			||||||
 | 
					  draw_game(deck);
 | 
				
			||||||
 | 
					  endwin();
 | 
				
			||||||
 | 
					  /*print_deck(deck);*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return;
 | 
					  return;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -138,11 +146,45 @@ void draw_back(struct card *card) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void draw_card(struct card *card) {
 | 
					void draw_card(struct card *card) {
 | 
				
			||||||
 | 
					  mvwin(card->frame->shape, card->frame->start_y, card->frame->start_x);
 | 
				
			||||||
  if (card->face == EXPOSED) {
 | 
					  if (card->face == EXPOSED) {
 | 
				
			||||||
    draw_front(card);
 | 
					    draw_front(card);
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    draw_back(card);
 | 
					    draw_back(card);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  wrefresh(card->frame->shape);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void draw_stack(struct stack *stack) {
 | 
				
			||||||
 | 
					  if (!empty(stack)) {
 | 
				
			||||||
 | 
					    struct stack *iterator = stack;
 | 
				
			||||||
 | 
					    while (iterator != NULL) {
 | 
				
			||||||
 | 
					      draw_card(iterator->card);
 | 
				
			||||||
 | 
					      iterator = iterator->next;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void draw_game(struct deck *deck) {
 | 
				
			||||||
 | 
					  draw_stack(deck->stock);
 | 
				
			||||||
 | 
					  draw_stack(deck->waste_pile);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  draw_stack(deck->foundation_0);
 | 
				
			||||||
 | 
					  draw_stack(deck->foundation_1);
 | 
				
			||||||
 | 
					  draw_stack(deck->foundation_2);
 | 
				
			||||||
 | 
					  draw_stack(deck->foundation_3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_0);
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_1);
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_2);
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_3);
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_4);
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_5);
 | 
				
			||||||
 | 
					  draw_stack(deck->maneuvre_6);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return;
 | 
					  return;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,7 @@
 | 
				
			|||||||
#define DISPLAY_H
 | 
					#define DISPLAY_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "card.h"
 | 
					#include "card.h"
 | 
				
			||||||
 | 
					#include "deck.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define EMPTY_STACKS_NUMBER 13
 | 
					#define EMPTY_STACKS_NUMBER 13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -24,5 +25,7 @@ void draw_suit(struct card *);
 | 
				
			|||||||
void draw_front(struct card *);
 | 
					void draw_front(struct card *);
 | 
				
			||||||
void draw_back(struct card *);
 | 
					void draw_back(struct card *);
 | 
				
			||||||
void draw_card(struct card *);
 | 
					void draw_card(struct card *);
 | 
				
			||||||
 | 
					void draw_stack(struct stack *);
 | 
				
			||||||
 | 
					void draw_game(struct deck *);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user