Add the pictogrammic adventurer generator
This commit is contained in:
parent
78f45c8766
commit
6b9ec29344
8
main.rkt
8
main.rkt
|
@ -19,7 +19,9 @@
|
|||
("AboutMe" weblet pages:about-me)
|
||||
("Fonts" weblet pages:fonts)
|
||||
("Generators" weblet pages:other-generators
|
||||
("ColorScheme" weblet pages:color-scheme-generator))
|
||||
("ColorScheme" weblet pages:color-scheme-generator)
|
||||
("PictogrammicAdventurer" weblet pages:pictogrammic-adventurer)
|
||||
)
|
||||
))
|
||||
; Sitemap
|
||||
(sitemap
|
||||
|
@ -27,7 +29,9 @@
|
|||
("About Me" "/AboutMe" #f)
|
||||
("Fonts I made" "/Fonts" #f))
|
||||
("Miscellaneous Generators" "/Generators" #f
|
||||
("Color Scheme" "/Generators/ColorScheme" #f))
|
||||
("Color Scheme" "/Generators/ColorScheme" #f)
|
||||
("Pictogrammic Adventurer" "/Generators/PictogrammicAdventurer" #t)
|
||||
)
|
||||
)
|
||||
; Webcontainer
|
||||
(define *webcontainer* (make-webcontainer))
|
||||
|
|
|
@ -0,0 +1,239 @@
|
|||
#lang racket/base
|
||||
|
||||
; Pictogrammic adventurer generator
|
||||
; Generates a character sheet with all indications replaced by pictograms
|
||||
(require
|
||||
racket/string
|
||||
racket/list
|
||||
"../base-generation/random.rkt")
|
||||
|
||||
(provide
|
||||
; generative function
|
||||
pictogrammic-adventurer-generate
|
||||
; accessors to adventurer structure
|
||||
adventurer-name adventurer-gender adventurer-species adventurer-class
|
||||
adventurer-health adventurer-mana adventurer-spells adventurer-status
|
||||
adventurer-equipment adventurer-inventory adventurer-party adventurer-battle-cry
|
||||
adventurer-astrological-sign adventurer-living-place adventurer-cards
|
||||
)
|
||||
|
||||
; Adventurer structure
|
||||
(struct adventurer
|
||||
(name
|
||||
gender
|
||||
species
|
||||
class
|
||||
health
|
||||
mana
|
||||
spells
|
||||
status
|
||||
equipment
|
||||
inventory
|
||||
party
|
||||
battle-cry
|
||||
astrological-sign
|
||||
living-place
|
||||
cards
|
||||
))
|
||||
|
||||
; Datastructure from which the fields are generated
|
||||
(define *adventurer-data*
|
||||
(hash
|
||||
'name
|
||||
'("☐" "☑" "☒" "☓" "☖" "☗" "☙" "☚" "☛" "☜" "☝" "☞" "☟" "☰" "☱" "☲" "☳" "☴" "☵" "☶" "☷" "☼" "☽" "☾"
|
||||
"♩" "♪" "♫" "♬" "♭" "♮" "♯" "♲" "♳" "♴" "♵" "♶" "♷" "♸" "♹" "♺" "♻" "♼" "♽" "♾" "⚆" "⚇" "⚈" "⚉" "⚊"
|
||||
"⚋" "⚌" "⚍" "⚎" "⚏" "⚞" "⚟" "⚫" "⚬" "⚭" "⚮" "⚯" "⚹" "⚺" "⚻" "⚼" "⛉" "⛊" "⛋" "⛌" "⛎" "⛕" "⛖" "⛗"
|
||||
"⛘" "⛙" "⛚" "⛜" "⛝" "⛞" "⛠" "⛡" "⛩" "⛪" "⛫" "⛰" "⛳" "⛶" "⛻" "⛼" "🜀" "🜁" "🜂" "🜃" "🜄" "🜅" "🜆"
|
||||
"🜇" "🜈" "🜉" "🜊" "🜋" "🜌" "🜍" "🜎" "🜏" "🜐" "🜑" "🜒" "🜓" "🜔" "🜕" "🜖" "🜗" "🜘" "🜙" "🜚" "🜛" "🜜" "🜝"
|
||||
"🜞" "🜟" "🜠" "🜡" "🜢" "🜣" "🜤" "🜥" "🜦" "🜧" "🜨" "🜩" "🜪" "🜫" "🜬" "🜭" "🜮" "🜯" "🜰" "🜱" "🜲" "🜳" "🜴" "🜵" "🜶"
|
||||
"🜷" "🜸" "🜹" "🜺" "🜻" "🜼" "🜽" "🜾" "🜿" "🝀" "🝁" "🝂" "🝃" "🝄" "🝅" "🝆" "🝇" "🝈" "🝉" "🝊" "🝋" "🝌" "🝍" "🝎"
|
||||
"🝏" "🝐" "🝑" "🝒" "🝓" "🝔" "🝕" "🝖" "🝗" "🝘" "🝙" "🝚" "🝛" "🝜" "🝝" "🝞" "🝟" "🝠" "🝡" "🝢" "🝣" "🝤" "🝥"
|
||||
"🝦" "🝧" "🝨" "🝩" "🝪" "🝫" "🝬" "🝭" "🝮" "🝯" "🝰" "🝱" "🝲" "🝳" "💯" "💱" "💹" "🔙" "🔚" "🔛" "🔜" "🔝"
|
||||
"🔞" "🔟" "🔠" "🔡" "🔢" "🔣" "🔤" "🖎" "🖏" "🖐" "🖑" "🖒" "🖓" "🖔" "🖕" "🖖" "🖗" "🖘" "🖙" "🖚" "🖛" "🖜"
|
||||
"🖝" "🖞" "🖟" "🖠" "🖡" "🖢" "🖣" "🗤" "🗥" "🗦" "🗧" "🗳" "🗴" "🗵" "🗶" "🗷" "🗸" "🗹")
|
||||
'gender
|
||||
'("☉" "☿" "♀" "♁" "♂" "♃" "♄" "♅" "♆" "♇" "⚢" "⚣" "⚤" "⚥" "⚦" "⚧" "⚨" "⚩" "⚪" "⚲" "⚳" "⚴" "⚵" "⚶"
|
||||
"⚷" "⚸" "⛢" "⛣" "🜉" "🜍" "🜎" "🜏" "🜐" "🜑" "🜒" "🜘" "🜙" "🜚" "🜛" "🜜" "🜝" "🜞" "🜟" "🜠" "🜡" "🜢" "🜣"
|
||||
"🜥" "🜦" "🜧" "🜩" "🜪" "🜫" "🜬" "🜭" "🜮" "🜯" "🜱" "🜴" "🜵" "🜶" "🜻" "🜼" "🜿" "🝀" "🝁" "🝂" "🝃" "🝅" "🝈" "🝋" "🝎"
|
||||
"🝓" "🝔" "🝕" "🝢" "🝤" "🝯" "🝰")
|
||||
'species
|
||||
'("☃" "♿" "⛄" "⛇" "⛷" "⛹" "😀" "😁" "😇" "😈" "😍" "😎" "😸" "😹" "🙈" "🙉" "🙊" "🌛" "🌜" "🌝" "🌞" "🌬"
|
||||
"🎃" "🎅" "🎎" "🐀" "🐁" "🐂" "🐃" "🐄" "🐅" "🐆" "🐇" "🐈" "🐉" "🐊" "🐋" "🐌" "🐍" "🐎" "🐏" "🐐"
|
||||
"🐑" "🐒" "🐓" "🐔" "🐕" "🐖" "🐗" "🐘" "🐙" "🐚" "🐛" "🐜" "🐝" "🐞" "🐟" "🐠" "🐡" "🐢" "🐣" "🐤" "🐥"
|
||||
"🐦" "🐧" "🐨" "🐩" "🐪" "🐫" "🐬" "🐭" "🐮" "🐯" "🐰" "🐱" "🐲" "🐳" "🐴" "🐵" "🐶" "🐷" "🐸" "🐹" "🐺"
|
||||
"🐻" "🐼" "🐿" "👯" "👸" "👹" "👺" "👻" "👼" "👽" "👾" "👿" "💀" "🕊" "🕷" "🤖" "🦀" "🦁" "🦂" "🦃" "🦄"
|
||||
"🦅" "🦆" "🦇" "🦈" "🦉" "🦊" "🦋" "🦌" "🦍" "🦎" "🦏" "🦐" "🦑" "🚹" "🚺" "🛉" "🛊")
|
||||
'class
|
||||
'("☃" "♔" "♕" "♖" "♗" "♘" "♙" "♚" "♛" "♜" "♝" "♞" "♟" "♿" "⛄" "⛇" "⛷" "⛹" "😍" "😎" "🌛" "🌜" "🌝" "🌞"
|
||||
"🌬" "🎃" "🎅" "🎣" "🎤" "🎨" "🏂" "🏃" "🏄" "🏇" "🏊" "🏋" "🏌" "🏍" "👤" "👦" "👧" "👨" "👩" "👮" "👯"
|
||||
"👰" "👱" "👲" "👳" "👴" "👵" "👶" "👷" "👸" "👹" "👺" "👻" "👼" "👽" "👾" "👿" "💀" "💁" "💂" "💃" "💆"
|
||||
"💇" "💏" "🕴" "🕵" "🕺" "🤓" "🤕" "🤖" "🤠" "🤡" "🤥" "🤦" "🤧" "🤴" "🤵" "🤶" "🤷" "🤸" "🤹" "🤺" "🤻" "🤼"
|
||||
"🤽" "🤾" "🚣" "🚤" "🚮" "🚴" "🚵" "🚶" "🚸" "🚹" "🚺" "🚻" "🚼" "🛀" "🛂" "🛃" "🛉" "🛊" "🛌")
|
||||
'health
|
||||
'("♥" "♡" "❣" "❤" "🎔" "💓" "💔" "💕" "💖" "💗" "💘" "💙" "💚" "💛" "💜" "💝" "💞" "💟" "🔋" "🖤" "🗲")
|
||||
'mana
|
||||
'("★" "☆" "⚡" "⛤" "⛥" "⛦" "⛧" "⁂" "⁑" "🝊" "✦" "✧" "✨" "✩" "✪" "✫" "✬" "✭" "✮" "✯" "✰" "✱" "✲" "✳" "✴" "✵"
|
||||
"✶" "✷" "✸" "✹" "✺" "✻" "✼" "✽" "✾" "✿" "❀" "❁" "❂" "❃" "❄" "❅" "❆" "❇" "❈" "❉" "❊" "❋" "🌌" "🌟" "🌠"
|
||||
"🎵" "🎶" "💡" "💢" "🔋" "🗲")
|
||||
'spells
|
||||
'("☀" "☁" "☃" "☄" "☇" "☈" "☊" "☋" "☌" "☍" "☔" "☘" "☝" "☠" "☡" "☢" "☣" "☼" "☽" "☾" "♠" "♡" "♢" "♣" "♤"
|
||||
"♥" "♦" "♧" "♨" "♩" "♪" "♫" "♬" "♭" "♮" "♯" "♲" "♺" "♻" "♿" "⚀" "⚁" "⚂" "⚃" "⚄" "⚅" "⚛" "⚠" "⚡" "⚿"
|
||||
"⛅" "⛆" "⛈" "⛍" "⛐" "⛒" "⛔" "⛛" "⛤" "⛥" "⛦" "⛧" "⛬" "⛭" "⛮" "⛯" "⛳" "⛺" "⛽" "†" "‡" "‼" "‽"
|
||||
"⁇" "⁈" "⁉" "✆" "✇" "✾" "✿" "❀" "❁" "❄" "❅" "❆" "❓" "❔" "❕" "❗" "❣" "❤" "😕" "😖" "😝" "😠" "😤" "😨"
|
||||
"😮" "😱" "😲" "😴" "😵" "😶" "🌀" "🌁" "🌊" "🌋" "🌌" "🌠" "🌢" "🌣" "🌤" "🌥" "🌦" "🌧" "🌨" "🌩" "🌪"
|
||||
"🌫" "🌬" "🎆" "🎇" "🎉" "🎊" "🎔" "🎜" "🎝" "🎰" "🎲" "🎵" "🎶" "🎼" "🐽" "🐾" "👀" "👁" "👂" "👃" "👄"
|
||||
"👅" "👆" "👇" "👈" "👉" "👊" "👋" "👌" "👍" "👎" "👏" "👐" "👣" "💀" "💋" "💗" "💘" "💝" "💞" "💟" "💡"
|
||||
"💢" "💣" "💤" "💥" "💦" "💧" "💨" "💩" "💪" "💫" "💬" "💭" "💱" "📤" "📥" "📲" "📳" "📴" "📵" "📶"
|
||||
"🔀" "🔁" "🔂" "🔃" "🔄" "🔅" "🔆" "🔇" "🔈" "🔉" "🔊" "🔍" "🔎" "🔏" "🔐" "🔑" "🔒" "🔓" "🔔" "🔕" "🔗"
|
||||
"🔥" "🕱" "🕲" "🕸" "🖤" "🗚" "🗛" "🗜" "🗢" "🗣" "🗨" "🗩" "🗪" "🗫" "🗬" "🗭" "🗮" "🗯" "🗰" "🗱" "🗲"
|
||||
"⌖" "⌗" "⌘" "⌚" "⌛" "⏩" "⏪" "⏫" "⏬" "⏭" "⏮" "⏯" "⏰" "⏱" "⏲" "⏳" "⏴" "⏵" "⏶" "⏷" "⏸" "⏹" "⏺" "⏻"
|
||||
"⏼" "⏾" "⸘" "⸙" "⸮" "🤘" "🤙" "🤚" "🤛" "🤜" "🤝" "🤞" "🤳" "🚨" "🚫" "🚭" "🚯" "🚱" "🚳" "🚷" "🛆" "🛇"
|
||||
"🛈" "🛑")
|
||||
'status
|
||||
'("☃" "☝" "☠" "☡" "☢" "☣" "♨" "♫" "♻" "♿" "⚅" "⚛" "⚠" "⚡" "⚿" "⛍" "⛐" "⛓" "⛔" "⛛" "⛺" "‼" "‽" "⁇"
|
||||
"⁈" "⁉" "❄" "❅" "❆" "❓" "❔" "❕" "❗" "😕" "😖" "😝" "😠" "😤" "😨" "😮" "😱" "😲" "😴" "😵" "😶" "🍴"
|
||||
"🎜" "🎝" "🎰" "💋" "💀" "💡" "💢" "💣" "💤" "💥" "💦" "💧" "💨" "💪" "💫" "💬" "💭" "🔀" "🔃" "🔗"
|
||||
"🔥" "🕱" "🕲" "🕸" "⏼" "⏾" "⸘" "⸮" "🤧" "🚫" "🛑")
|
||||
'equipment
|
||||
'("☂" "☘" "☤" "☥" "☭" "⚐" "⚑" "⚒" "⚔" "⚕" "⚖" "⚗" "⚘" "⚙" "⚚" "⛏" "⛑" "⛓" "⛨" "⛸" "⛿" "†" "‡" "✀"
|
||||
"✂" "✄" "✐" "➶" "➹" "🌂" "🍭" "🍳" "🍴" "🍺" "🍾" "🎀" "🎓" "🎖" "🎗" "🎘" "🎤" "🎧" "🎨" "🎩" "🎱"
|
||||
"🎲" "🎳" "🎷" "🎸" "🎺" "🎻" "🎽" "🎾" "🎿" "🏅" "🏸" "🏹" "👑" "👒" "👓" "👔" "👕" "👖" "👗" "👘"
|
||||
"👙" "👚" "👞" "👟" "👠" "👡" "👢" "💐" "💣" "📎" "📏" "📕" "📜" "📣" "🔍" "🔦" "🔧" "🔨" "🔪" "🔫"
|
||||
"🔮" "🕫" "🕯" "🕶" "🗡" "🥁" "🥄" "🥆" "🥇" "🥈" "🥉" "🥊" "🥋" "🛠" "🛡")
|
||||
'inventory
|
||||
'("☂" "☎" "☏" "☕" "☘" "☤" "☥" "☭" "☸" "♰" "♱" "⚀" "⚁" "⚂" "⚃" "⚄" "⚅" "⚐" "⚑" "⚒" "⚓" "⚔" "⚕" "⚖" "⚗"
|
||||
"⚘" "⚙" "⚚" "⚜" "⚰" "⚱" "⚽" "⚾" "⛀" "⛁" "⛂" "⛃" "⛏" "⛑" "⛓" "⛟" "⛨" "⛱" "⛴" "⛵" "⛸" "⛺" "⛽"
|
||||
"⛾" "⛿" "†" "‡" "✀" "✂" "✄" "✈" "✉" "✎" "✏" "✐" "✑" "✒" "✾" "✿" "❀" "❁" "➶" "➹" "🌂" "🌡" "🌭" "🌮"
|
||||
"🌯" "🌰" "🌱" "🌲" "🌳" "🌴" "🌵" "🌶" "🌷" "🌸" "🌹" "🌺" "🌻" "🌼" "🌽" "🌾" "🌿" "🍀" "🍁" "🍂"
|
||||
"🍃" "🍄" "🍅" "🍆" "🍇" "🍈" "🍉" "🍊" "🍋" "🍌" "🍍" "🍎" "🍏" "🍐" "🍑" "🍒" "🍓" "🍔" "🍕" "🍖"
|
||||
"🍗" "🍘" "🍙" "🍚" "🍛" "🍜" "🍝" "🍞" "🍟" "🍠" "🍡" "🍢" "🍣" "🍤" "🍥" "🍦" "🍧" "🍨" "🍩" "🍪"
|
||||
"🍫" "🍬" "🍭" "🍮" "🍯" "🍰" "🍱" "🍲" "🍳" "🍴" "🍵" "🍶" "🍷" "🍸" "🍹" "🍺" "🍻" "🍼" "🍽" "🍾"
|
||||
"🍿" "🎀" "🎁" "🎂" "🎃" "🎄" "🎈" "🎋" "🎌" "🎍" "🎎" "🎏" "🎐" "🎒" "🎓" "🎕" "🎖" "🎗" "🎘" "🎙"
|
||||
"🎚" "🎛" "🎞" "🎟" "🎤" "🎥" "🎧" "🎨" "🎩" "🎫" "🎬" "🎭" "🎮" "🎯" "🎱" "🎲" "🎳" "🎴" "🎷" "🎸"
|
||||
"🎹" "🎺" "🎻" "🎽" "🎾" "🎿" "🏀" "🏁" "🏅" "🏆" "🏈" "🏉" "🏎" "🏏" "🏐" "🏑" "🏒" "🏓" "🏱" "🏲" "🏳"
|
||||
"🏴" "🏵" "🏶" "🏷" "🏸" "🏹" "🏺" "👑" "👒" "👓" "👔" "👕" "👖" "👗" "👘" "👙" "👚" "👛" "👜" "👝"
|
||||
"👞" "👟" "👠" "👡" "👢" "💄" "💅" "💉" "💊" "💌" "💍" "💎" "💐" "💠" "💡" "💣" "💩" "💮" "💰" "💲"
|
||||
"💳" "💴" "💵" "💶" "💷" "💸" "💺" "💻" "💼" "💽" "💾" "💿" "📀" "📁" "📂" "📃" "📄" "📅" "📆"
|
||||
"📇" "📋" "📌" "📍" "📎" "📏" "📐" "📑" "📒" "📓" "📔" "📕" "📖" "📗" "📘" "📙" "📚" "📛" "📜" "📝"
|
||||
"📞" "📟" "📠" "📡" "📢" "📣" "📦" "📧" "📨" "📩" "📪" "📫" "📬" "📭" "📮" "📯" "📰" "📱"
|
||||
"📷" "📸" "📹" "📺" "📻" "📼" "📽" "📾" "📿" "🔋" "🔌" "🔍" "🔎" "🔏" "🔐" "🔑" "🔒" "🔓" "🔔"
|
||||
"🔖" "🔗" "🔘" "🔦" "🔧" "🔨" "🔩" "🔪" "🔫" "🔬" "🔭" "🔮" "🕎" "🕏" "🕫" "🕬" "🕭" "🕮" "🕯" "🕰"
|
||||
"🕶" "🕸" "🕹" "🕻" "🕼" "🕽" "🕾" "🕿" "🖀" "🖁" "🖂" "🖃" "🖄" "🖅" "🖆" "🖇" "🖈" "🖉" "🖊" "🖋" "🖌"
|
||||
"🖍" "🖥" "🖦" "🖧" "🖨" "🖩" "🖪" "🖫" "🖬" "🖭" "🖮" "🖯" "🖰" "🖱" "🖲" "🖳" "🖴" "🖵" "🖶" "🖷" "🖸"
|
||||
"🖹" "🖺" "🖻" "🖼" "🖽" "🖾" "🖿" "🗀" "🗁" "🗂" "🗃" "🗄" "🗅" "🗆" "🗇" "🗈" "🗉" "🗊" "🗋" "🗌" "🗍" "🗎"
|
||||
"🗏" "🗐" "🗑" "🗒" "🗓" "🗔" "🗜" "🗝" "🗞" "🗟" "🗠" "🗡" "🥀" "🥁" "🥂" "🥃" "🥄" "🥆" "🥇" "🥈" "🥉" "🥊"
|
||||
"🥋" "🥐" "🥑" "🥒" "🥓" "🥔" "🥕" "🥖" "🥗" "🥘" "🥙" "🥚" "🥛" "🥜" "🥝" "🥞" "🚀" "🚁" "🚂" "🚃" "🚄"
|
||||
"🚅" "🚆" "🚇" "🚈" "🚊" "🚋" "🚌" "🚍" "🚎" "🚐" "🚑" "🚒" "🚓" "🚔" "🚕" "🚖" "🚗" "🚘" "🚙" "🚚"
|
||||
"🚛" "🚜" "🚝" "🚞" "🚟" "🚠" "🚡" "🚢" "🚥" "🚦" "🚧" "🚩" "🚪" "🚬" "🚰" "🚲" "🚽" "🚿" "🛁" "🛄"
|
||||
"🛅" "🛍" "🛎" "🛏" "🛒" "🛠" "🛡" "🛢" "🛥" "🛦" "🛧" "🛨" "🛩" "🛪" "🛫" "🛬" "🛰" "🛱" "🛲" "🛳" "🛴"
|
||||
"🛵" "🛶")
|
||||
'party
|
||||
'("☃" "☹" "☺" "☻" "♔" "♕" "♖" "♗" "♘" "♙" "♚" "♛" "♜" "♝" "♞" "♟" "♿" "⛄" "⛇" "⛷" "⛹" "😀" "😁" "😂"
|
||||
"😃" "😄" "😅" "😆" "😇" "😈" "😉" "😊" "😋" "😌" "😍" "😎" "😏" "😐" "😑" "😒" "😓" "😔" "😕" "😖" "😗"
|
||||
"😘" "😙" "😚" "😛" "😜" "😝" "😞" "😟" "😠" "😡" "😢" "😣" "😤" "😥" "😦" "😧" "😨" "😩" "😪" "😫" "😬"
|
||||
"😭" "😮" "😯" "😰" "😱" "😲" "😳" "😴" "😵" "😶" "😷" "😸" "😹" "😺" "😻" "😼" "😽" "😾" "😿" "🙀" "🙁"
|
||||
"🙂" "🙃" "🙄" "🙅" "🙆" "🙇" "🙈" "🙉" "🙊" "🙋" "🙌" "🙍" "🙎" "🙏" "🌚" "🌛" "🌜" "🌝" "🌞" "🌬"
|
||||
"🎃" "🎅" "🎎" "🎠" "🏂" "🏃" "🏄" "🏇" "🏊" "🏋" "🏌" "🏍" "🐀" "🐁" "🐂" "🐃" "🐄" "🐅" "🐆" "🐇"
|
||||
"🐈" "🐉" "🐊" "🐋" "🐌" "🐍" "🐎" "🐏" "🐐" "🐑" "🐒" "🐓" "🐔" "🐕" "🐖" "🐗" "🐘" "🐙" "🐚" "🐛"
|
||||
"🐜" "🐝" "🐞" "🐟" "🐠" "🐡" "🐢" "🐣" "🐤" "🐥" "🐦" "🐧" "🐨" "🐩" "🐪" "🐫" "🐬" "🐭" "🐮" "🐯"
|
||||
"🐰" "🐱" "🐲" "🐳" "🐴" "🐵" "🐶" "🐷" "🐸" "🐹" "🐺" "🐻" "🐼" "🐿"
|
||||
"👤" "👥" "👦" "👧" "👨" "👩" "👪" "👫" "👬" "👭" "👮" "👯" "👰" "👱" "👲" "👳" "👴" "👵" "👶" "👷"
|
||||
"👸" "👹" "👺" "👻" "👼" "👽" "👾" "👿" "💀" "💁" "💂" "💃" "💆" "💇" "💏" "💑" "🕊" "🕴" "🕵" "🕷"
|
||||
"🕺" "🤐" "🤑" "🤒" "🤓" "🤔" "🤕" "🤖" "🤗" "🤠" "🤡" "🤢" "🤣" "🤤" "🤥" "🤦" "🤧" "🤰" "🤴" "🤵" "🤶"
|
||||
"🤷" "🤸" "🤹" "🤺" "🤻" "🤼" "🤽" "🤾" "🦀" "🦁" "🦂" "🦃" "🦄" "🦅" "🦆" "🦇" "🦈" "🦉" "🦊" "🦋" "🦌"
|
||||
"🦍" "🦎" "🦏" "🦐" "🦑" "🚣" "🚤" "🚮" "🚴" "🚵" "🚶" "🚸" "🚹" "🚺" "🚻" "🚼" "🛀" "🛂" "🛃" "🛉" "🛊"
|
||||
"🛌" )
|
||||
'battle-cry
|
||||
'("☤" "☥" "☦" "☧" "☨" "☩" "☪" "☫" "☬" "☭" "☮" "☯" "☸" "♩" "♪" "♫" "♬" "♭" "♮" "♯" "♰" "♱" "♲" "♳" "♴"
|
||||
"♵" "♶" "♷" "♸" "♹" "♺" "♻" "♼" "♽" "♾" "⚊" "⚋" "⚌" "⚍" "⚎" "⚏" "⚝" "⚹" "⚺" "⚻" "⚼" "⛩" "⛪" "⛫"
|
||||
"⛰" "⛳" "⛶" "⛻" "⛼" "✀" "✁" "✂" "✃" "✄" "✅" "✆" "✇" "✈" "✉" "✊" "✋" "✌" "✍" "✎" "✏" "✐" "✑" "✒"
|
||||
"✓" "✔" "✕" "✖" "✗" "✘" "✙" "✚" "✛" "✜" "✝" "✞" "✟" "✠" "✡" "✢" "✣" "✤" "✥" "✦" "✧" "✨" "✩" "✪" "✫"
|
||||
"✬" "✭" "✮" "✯" "✰" "✱" "✲" "✳" "✴" "✵" "✶" "✷" "✸" "✹" "✺" "✻" "✼" "✽" "✾" "✿" "❀" "❁" "❂" "❃" "❄"
|
||||
"❅" "❆" "❇" "❈" "❉" "❊" "❋" "❌" "❍" "❎" "❏" "❐" "❑" "❒" "❓" "❔" "❕" "❖" "❗" "❘" "❙" "❛" "❜" "❝" "❞"
|
||||
"❟" "❠" "❡" "❢" "❣" "❤" "❥" "❦" "❧" "❨" "❩" "❪" "❫" "❬" "❭" "❮" "❯" "❰" "❱" "❲" "❳" "❴" "❵" "➔" "➕"
|
||||
"➖" "➗" "➘" "➙" "➚" "➛" "➜" "➝" "➞" "➟" "➠" "➡" "➢" "➣" "➤" "➥" "➦" "➧" "➨" "➩" "➪" "➫" "➬" "➭" "➮"
|
||||
"➯" "➰" "➱" "➲" "➳" "➴" "➵" "➶" "➷" "➸" "➹" "➺" "➻" "➼" "➽" "➾" "➿" "💯" "💱" "💹" "📈" "📉" "📊"
|
||||
"🔙" "🔚" "🔛" "🔜" "🔝" "🔞" "🔟" "🔠" "🔡" "🔢" "🔣" "🔤" "🔯" "🔰" "🔱" "🔲" "🔳" "🔴" "🔵" "🔶"
|
||||
"🔷" "🔸" "🔹" "🔺" "🔻" "🔼" "🔽" "🔾" "🔿" "🕀" "🕁" "🕂" "🕃" "🕄" "🕅" "🕆" "🕇" "🕈" "🕉"
|
||||
"🕐" "🕑" "🕒" "🕓" "🕔" "🕕" "🕖" "🕗" "🕘" "🕙" "🕚" "🕛" "🕜" "🕝" "🕞" "🕟" "🕠" "🕡" "🕢" "🕣"
|
||||
"🕤" "🕥" "🕦" "🕧" "🕨" "🕩" "🕪" "🖎" "🖏" "🖐" "🖑" "🖒" "🖓" "🖔" "🖕" "🖖" "🖗" "🖘" "🖙" "🖚" "🖛" "🖜"
|
||||
"🖝" "🖞" "🖟" "🖠" "🖡" "🖢" "🖣" "🗕" "🗖" "🗗" "🗘" "🗙")
|
||||
'astrological-sign
|
||||
'("♈" "♉" "♊" "♋" "♌" "♍" "♎" "♏" "♐" "♑" "♒" "♓")
|
||||
'living-place
|
||||
'("⛩" "⛪" "⛫" "⛬" "⛰" "⛱" "⛲" "⛳" "⛺" "🌃" "🌄" "🌅" "🌆" "🌇" "🌈" "🌉" "🌋" "🌍" "🌎" "🌏" "🌐"
|
||||
"🌑" "🌒" "🌓" "🌔" "🌕" "🌖" "🌗" "🌘" "🌙" "🌲" "🌳" "🌴" "🌵" "🎑" "🎡" "🎢" "🎦" "🎪" "🏔" "🏕" "🏖"
|
||||
"🏗" "🏘" "🏙" "🏚" "🏛" "🏜" "🏝" "🏞" "🏟" "🏠" "🏡" "🏢" "🏣" "🏤" "🏥" "🏦" "🏧" "🏨" "🏩" "🏪" "🏫"
|
||||
"🏬" "🏭" "🏮" "🏯" "🏰" "💈" "💒" "💺" "📡" "🕋" "🕌" "🕍" "🕳" "🗺" "🗻" "🗼" "🗽" "🗾" "🗿" "🥅"
|
||||
"🚉" "🚏" "🚾" "🛋" "🛐" "🛣" "🛤")
|
||||
'cards
|
||||
'("🂡" "🂢" "🂣" "🂤" "🂥" "🂦" "🂧" "🂨" "🂩" "🂪" "🂫" "🂬" "🂭" "🂮"
|
||||
"🂱" "🂲" "🂳" "🂴" "🂵" "🂶" "🂷" "🂸" "🂹" "🂺" "🂻" "🂼" "🂽" "🂾" "🂿"
|
||||
"🃁" "🃂" "🃃" "🃄" "🃅" "🃆" "🃇" "🃈" "🃉" "🃊" "🃋" "🃌" "🃍" "🃎" "🃏"
|
||||
"🃑" "🃒" "🃓" "🃔" "🃕" "🃖" "🃗" "🃘" "🃙" "🃚" "🃛" "🃜" "🃝" "🃞" "🃟"
|
||||
"🃠" "🃡" "🃢" "🃣" "🃤" "🃥" "🃦" "🃧" "🃨" "🃩" "🃪" "🃫" "🃬" "🃭" "🃮" "🃯" "🃰" "🃱" "🃲" "🃳" "🃴" "🃵")
|
||||
))
|
||||
|
||||
; Generate a list of n elements from a category
|
||||
(define (category-generate-list cat n)
|
||||
(random:sublist (hash-ref *adventurer-data* cat) n))
|
||||
|
||||
; Generate one element from a category
|
||||
(define (category-generate cat)
|
||||
(random:from-list (hash-ref *adventurer-data* cat)))
|
||||
|
||||
; Generate a name
|
||||
; Choose random characters from the name category, and a few from other categories
|
||||
(define (name-generate)
|
||||
(string-join
|
||||
(shuffle
|
||||
(append
|
||||
(category-generate-list 'name (+ 3 (random 5)))
|
||||
(map
|
||||
(lambda (x)
|
||||
(category-generate x))
|
||||
(random:sublist
|
||||
'(gender class health mana spells status inventory party astrological-sign cards)
|
||||
(+ 1 (random 5))))))
|
||||
""))
|
||||
|
||||
; Generate a battle cry
|
||||
; Choose random characters from the battle-cry category, and a few from other categories
|
||||
; Generated like a sentence with the pictograms making words
|
||||
(define (battle-cry-generate)
|
||||
(string-join
|
||||
(build-list
|
||||
(+ 2 (random 6))
|
||||
(lambda (_)
|
||||
(string-join
|
||||
(shuffle
|
||||
(append
|
||||
(category-generate-list 'battle-cry (+ 1 (random 5)))
|
||||
(map
|
||||
(lambda (x)
|
||||
(category-generate x))
|
||||
(random:sublist
|
||||
'(name gender class health mana spells status inventory party astrological-sign cards)
|
||||
(random 3)))))
|
||||
"")))
|
||||
"\u2003")) ; use em space between words as symbola's space is too small
|
||||
|
||||
; Generator
|
||||
(define (pictogrammic-adventurer-generate)
|
||||
(adventurer
|
||||
(name-generate)
|
||||
(category-generate 'gender)
|
||||
(category-generate 'species)
|
||||
(category-generate 'class)
|
||||
(string-join (make-list (+ 1 (random 9)) (category-generate 'health)) "")
|
||||
(string-join (make-list (+ 1 (random 9)) (category-generate 'mana)) "")
|
||||
(string-join (category-generate-list 'mana (+ 2 (random 8))) "")
|
||||
(string-join (category-generate-list 'status (+ 1 (random 4))) "")
|
||||
(string-join (category-generate-list 'equipment (+ 3 (random 3))) "")
|
||||
(string-join (category-generate-list 'inventory (+ 3 (random 12))) "")
|
||||
(string-join (category-generate-list 'party (+ 1 (random 4))) "")
|
||||
(battle-cry-generate)
|
||||
(category-generate 'astrological-sign)
|
||||
(category-generate 'living-place)
|
||||
(string-join (category-generate-list 'cards 5) "")
|
||||
))
|
|
@ -3,11 +3,13 @@
|
|||
; Pages with minor generators, often written in javascript
|
||||
(require
|
||||
"templates.rkt"
|
||||
racket/string)
|
||||
racket/string
|
||||
"../generators/pictogrammic-adventurer.rkt")
|
||||
|
||||
(provide
|
||||
pages:other-generators
|
||||
pages:color-scheme-generator)
|
||||
pages:color-scheme-generator
|
||||
pages:pictogrammic-adventurer)
|
||||
|
||||
; About page on the other generators
|
||||
(define pages:other-generators
|
||||
|
@ -61,3 +63,41 @@
|
|||
"The colors are displayed with their RGB values. "
|
||||
))
|
||||
)))
|
||||
|
||||
(define pages:pictogrammic-adventurer
|
||||
(pages:template
|
||||
#:title "Pictogrammic Adventurer Generator"
|
||||
#:author "feuforeve.fr"
|
||||
#:stylesheets '("/css/feuforeve.css" "/css/adventurer-generator.css")
|
||||
#:content
|
||||
(lambda (param)
|
||||
(let ((adv (pictogrammic-adventurer-generate)))
|
||||
`(article
|
||||
(section
|
||||
(a ((href "/Generators/PictogrammicAdventurer")) "New adventurer")
|
||||
(h3 "Adventurer's statistics")
|
||||
(table ((class "adventurer-sheet"))
|
||||
,@(map
|
||||
(lambda (x)
|
||||
`(tr (td (strong ,(car x)))
|
||||
(td ((class "adventurer-stats")) ,((cdr x) adv))))
|
||||
`(("Name" . ,adventurer-name)
|
||||
("Gender" . ,adventurer-gender)
|
||||
("Species" . ,adventurer-species)
|
||||
("Class" . ,adventurer-class)
|
||||
("Health" . ,adventurer-health)
|
||||
("Mana" . ,adventurer-mana)
|
||||
("Spells" . ,adventurer-spells)
|
||||
("Status" . ,adventurer-status)
|
||||
("Equiped" . ,adventurer-equipment)
|
||||
("Inventory" . ,adventurer-inventory)
|
||||
("Party" . ,adventurer-party)
|
||||
("Battle cry" . ,adventurer-battle-cry)
|
||||
("Astrological sign" . ,adventurer-astrological-sign)
|
||||
("Home" . ,adventurer-living-place)
|
||||
("Destiny cards" . ,adventurer-cards)))))
|
||||
(section
|
||||
(h3 "About")
|
||||
(p "This generator makes adventurer characters whose statistics are represented by symbols and pictograms. " (br)
|
||||
"The font " (a ((href "http://users.teilar.gr/~g1951d/")) "Symbola") " is used to display the pictograms. "))
|
||||
)))))
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(("Feufochmar")
|
||||
"/images/feufochmar.png")
|
||||
(("feuforeve.fr")
|
||||
("/images/feuforeve.png"))
|
||||
"/images/feuforeve.png")
|
||||
(else
|
||||
#f)))
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
@font-face {
|
||||
font-family: Symbola_Webfont;
|
||||
src: url('/fonts/Symbola.ttf');
|
||||
}
|
||||
|
||||
.adventurer-stats {
|
||||
font-family: "Symbola_Webfont";
|
||||
font-size: xx-large;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.adventurer-sheet {
|
||||
background-color: hsla(230, 10%, 90%, 0.90);
|
||||
}
|
|
@ -136,7 +136,7 @@ th {
|
|||
border-style: solid;
|
||||
border-width: thin;
|
||||
border-collapse: collapse;
|
||||
padding: 1ex;
|
||||
padding: 0.5ex;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
@ -144,6 +144,6 @@ td {
|
|||
border-style: solid;
|
||||
border-width: thin;
|
||||
border-collapse: collapse;
|
||||
padding: 1ex;
|
||||
padding: 0.5ex;
|
||||
text-align: center;
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue