páginas

Processo de aprendizagem mediante o desenvolvimento e Interação com jogos eletrônicos

Página inicial

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

python licence github

UFRJ NCE LABASE

 


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




Comments

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

![Os Agentes da J.A.I.E](_media/super_jogo_sp_ctl.svg)

### 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

![[J.A.I.E - C.B.I.E 2024](../../_media/cbie_jaie.svg)](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

[![UFRJ](https://labase.github.io/image/ufrj-logo-8.png)](https://ufrj.br/)
[![NCE](https://labase.github.io/image/nce-logo-8.png)](http://www.nce.ufrj.br/)
[![LABASE](https://labase.github.io/image/labase-logo-8.png)](http://labase.selfip.org/)
[![CBIE](../../_media/cbie.png)](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



Somente os participantes de Superpython_Jogos podem comentar.

ActivUFRJ version 0.19.0910 - ©2010-2019 NCE/UFRJ