#include #include #include "play.h" bool valid_play(Hand *field, Card *played, Card *target) { if (target == NULL) { bool matching_month_in_field = false; for (int i = 0; i < field->count; i++) { if (field->cards[i]->month == played->month) { matching_month_in_field = true; break; } } return !matching_month_in_field; } else { bool target_in_field = false; for (int i = 0; i < field->count; i++) { if (field->cards[i]->index == target->index) { target_in_field = true; break; } } if (!target_in_field) return false; return played->month == target->month; } }