You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
% This file maintains common symbol constraints
|
|
|
|
% Since we are modelling each symbol individually (and not "on-a-card"), this results in
|
|
|
|
% symbol counts being calculated in isolation.
|
|
|
|
% Sanity constraints on each symbol file individually ensure
|
|
|
|
% that atleast one card of the symbol was played by the correct played
|
|
|
|
% they do not ensure that across symbols
|
|
|
|
% and hence, the same card may end up getting counted twice for different symbols.
|
|
|
|
% this file prevents such issues
|
|
|
|
% and may ultimately end up replacing separate symbol counters
|
|
|
|
|
|
|
|
constraint forall(r in Rounds, a in Artists) (
|
|
|
|
% Total number of cards played by all players
|
|
|
|
% MINUS total number of Draw One Cards played by all players
|
|
|
|
sum (p in Players) (
|
|
|
|
visible_count_per_round_per_artist_per_player[r,p,a] - DrawOneCard[r,p,a]
|
|
|
|
)
|
|
|
|
% MINUS total number of awards given this round
|
|
|
|
- (if AwardPlayedInRound[a] = r /\ AwardGiven[a] then 1 else 0 endif)
|
|
|
|
% Is the number of Symbol Cards played this turn
|
|
|
|
% and it can't be negative
|
|
|
|
>= 0
|
|
|
|
);
|