joaomaia's picture
Add game files and setup for Streamlit deployment
bb7c4e7
import streamlit as st
import pygame
import numpy as np
# Inicializa o Pygame
pygame.init()
# Tamanho da tela do jogo
screen_width = 640
screen_height = 480
# Configurações da tela
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("A Jornada do Discípulo")
# Configurações do jogador
player_pos = [screen_width // 2, screen_height // 2]
player_size = 50
player_color = (0, 128, 255)
player_velocity = [0, 0]
# Função para renderizar o jogo
def render_game():
global player_pos, player_velocity
# Mover jogador
player_pos[0] += player_velocity[0]
player_pos[1] += player_velocity[1]
# Limitar a posição do jogador dentro da tela
if player_pos[0] < 0:
player_pos[0] = 0
elif player_pos[0] > screen_width - player_size:
player_pos[0] = screen_width - player_size
if player_pos[1] < 0:
player_pos[1] = 0
elif player_pos[1] > screen_height - player_size:
player_pos[1] = screen_height - player_size
# Renderizar a tela
screen.fill((0, 0, 0))
pygame.draw.rect(screen, player_color, (*player_pos, player_size, player_size))
# Converter a tela do Pygame para uma imagem e exibir no Streamlit
image = pygame.surfarray.array3d(pygame.display.get_surface())
image = np.rot90(image, 3)
image = np.fliplr(image)
st.image(image, caption='Jogo em execução', use_column_width=True)
# Integração com Streamlit
st.title('A Jornada do Discípulo')
# Controles do jogador
col1, col2, col3 = st.columns(3)
with col1:
if st.button('Esquerda'):
player_velocity[0] = -5
with col2:
if st.button('Parar'):
player_velocity = [0, 0]
with col3:
if st.button('Direita'):
player_velocity[0] = 5
if st.button('Cima'):
player_velocity[1] = -5
if st.button('Baixo'):
player_velocity[1] = 5
render_game()