E agora para algo totalmente diferente!
Aprenda Python resolvendo, modificando e criando desafios e jogos
Aqui você pode resolver vários desafios que irão te guiar no conhecimento de diversas feições da programação Python.
Curumim é um pequeno indígena que escapou de um massacre em sua aldeia. Por sorte ele ainda lembra dos ensinamentos do Pajé. Ela lembra da magia da cobra de fogo, a Python Boitatá.
Autor: Carlo E. T. Oliveira
Affiliation: Universidade Federal do Rio de Janeiro
License: GNU General Public License v3 or later (GPLv3+)
Homepage: Pynoplia Aprenda Python com Jogos
Changelog: CHANGELOG
Esta é a página de apresentação de Superpython_Jogos no ActivUFRJ.
from vitollino import Jogo as Povo
class Curumim(Povo.Kaiowa):
def executa(self):
self.direita()
for andou in (1,2,3):
self.fala("socorro minha vida esta´ em risco"):
self.andar(1,2,3):
self.fala("estou seguro. Obrigado"):
Created by carlo at 06/08/2024 às 11:52
Updated by carlo at 01/03/2025 às 10:19
Obrigada pela atenção e pela oportunidade
Comentado por 021.kevin_Gabriel em 10/08/2024 às 10:03
Obrigado pela atenção e pela a oportunidade
Comentado por 021.kevin_Gabriel em 10/08/2024 às 10:04
Perfeito demais
Comentado por kaykegomes em 20/08/2024 às 14:24
# Manual dos Agentes da J.A.I.E
> E agora para algo totalmente diferente!
> Aprenda Python resolvendo, modificando e criando desafios e jogos

