The UNO card game for card-simulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

62 lines
1.3 KiB

fn setup(data) {
print("Setting up UNO for " + data.players + " players");
// print(data.piles.deck);
data.piles.deck = shuffle(data.piles.deck);
// print(data.piles.deck);
// print(data.player_piles);
for i in range(0, 2) {
// print(i);
for player_idx in range(0, data.player_piles.len) {
// print("Deck" + player);
let drawed_card = data.piles.deck.cards.pop();
// print(player.deck.cards);
data.player_piles[player_idx].deck.cards.push(drawed_card);
// print(player.deck.cards);
}
}
// print(data.player_piles);
// print(data.piles.deck);
data.fw = true;
return data;
}
fn turn_end(data, player) {
print("Turn for " + player + " ending");
if data.fw {
player.add(1);
}else{
player.sub(1);
}
return [data, player];
}
fn turn_start(data, player) {
print("Turn for " + player + " starting");
return data;
}
fn on_click(data, card, action_author, current_player) {
if action_author == current_player {
if card.pile_kind == "common" {
if card.pile_name == "deck" {
// Get a card from the deck
let c = data.pop_card(card);
data.player_piles[player.val].deck.cards.push(c);
}
}else{
if card.pile_name == "deck" {
let c = data.pop_card(card);
data.piles.placed.cards.push(c);
}
}
return [data, true];
}
return [data, false];
}