Merge branch 'main' of https://git.msoucy.me/msoucy/18cards
This commit is contained in:
commit
9c9fe3e37d
@ -3,7 +3,7 @@
|
||||
You are all mages competing to put on the flashiest magic display for the festival!
|
||||
Arrange the elements to put on a good show.
|
||||
|
||||
Take the three border cards and deal each one faceup.
|
||||
Shuffle the three nexus cards, flipping some upside down during shuffling, and deal each one faceup.
|
||||
Place the left elements in the fixed hexes on the corners in clockwise order from the top.
|
||||
Place the right elements in the fixed hexes on the corners in clockwise order from the bottom.
|
||||
|
||||
@ -16,6 +16,7 @@ Place the elements in a hex connected to the mage by other filled hexes, in eith
|
||||
|
||||
If either of the following elements are touching, cross them out.
|
||||
They have nullified each other.
|
||||
For reference, these pairs are on the nexus cards.
|
||||
|
||||
- Light and Dark
|
||||
- Fire and Water
|
||||
@ -25,11 +26,11 @@ When all 15 mana cards have been flipped, the festival is over.
|
||||
See how the audience liked your display with the following rules.
|
||||
Do not count nullified elements.
|
||||
|
||||
- Light = 3 points if not touching other Light
|
||||
- Light = 3 points for each cluster
|
||||
- Light shines brightest on its own
|
||||
- Dark = 3 points for each hex in the cluster after the first
|
||||
- Darkness tries to swallow everything
|
||||
- Fire = 2 points for each adjacent Fire
|
||||
- Fire = 2 points for each connection between adjacent fire hexes
|
||||
- Fire grows and burns
|
||||
- Water = 3 times length for straight line of 3 or more
|
||||
- Water flows like a river
|
||||
|
@ -1,19 +1,19 @@
|
||||
left,right
|
||||
light,dark
|
||||
light,fire
|
||||
light,water
|
||||
light,earth
|
||||
light,air
|
||||
dark,fire
|
||||
dark,water
|
||||
dark,earth
|
||||
dark,air
|
||||
fire,water
|
||||
fire,earth
|
||||
fire,air
|
||||
water,earth
|
||||
water,air
|
||||
earth,air
|
||||
light,dark
|
||||
fire,water
|
||||
earth,air
|
||||
title,left,right
|
||||
mana,light,dark
|
||||
mana,light,fire
|
||||
mana,light,water
|
||||
mana,light,earth
|
||||
mana,light,air
|
||||
mana,dark,fire
|
||||
mana,dark,water
|
||||
mana,dark,earth
|
||||
mana,dark,air
|
||||
mana,fire,water
|
||||
mana,fire,earth
|
||||
mana,fire,air
|
||||
mana,water,earth
|
||||
mana,water,air
|
||||
mana,earth,air
|
||||
nexus,light,dark
|
||||
nexus,fire,water
|
||||
nexus,earth,air
|
|
@ -1,5 +1,14 @@
|
||||
require 'squib'
|
||||
|
||||
element_descs = {
|
||||
"light" => "3 per cluster",
|
||||
"dark" => "3 each after first in clusters",
|
||||
"fire" => "2 points per connected pair",
|
||||
"water" => "3 times length for straight line of 3+",
|
||||
"earth" => "4 per triangle cluster",
|
||||
"air" => "3 points for each curve in line"
|
||||
}
|
||||
|
||||
Squib::Deck.new(cards: 18, layout: 'layout.yml', width: '3.5in', height: '2.5in') do
|
||||
|
||||
data = csv file: 'data.csv'
|
||||
@ -11,15 +20,28 @@ Squib::Deck.new(cards: 18, layout: 'layout.yml', width: '3.5in', height: '2.5in'
|
||||
text layout: :title, str: 'Border', align: :center, range: (15..17)
|
||||
|
||||
svg layout: :leftSymbol, width: 200, file: data.left.map { |elem| "images/#{elem}.svg" }
|
||||
text layout: :leftText, str: data.left, align: :center, ellipsize: :autoscale
|
||||
text layout: :leftText, str: data.left
|
||||
text layout: :leftDescription, str: data.left.map { |elem| element_descs[elem] }
|
||||
svg layout: :rightSymbol, width: 200, file: data.right.map { |elem| "images/#{elem}.svg" }
|
||||
text layout: :rightText, str: data.right, align: :center, ellipsize: :autoscale
|
||||
text layout: :rightText, str: data.right
|
||||
text layout: :rightDescription, str: data.right.map { |elem| element_descs[elem] }
|
||||
|
||||
save format: :png, prefix: 'card_'
|
||||
save_pdf trim: 37.5, file: 'pnp.pdf'
|
||||
end
|
||||
|
||||
Squib::Deck.new(cards: 1, width: '3in', height: '4in') do
|
||||
Squib::Deck.new(cards: 6, width: '3in', height: '4in') do
|
||||
rect
|
||||
|
||||
svg x: '0.5in', y: '0.5in', width: '2.0in', height: '2.0in', file: 'images/hexgrid.svg'
|
||||
|
||||
text x: '0.5in', y: '2.75in', width: '2in', height: '0.5in', str: 'Scoring', align: :center
|
||||
(0..6).each do |i|
|
||||
rect x: inches(0.5) + i * inches(2.0/7.0), y: '3.0in', width: '0.25in', height: '0.25in'
|
||||
rect x: inches(0.5) + i * inches(2.0/7.0), y: '3.25in', width: '0.25in', height: '0.25in'
|
||||
end
|
||||
star x: inches(0.5) + 6 * inches(2.0/7.0) + inches(0.125), y: '3.125in',
|
||||
outer_radius: '0.125in', inner_radius: inches(1.0/16.0), angle: '270deg'
|
||||
|
||||
save_pdf trim: 37.5, file: 'player.pdf'
|
||||
end
|
Binary file not shown.
Before Width: | Height: | Size: 77 KiB |
1
2022/05-gencant/images/hexgrid.svg
Normal file
1
2022/05-gencant/images/hexgrid.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 20 KiB |
@ -6,27 +6,43 @@ title:
|
||||
|
||||
leftSymbol:
|
||||
x: 200
|
||||
y: 300
|
||||
y: 200
|
||||
width: 200
|
||||
height: 200
|
||||
|
||||
leftText:
|
||||
x: 200
|
||||
y: 500
|
||||
y: 400
|
||||
width: 200
|
||||
height: 60
|
||||
align: center
|
||||
ellipsize: autoscale
|
||||
|
||||
leftDescription:
|
||||
extends: leftText
|
||||
y: += 100
|
||||
align: center
|
||||
ellipsize: autoscale
|
||||
|
||||
rightSymbol:
|
||||
x: 600
|
||||
y: 300
|
||||
y: 200
|
||||
width: 200
|
||||
height: 200
|
||||
|
||||
rightText:
|
||||
x: 600
|
||||
y: 500
|
||||
y: 400
|
||||
width: 200
|
||||
height: 60
|
||||
align: center
|
||||
ellipsize: autoscale
|
||||
|
||||
rightDescription:
|
||||
extends: rightText
|
||||
y: += 100
|
||||
align: center
|
||||
ellipsize: autoscale
|
||||
|
||||
# The "cut line", without rounded corners
|
||||
cut:
|
||||
|
Loading…
Reference in New Issue
Block a user