Browse Source

Update fort new version

main
ThePerkinrex 5 years ago
parent
commit
881b58d7eb
No known key found for this signature in database GPG Key ID: FD81DE6D75E20917
  1. BIN
      cards/colored/b+4.png
  2. 0
      cards/colored/b0.png
  3. 0
      cards/colored/b1.png
  4. 0
      cards/colored/b2.png
  5. 0
      cards/colored/b3.png
  6. BIN
      cards/colored/g+4.png
  7. 0
      cards/colored/g0.png
  8. 0
      cards/colored/g1.png
  9. 0
      cards/colored/g2.png
  10. 0
      cards/colored/g3.png
  11. BIN
      cards/colored/r+4.png
  12. 0
      cards/colored/r0.png
  13. 0
      cards/colored/r1.png
  14. 0
      cards/colored/r2.png
  15. 0
      cards/colored/r3.png
  16. BIN
      cards/colored/y+4.png
  17. 0
      cards/colored/y0.png
  18. 0
      cards/colored/y1.png
  19. 0
      cards/colored/y2.png
  20. 0
      cards/colored/y3.png
  21. 81
      game.json
  22. 51
      game.rhai
  23. 10
      gen_json.py

BIN
cards/colored/b+4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

0
cards/b0.png → cards/colored/b0.png

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

0
cards/b1.png → cards/colored/b1.png

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

0
cards/b2.png → cards/colored/b2.png

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

0
cards/b3.png → cards/colored/b3.png

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
cards/colored/g+4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

0
cards/g0.png → cards/colored/g0.png

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

0
cards/g1.png → cards/colored/g1.png

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

0
cards/g2.png → cards/colored/g2.png

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

0
cards/g3.png → cards/colored/g3.png

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

BIN
cards/colored/r+4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

0
cards/r0.png → cards/colored/r0.png

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

0
cards/r1.png → cards/colored/r1.png

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

0
cards/r2.png → cards/colored/r2.png

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

0
cards/r3.png → cards/colored/r3.png

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
cards/colored/y+4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

0
cards/y0.png → cards/colored/y0.png

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

0
cards/y1.png → cards/colored/y1.png

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

0
cards/y2.png → cards/colored/y2.png

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

0
cards/y3.png → cards/colored/y3.png

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

81
game.json

@ -7,57 +7,27 @@
"script": "game.rhai",
"default_back": "cards/back.png",
"available_cards": {
"B0": {
"image": "cards/b0.png"
},
"R0": {
"image": "cards/r0.png"
},
"G0": {
"image": "cards/b0.png"
},
"Y0": {
"image": "cards/y0.png"
},
"B1": {
"image": "cards/b1.png"
},
"R1": {
"image": "cards/r1.png"
},
"G1": {
"image": "cards/b1.png"
},
"Y1": {
"image": "cards/y1.png"
},
"B2": {
"image": "cards/b2.png"
},
"R2": {
"image": "cards/r2.png"
},
"G2": {
"image": "cards/b2.png"
},
"Y2": {
"image": "cards/y2.png"
},
"B3": {
"image": "cards/b3.png"
},
"R3": {
"image": "cards/r3.png"
},
"G3": {
"image": "cards/b3.png"
},
"Y3": {
"image": "cards/y3.png"
},
"+4": {
"image": "cards/+4.png"
}
"Y1": { "image": "cards/colored/y1.png", "color": "Y", "number": "1" },
"G1": { "image": "cards/colored/g1.png", "color": "G", "number": "1" },
"G0": { "image": "cards/colored/g0.png", "color": "G", "number": "0" },
"G2": { "image": "cards/colored/g2.png", "color": "G", "number": "2" },
"B0": { "image": "cards/colored/b0.png", "color": "B", "number": "0" },
"B1": { "image": "cards/colored/b1.png", "color": "B", "number": "1" },
"Y3": { "image": "cards/colored/y3.png", "color": "Y", "number": "3" },
"R2": { "image": "cards/colored/r2.png", "color": "R", "number": "2" },
"R0": { "image": "cards/colored/r0.png", "color": "R", "number": "0" },
"Y2": { "image": "cards/colored/y2.png", "color": "Y", "number": "2" },
"G3": { "image": "cards/colored/g3.png", "color": "G", "number": "3" },
"R3": { "image": "cards/colored/r3.png", "color": "R", "number": "3" },
"Y0": { "image": "cards/colored/y0.png", "color": "Y", "number": "0" },
"B2": { "image": "cards/colored/b2.png", "color": "B", "number": "2" },
"B3": { "image": "cards/colored/b3.png", "color": "B", "number": "3" },
"R1": { "image": "cards/colored/r1.png", "color": "R", "number": "1" },
"G+4": { "image": "cards/colored/g+4.png", "color": "G", "number": "+4" },
"R+4": { "image": "cards/colored/r+4.png", "color": "R", "number": "+4" },
"Y+4": { "image": "cards/colored/y+4.png", "color": "Y", "number": "+4" },
"B+4": { "image": "cards/colored/b+4.png", "color": "B", "number": "+4" },
"+4": { "image": "cards/+4.png", "color": "N", "number": "+4" }
},
"piles": {
"deck": {
@ -80,11 +50,16 @@
"G3",
"Y3",
"+4"
]
],
"face_down": true
},
"placed": {}
},
"player_piles": {
"deck": {}
"deck": {
"cards": ["+4"]
},
"color_select": {
}
}
}

51
game.rhai

@ -22,6 +22,8 @@ fn setup(data) {
// print(data.player_piles);
// print(data.piles.deck);
data.fw = true;
data.next_plus4 = 0;
data.selecting_color_plus4 = false;
return data;
}
@ -41,24 +43,65 @@ fn turn_start(data, player) {
}
fn on_click(data, card, action_author, current_player) {
// TODO handle next_plus4
if action_author == current_player {
if data.selecting_color_plus4 {
print(card);
if card.pile_kind != "common" && card.pile_name == "color_select" {
data.selecting_color_plus4 = false;
let c = data.pop_card(card);
print(c);
data.piles.placed.cards.push(c);
data.player_piles[current_player.val].color_select.cards = [];
data.next_plus4 = 1;
return [data, true];
}else{
return [data, false];
}
}else{
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[current_player.val].deck.cards.push(c);
}
}else{
if card.pile_name == "deck" {
let c = data.pop_card(card);
print(c[0]);
let c = data.get_card(card);
switch c.kind {
"+4" => {
data.selecting_color_plus4 = true;
data.pop_card(card);
data.player_piles[current_player.val].color_select.cards.push(new_card("G+4"));
data.player_piles[current_player.val].color_select.cards.push(new_card("R+4"));
data.player_piles[current_player.val].color_select.cards.push(new_card("B+4"));
data.player_piles[current_player.val].color_select.cards.push(new_card("Y+4"));
return [data, false];
}
_ => {
let last_card = data.piles.placed.cards[data.piles.placed.cards.len-1];
print(last_card);
print(c);
if last_card.other.color == c.other.color {
data.pop_card(card);
data.piles.placed.cards.push(c);
return [data, true];
}else if last_card.other.number == c.other.number {
data.pop_card(card);
data.piles.placed.cards.push(c);
return [data, true];
}else {
return [data, false];
}
}
}
}
}
}
return [data, true];
}
return [data, false];
}

10
gen_json.py

@ -0,0 +1,10 @@
import os
# Open a file
path = r"cards/colored"
files = os.scandir(path)
for file in files:
card = file.name[:-4].upper()
color = card[0]
number = card[1:]
print(f'"{card}": {{ "image": "cards/colored/{file.name}", "color": "{color}", "number": "{number}" }},')
Loading…
Cancel
Save