Multiplayer / _init_.py
ILLERRAPS's picture
Upload folder using huggingface_hub
2cdc05c verified
import requests
from dotenv import load_dotenv
from flask import Flask, request
from flask_sqlalchemy import SQLAlchemy
from gradio import Button, Interface, Textbox
# Initialize Flask app
app = Flask(__name__)
# Load environment variables
load_dotenv()
# Initialize SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///game.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
# Define your SQLAlchemy model
class Character(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
level = db.Column(db.Integer)
class_ = db.Column(db.String(50))
health = db.Column(db.Integer)
strength = db.Column(db.Integer)
agility = db.Column(db.Integer)
# Define your Flask routes
@app.route('/')
def index():
return "Welcome to the RPG Game!"
@app.route('/create_character', methods=['POST'])
def create_character():
# Parse input data from request
data = request.json
name = data['name']
level = data['level']
class_ = data['class']
health = data['health']
strength = data['strength']
agility = data['agility']
# Create a new character instance
character = Character(name=name, level=level, class_=class_, health=health, strength=strength, agility=agility)
db.session.add(character)
db.session.commit()
return f"Character {name} created successfully!"
# Define Gradio interface components
textbox = Textbox(placeholder="Character name")
button = Button("Create Character")
# Define function to be called when button is clicked
def create_character_callback(name):
# Send request to Flask route to create character
response = requests.post("http://localhost:5000/create_character", json={"name": name, "level": 1, "class": "Warrior", "health": 100, "strength": 10, "agility": 5})
return f"Character {name} created successfully!"
# Create Gradio interface
iface = Interface(inputs=textbox, outputs=create_character_callback, title="RPG Character Creator", theme="compact", layout="vertical", server_name="localhost", server_port=8080)
if __name__ == '__main__':
# Run Flask app
app.run(port=5000, debug=True)