import streamlit as st
# Function to generate HTML with textarea
def generate_html_with_textarea(text_to_speak):
return f'''
Read It Aloud
π Read It Aloud
'''
# Game list and associated icons
games = ['Terraforming Mars', 'Twilight Imperium (Fourth Edition)', 'Scythe', 'Eclipse', 'Small World', 'Risk Legacy', 'Axis & Allies', 'Diplomacy', 'Pandemic Legacy: Season 1', 'Brass: Birmingham']
icons = ['πͺ', 'π', 'π€', 'π', 'π§ββοΈ', 'πΊοΈ', 'βοΈ', 'π€', 'π¦ ', 'π']
# Main code
st.title('Top Ten Board Games with Map-Making Strategies πΊοΈ')
for i, (game, icon) in enumerate(zip(games, icons)):
st.markdown(f"{i + 1}. {game} {icon}")
# Expanders for each game to outline map rules or strategies
with st.expander(f"See Map Building & Gamification Strategy for {game}"):
# Defining text for each game's map strategy to use as a variable
text_to_speak = ""
if game == 'Terraforming Mars':
text_to_speak = "πͺπ‘ **Terraforming Mars** \n1οΈβ£ π±π§ Opt for plant-heavy and water tiles \n2οΈβ£ ππ Position factories near volcanic areas \n3οΈβ£ ππ‘ Control key parameters and energy grid \n4οΈβ£ π€οΈπ‘οΈ Connect colonies and temperature control \n5οΈβ£ ππ― Upgrade spaceports and aim for synergies."
st.markdown(text_to_speak)
elif game == 'Twilight Imperium (Fourth Edition)':
text_to_speak = "ππ **Twilight Imperium** \n1οΈβ£ πβοΈ Position fleets in strategic nebulas and balance resources \n2οΈβ£ π°π‘οΈ Fortify chokepoints and use PDS systems \n3οΈβ£ ππ Effective trade routes and wormhole caution \n4οΈβ£ ππ Prioritize Mecatol Rex and moon attacks \n5οΈβ£ π οΈπ€ Optimize unit upgrades and forge alliances."
st.markdown(text_to_speak)
elif game == 'Scythe':
text_to_speak = "π€ποΈ **Scythe** \n1οΈβ£ ποΈπ οΈ Choose starting positions and factory cards \n2οΈβ£ πΊοΈπ Be aware of neighbors and control rivers \n3οΈβ£ ππ‘οΈ Maximize resource buildings and backdoor defense \n4οΈβ£ π―πΎ Focus objectives and manage food \n5οΈβ£ π²π Play probabilities and hunt treasures."
st.markdown(text_to_speak)
elif game == 'Eclipse':
text_to_speak = "ππ **Eclipse** \n1οΈβ£ ππ Control sectors and central hexes \n2οΈβ£ πΈπ‘οΈ Build formidable fleets and defenses \n3οΈβ£ ππ Prioritize production and research \n4οΈβ£ π€π Trade and diplomacy \n5οΈβ£ ππ Wormhole travel and expansion speed."
st.markdown(text_to_speak)
elif game == 'Small World':
text_to_speak = "π§ββοΈπ **Small World** \n1οΈβ£ πΊοΈπ Choose realms and races wisely \n2οΈβ£ ππ‘οΈ Exploit powers and defend territories \n3οΈβ£ ππ Collect victory coins and treasures \n4οΈβ£ π€π Forge short alliances and occupy mountains \n5οΈβ£ ππ° Know when to decline and occupy forts."
st.markdown(text_to_speak)
elif game == 'Risk Legacy':
text_to_speak = "πΊοΈβοΈ **Risk Legacy** \n1οΈβ£ πΊοΈβοΈ Control continents and aggressive expansion \n2οΈβ£ π‘οΈπ Fortify borders and use fortresses \n3οΈβ£ ππ Complete missions and airfields \n4οΈβ£ ππ₯ Collect victory points and scorched earth \n5οΈβ£ π€π Alliances and betrayal."
st.markdown(text_to_speak)
elif game == 'Axis & Allies':
text_to_speak = "βοΈπ **Axis & Allies** \n1οΈβ£ βοΈπ Strategic frontlines and global dominance \n2οΈβ£ ππ Resource management and economy \n3οΈβ£ π‘οΈπ’ Naval blockades and fortress defenses \n4οΈβ£ ποΈπ― Focused objectives and key battles \n5οΈβ£ π€π₯ Alliances and surprise attacks."
st.markdown(text_to_speak)
elif game == 'Diplomacy':
text_to_speak = "π€π **Diplomacy** \n1οΈβ£ π€π Negotiation and written orders \n2οΈβ£ πΊοΈπ‘οΈ Strategic positioning and defenses \n3οΈβ£ π’β Naval forces and chokepoints \n4οΈβ£ π°π Territory control and key regions \n5οΈβ£ ππ Timing and deception."
st.markdown(text_to_speak)
elif game == 'Pandemic Legacy: Season 1':
text_to_speak = "π¦ π **Pandemic Legacy** \n1οΈβ£ π¦ π¬ Cure research and outbreak control \n2οΈβ£ ππ Global movement and airlifts \n3οΈβ£ π₯π‘οΈ Build research stations and quarantine \n4οΈβ£ ππ― Complete objectives and bonus cards \n5οΈβ£ π€π Teamwork and role synergy."
st.markdown(text_to_speak)
elif game == 'Brass: Birmingham':
text_to_speak = "ππ€οΈ **Brass Birmingham** \n1οΈβ£ ππ€οΈ Industry and canal routes \n2οΈβ£ ππΊ Economic management and beer supply \n3οΈβ£ π οΈπΊοΈ Optimize developments and map control \n4οΈβ£ π€π‘ Partnerships and market strategy \n5οΈβ£ ππ Railroads and victory points."
st.markdown(text_to_speak)
# Button to read the strategies aloud
if st.button(f"π Read {game}'s Strategies Aloud"):
st.markdown(generate_html_with_textarea(text_to_speak), unsafe_allow_html=True)