### Uma Plataforma para Resolver e Criar Desafios
Aqui você pode resolver vários desafios que irão te guiar
no conhecimento de diversas feições da programação Python.
### Um Tutorial em Forma de Jogo onde Você é Curumim.
Curumim é um pequeno indígena que escapou de um massacre
em sua aldeia. Por sorte ele ainda lembra dos ensinamentos
do Pajé. Ela lembra da magia da cobra de fogo, a Python Boitatá.
### Ficha Técnica da Plataforma Pynóplia
**Autor:** `Carlo E. T. Oliveira`
**Affiliation:** `Universidade Federal do Rio de Janeiro`
**License:** `GNU General Public License v3 or later (GPLv3+)`
**Homepage:** [Pynoplia Aprenda Python com Jogos]
**Changelog:** [CHANGELOG](CHANGELOG.md)
Pasta de Arquivos J.A.I.E
Coverpage
](https://cbie.sbc.org.br/2024/jaie/)
# Pynoplia J.A.I.E - C.B.I.E 2024 24.08
> Usando jogos na educação.
[Jogos na Educação](#jaie-24-vivendo-e-aprendendo-a-jogar)
[Primeiro Jogo](/pjog)
Footer
[](https://ufrj.br/)
[](http://www.nce.ufrj.br/)
[](http://labase.selfip.org/)
[](https://cbie.sbc.org.br/2024/jaie/)
Side bar
- [Apresentação](README)
- [Mini Guia Python](#mini-guia-python)
- [Guia Vitollino](#guia-vitollino)
- [Guia Teclemmino](#guia-teclemmino)
- [Guia Mini Jogos](#guia-mini-jogos)
- [Relógio e a Carta](#relógio-e-a-carta)
- [Relógio e o Poema](#relógio-e-o-poema)
Comentado por Olhosdeaguia em 11/09/2024 às 15:46
from vitollino import Sala, Elemento, Texto, Jogo
from vitollino import Roteiro, Ator, Fala, A
Jogo(style=dict(height="500px", width="650px"), did="_jogo_").z()
cenas = "japones relogio mirante tomjobim".split()
jardim = Sala(*[f"/_ativo/jardim/{cena}.jpg" for cena in cenas])
cena = jardim.oeste.vai()
local = "/_ativo/jardim/"
personagens = ("narciso", 450), ("ossanha", 250), ("tetis", 50)
narciso, ossanha, tetis = [Elemento(f"{local}{nome}.png", x=x, y=200, h=300, w=200, cena=cena)
for nome, x in personagens]
elenco = (Ator(tetis, "Tetis", 0.4, A.e), Ator(ossanha, "Ossanha", 0.4, A.m),
Ator(narciso, "Narciso", 0.4, A.d))
falas = [
Fala(tetis, "comigo fais tempo que eu não tivecho?", narciso, None),
Fala(narciso, "yogo não fale com ele", ossanha, None),
Fala(ossanha, "o migel vocé siacha o dono do mundo !", narciso, None),
Fala(narciso, "do mundo todo tá !", tetis, None),
Fala(tetis, "eitá o yago tem um amigo que si siacha né!", tetis, None),
]
Roteiro(cena, falas, elenco)
Comentado por Olhosdeaguia em 11/09/2024 às 16:35
from vitollino import Cena, Texto, Jogo, Elemento
from cenario import Planilha, Paisagem
from random import randit= -4000
Jogo(style=dict(height="500px", width="650px"), did="_jogo_").z()
class UmaGarrafa:
def __init__(self):
imagem_da_praia = "_ativo/agentes/praia.jpeg"
mapa_praia = Planilha(imagem_da_praia, conta_lado=4.3)
p = Paisagem(mapa_praia.j[5]).vai()
self.garrafa = Elemento(img="/_ativo/agentes/carta_garrafa.png", w=30, h=10,
x=100, y=300, cena=p, o=0.5, vai=self.acha_garrafa)
self.x randit( = 0.400) #deixa a garrafa transparente
self.carta = Elemento(img="/_ativo/agentes/carta_velha.jpg", w=250, h=400,
x=ESCONDE, y=50, cena=p, texto="Mas o que está escrito aqui?", foi=self.aparece_kayke)
self.kayke = Elemento(img="/_ativo/agentes/kayke.png", w=250, h=400,
x=ESCONDE, y=50, cena=p, texto="Deixa que eu vou decifrar")
def acha_garrafa(self, *_):
self.carta.x = 100 # tras a carta para a cena
self.garrafa.vai = self.nada_faz
def nada_faz(self, *_):
pass
def aparece_kayke(self, *_):
# escreva aqui algo semelhante a acha_garrafa
self.kayke.x = 100
pass
UmaGarrafa()
Comentado por 021.kevin_Gabriel em 25/09/2024 às 15:30
from vitollino import Cena, Texto, Jogo, Elemento, INVENTARIO as INV
from cenario import Planilha, Paisagem, Paisagens
from random import shuffle, randint
Jogo(style=dict(height="500px", width="650px"), did="_jogo_").z()
ESCONDIDO = -4000
_, __ = -1000, -2000
class UmaGarrafa:
def __init__(self):
imagem_da_praia = "_ativo/agentes/praia.jpeg"
mapa_praia = Planilha(imagem_da_praia, conta_lado=4.3)
pg = Paisagens(mapa_praia.j)
p = pg.norte
locais = [pg.norte, pg.leste, pg.sul, pg.oeste]
shuffle(locais)
alturas = [x for x in range(260, 460, 25)]
shuffle(alturas)
distancias = [x for x in range(100, 560, 50)]
shuffle(distancias)
p.vai()
local_carta = locais.pop()
self.garrafa = Elemento(img="/_ativo/agentes/carta_garrafa.png", w=30, h=10,
x=100, y=300, cena=p, o=0.5, vai=self.acha_garrafa)
self.garrafa.o = 0.3 #deixa a garrafa transparente
self.carta = Elemento(img="/_ativo/agentes/carta_velha.jpg", w=250, h=400,
x=ESCONDIDO, y=50, cena=p, texto="Mas o que está escrito aqui?", foi=self.aparece_kayke)
self.kayke = Elemento(img="/_ativo/agentes/kayke.png", w=250, h=400,
x=ESCONDIDO, y=50, cena=p, texto="Deixa que eu vou decifrar", foi=self.tem_bau)
self.bau = Elemento(img="/_ativo/agentes/bau.png", w=50, h=40,
x=ESCONDIDO, y=250, cena=locais.pop(),
texto="O que tem dentro do baú? Precisa de chave!", foi=self.precisa_chave)
self.bau.o = 0.4
self.chave = Elemento(img="/_ativo/agentes/chave.png", w=50, h=40,
x=ESCONDIDO, y=250, cena=locais.pop(), texto="Achamos a chave!", foi=self.tem_chave)
self.chave.o = 0.4
def tem_bau(self, *_):
self.kayke.foi = lambda *_: INV.some(self.kayke) # kayke sai de cena
# troque o _ e invente a explicação que o Kayke viu na carta
self.kayke.texto = "ola kayke vamos achar o bau e a chaver pra podar abrir"
# troque _ por randint para o baú aparecer em um lugar qualquer
self.bau.x = randint(100, 400)
self.bau.y = randint(200, 400)
def acha_garrafa(self, *_):
self.carta.x = 100 # tras a carta para a cena
self.garrafa.vai = self.nada_faz # não clica depois da carta
def nada_faz(self, *_):
pass
def aparece_kayke(self, *_):
# escreva aqui algo semelhante a acha_garrafa troque _ por um valor
self.kayke.x = 380
def precisa_chave(self):
self.chave.x = 390 # faça a chave aparecer, mude _ por um valor
def tem_chave(self):
self.chave.x = 0 # faça a chave sumir
# troque _ por um texto que descreva o que tem no baú
self.bau.texto = "_"
UmaGarrafa()
Comentado por 021.kevin_Gabriel em 02/10/2024 às 14:56
from vitollino import Cena, Texto, Jogo, Elemento
from cenario import Planilha, Paisagens
ESCONDE = -4000
Jogo(style=dict(height="500px", width="650px"), did="_jogo_").z()
class UmaAventura:
def __init__(self):
imagem_da_praia = "_ativo/agentes/praia.jpeg"
mapa_praia = Planilha(imagem_da_praia, conta_lado=4.3)
pg = Paisagens(mapa_praia.j[4:])
p = pg.norte
p.vai()
UmaAventura()
Comentado por 021.kevin_Gabriel em 02/10/2024 às 16:07
os_bichos="a-PANTANAL, b-ONÇA PINTADA, c-ARIRANHA"
bichos = "escolha um bicho do patanal:" + os bichos
bicho = input(bichos)
while bicho not in "ab":
bicho = input(bichos)
input("você acertou")
Comentado por Olhosdeaguia em 09/10/2024 às 14:24
# procure dicas no Guia
fron vtollino import cena, jogo, sala
jogo(height="450px", width="600px"), did="_jogo_").z()
a_cena = cena("_cenas/pentanal1.jpeg").vai()
elemento("_ativo/rosalinda.png", x=200, y=300, cena=a_cena)
elemento("_ativo/snct/karaja.png", "_cenas/desmatamento.jpg")
s = sala(n, l, s, o)
s.sul.vai()
Comentado por Olhosdeaguia em 09/10/2024 às 15:57
from vitollino import Cena, Jogo, Elemento, Sala
Jogo(style=dict(height="450px", width="600px"), did="_jogo_").z()
# a_cena = Cena("_cenas/pantanal1.jpeg").vai()
n, s = "_cenas/caatinga1.jpeg", "_cenas/pantanal1.jpeg"
l, o = "_cenas/mata-atlantica.jpg", "_cenas/desmatamento.jpg"
s = Sala(n, l, s, o)
s.sul.vai()
fn, fl = "Olha o Jacaré!", "Sou um guardião"
fs, fo = "Muitos Jacarés!", "Guardião da Terra"
Elemento("_ativo/rosalinda.png", x=200, y=300, texto=fn, cena=s.norte)
Elemento("_ativo/snct/karaja.png", x=400, y=300, texto=fl, cena=s.leste)
Elemento("_ativo/rosalinda.png", x=200, y=300, texto=fs, cena=s.sul)
Elemento("_ativo/snct/karaja.png", x=400, y=300, texto=fo, cena=s.oeste)
# procure dicas no Guia
from vitollino import Cena, Jogo, Sala
Jogo(style=dict(height="450px", width="600px"), did="_jogo_").z()
n, s = "_cenas/caatinga1.jpeg", "_cenas/pantanal1.jpeg"
l, o = "_cenas/mata-atlantica.jpg", "_cenas/desmatamento.jpg"
s = Sala(n, l, s, o)
s.sul.vai()
# procure dicas no Guia
from vitollino import Cena, Jogo, Elemento, Sala
Jogo(style=dict(height="450px", width="600px"), did="_jogo_").z()
# a_cena = Cena("_cenas/pantanal1.jpeg").vai()
n, s = "_cenas/caatinga1.jpeg", "_cenas/pantanal1.jpeg"
l, o = "_cenas/mata-atlantica.jpg", "_cenas/desmatamento.jpg"
s = Sala(n, l, s, o)
s.sul.vai()
Elemento("_ativo/rosalinda.png", x=200, y=300, cena=s.norte)
Elemento("_ativo/snct/karaja.png", x=400, y=300, cena=s.leste)
Elemento("_ativo/rosalinda.png", x=200, y=300, cena=s.sul)
Elemento("_ativo/snct/karaja.png", x=400, y=300, cena=s.oeste)
Resolvendo alguns problemas do acesso do Activ
Contando os bichos
# Corrija todos os nomes e valores para que fique certo
conta_micos, conta_tatus, conta_corujas, conta_tucanos = 3+7, 6+2, 0+0, 0+0
conta_mamíferos, conta_aves = conta_micos+ conta_tatus, conta_tatus+conta_tatus
conta_animais = 1*1
proporção_aves = conta_micos *100/conta_animais
proporção_mamíferos = conta_micos *100/conta_animais
print("conta mamíferos: ", conta_mamíferos, "conta aves: ", conta_aves)
print("conta micos: ", conta_micos, "conta tatus: ", conta_tatus)
print("conta corujas: ", conta_aves, "conta tucanos: ", conta_aves)
print("animais: ", conta_aves, f"proporção de aves: {conta_aves}%", f"proporção de mamíferos: {conta_aves}%")
# Corrija todos os nomes e valores para que fique certo
conta_micos, conta_tatus, conta_corujas, conta_tucanos = 3+7, 6+2, 5+6, 4+3
conta_mamíferos, conta_aves = conta_micos+ conta_tatus, conta_tucanos+conta_corujas
conta_animais = 4*9
proporção_aves = conta_aves *100/conta_animais
proporção_mamíferos = conta_mamíferos *100/conta_animais
print("conta mamíferos: ", conta_mamíferos, "conta aves: ", conta_aves)
print("conta micos: ", conta_micos, "conta tatus: ", conta_tatus)
print("conta corujas: ", conta_corujas, "conta tucanos: ", conta_tucanos)
print("animais: ", conta_animais, f"proporção de aves: {proporção_aves}%", f"proporção de mamíferos: {proporção_mamíferos}%")
# Corrija todos os nomes e valores para que fique certo
conta_micos, conta_tatus, conta_corujas, conta_tucanos = 3+7, 6+2, 5+6, 4+3
conta_mamíferos, conta_aves = conta_micos+ conta_tatus, conta_tucanos+conta_corujas
conta_animais = 4*9
proporção_aves = conta_aves *100/conta_animais
proporção_mamíferos = conta_mamíferos *100/conta_animais
print("conta mamíferos: ", conta_mamíferos, "conta aves: ", conta_aves)
print("conta micos: ", conta_micos, "conta tatus: ", conta_tatus)
print("conta corujas: ", conta_corujas, "conta tucanos: ", conta_tucanos)
print("animais: ", conta_animais, f"proporção de aves: {proporção_aves}%", f"proporção de mamíferos: {proporção_mamíferos}%")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
from vitollino import Sala, Elemento, Texto, Jogo
from vitollino import Roteiro, Ator, Fala, A
Jogo(style=dict(height="500px", width="650px"), did="_jogo_").z()
# cenas = "japones relogio mirante tomjobim".split()
cenas = "atras_escola2.jpeg laboratorio.jpg farmacia.jpg FAZENDa.jpg".split()
active_cenas="https://activufrj.nce.ufrj.br/studio/Superpython_Jogos/{}?disp=inline&size=G"
# jardim = Sala(*[f"/_ativo/jardim/{cena}.jpg" for cena in cenas])
jardim = Sala(*[active_cenas.format(cena) for cena in cenas])
cena = jardim.oeste.vai()
local = "/_ativo/jardim/"
personagens = ("cucan.png", 450), ("detetiven.png", 250), ("gado.jpg", 50)
narciso, ossanha, tetis = [Elemento(active_cenas.format(nome), x=x, y=200, h=300, w=200, cena=cena)
for nome, x in personagens]
foto_da_cuca = "https://activufrj.nce.ufrj.br/studio/Superpython_Jogos/cucan.png?disp=inline&size=G"
# cuca = Elemento(foto_da_cuca, x=350, y=200, h=300, w=200, cena=cena)
# narciso = cuca
elenco = (Ator(tetis, "Tetis", 0.4, A.e), Ator(ossanha, "Ossanha", 0.4, A.m),
Ator(narciso, "Cuca", 0.4, A.d))
falas = [
Fala(tetis, "Olá, Ossanha você por aqui?", narciso, None),
Fala(narciso, "Tetis, vou cozinhar você no caldeirão", ossanha, None),
Fala(ossanha, "Bruxa, você se acha o centro do mundo!", narciso, None),
Fala(narciso, "Vou devorar você também!", tetis, None),
Fala(tetis, "Eita, não pode ter mais de um deus que dá briga!", tetis, None),
]
Roteiro(cena, falas, elenco)
Comentado por Olhosdeaguia em 09/10/2024 às 16:11