#Extend this to make it a fun game and injecct emojis and a game rule system driven by UI buttons and other features for UI interaction in streamlit like html5 components and markdown. Do this all in a long python program and show only a signle code listing: import streamlit as st import streamlit as st def main(): st.title("D&D Miniatures Roleplay Ruleset") st.markdown("### 🎲 Introduction") st.write("- Overview of D&D Miniatures") st.write("- Purpose of the Roleplay Ruleset") st.markdown("### 🧙‍♂️ Character Creation") st.write("- Choose a Miniature Figure") st.write("- Assign Abilities and Skills") st.write("- Determine Hit Points and Armor Class") st.markdown("### ⚔️ Combat Rules") st.write("- Initiative Order") st.write("- Movement and Range") st.write("- Attack and Damage Rolls") st.write("- Special Abilities and Spells") st.markdown("### 🌐 Scenarios and Objectives") st.write("- Setting Up the Battle Map") st.write("- Victory Conditions") st.write("- Optional Rules for Campaign Play") st.markdown("### 📜 Resources") st.write("- Rulebook and Errata") st.write("- Online Community and Forums") st.write("- Additional Miniatures and Accessories") st.markdown("### 🎉 Conclusion") st.write("- Encouragement for Creativity and Fun") st.write("- Feedback and Suggestions for Improvement") st.markdown("---") st.markdown("## Method Steps of Play") topics = ["Character Creation", "Combat Rules", "Scenarios and Objectives", "Resources"] method_steps = { "Character Creation": [ "Choose a Miniature Figure", "Assign Abilities and Skills", "Determine Hit Points and Armor Class" ], "Combat Rules": [ "Roll for Initiative Order", "Calculate Movement and Range", "Perform Attack and Damage Rolls", "Utilize Special Abilities and Spells" ], "Scenarios and Objectives": [ "Set Up the Battle Map", "Define Victory Conditions", "Consider Optional Rules for Campaign Play" ], "Resources": [ "Refer to Rulebook and Errata", "Engage with the Online Community and Forums", "Explore Additional Miniatures and Accessories" ] } for topic in topics: st.markdown(f"### {topic}") for step in method_steps[topic]: st.write(f"- {step}") if __name__ == "__main__": main()