Comments (5)
Update Prong.py By @oprogramadorreal
import pygame
from pygame.locals import *
import OpenGL
from OpenGL.GL import *
LARGURA_JANELA = 640
ALTURA_JANELA = 480
xDaBola = 0
yDaBola = 0
tamanhoDaBola = 20
velocidadeDaBolaEmX = 0.1
velocidadeDaBolaEmY = 0.1
yDoJogador1 = 0
yDoJogador2 = 0
def xDoJogador1():
return -LARGURA_JANELA / 2 + larguraDosJogadores() / 2
def xDoJogador2():
return LARGURA_JANELA / 2 - larguraDosJogadores() / 2
def larguraDosJogadores():
return tamanhoDaBola
def alturaDosJogadores():
return 3 * tamanhoDaBola
def atualizar():
global xDaBola, yDaBola, velocidadeDaBolaEmX, velocidadeDaBolaEmY, yDoJogador1, yDoJogador2
xDaBola = xDaBola + velocidadeDaBolaEmX
yDaBola = yDaBola + velocidadeDaBolaEmY
if (xDaBola + tamanhoDaBola / 2 > xDoJogador2() - larguraDosJogadores() / 2
and yDaBola - tamanhoDaBola / 2 < yDoJogador2 + alturaDosJogadores() / 2
and yDaBola + tamanhoDaBola / 2 > yDoJogador2 - alturaDosJogadores() / 2):
velocidadeDaBolaEmX = -velocidadeDaBolaEmX
if (xDaBola - tamanhoDaBola / 2 < xDoJogador1() + larguraDosJogadores() / 2
and yDaBola - tamanhoDaBola / 2 < yDoJogador1 + alturaDosJogadores() / 2
and yDaBola + tamanhoDaBola / 2 > yDoJogador1 - alturaDosJogadores() / 2):
velocidadeDaBolaEmX = -velocidadeDaBolaEmX
if yDaBola + tamanhoDaBola / 2 > ALTURA_JANELA / 2:
velocidadeDaBolaEmY = -velocidadeDaBolaEmY
if yDaBola - tamanhoDaBola / 2 < -ALTURA_JANELA / 2:
velocidadeDaBolaEmY = -velocidadeDaBolaEmY
if xDaBola < -LARGURA_JANELA / 2 or xDaBola > LARGURA_JANELA / 2:
xDaBola = 0
yDaBola = 0
keys = pygame.key.get_pressed()
if keys[K_w]:
yDoJogador1 = yDoJogador1 + 0.5
if keys[K_s]:
yDoJogador1 = yDoJogador1 - 0.5
if keys[K_UP]:
yDoJogador2 = yDoJogador2 + 0.5
if keys[K_DOWN]:
yDoJogador2 = yDoJogador2 - 0.5
def desenharRetangulo(x, y, largura, altura, r, g, b):
glColor3f(r, g, b)
glBegin(GL_QUADS)
glVertex2f(-0.5 * largura + x, -0.5 * altura + y)
glVertex2f(0.5 * largura + x, -0.5 * altura + y)
glVertex2f(0.5 * largura + x, 0.5 * altura + y)
glVertex2f(-0.5 * largura + x, 0.5 * altura + y)
glEnd()
def desenhar():
glViewport(0, 0, LARGURA_JANELA, ALTURA_JANELA)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(-LARGURA_JANELA / 2, LARGURA_JANELA / 2, -ALTURA_JANELA / 2, ALTURA_JANELA / 2, 0, 1)
glClear(GL_COLOR_BUFFER_BIT)
desenharRetangulo(xDaBola, yDaBola, tamanhoDaBola, tamanhoDaBola, 1, 1, 0)
desenharRetangulo(xDoJogador1(), yDoJogador1, larguraDosJogadores(), alturaDosJogadores(), 1, 0, 0)
desenharRetangulo(xDoJogador2(), yDoJogador2, larguraDosJogadores(), alturaDosJogadores(), 0, 0, 1)
pygame.display.flip()
pygame.init()
pygame.display.set_mode((LARGURA_JANELA, ALTURA_JANELA), DOUBLEBUF | OPENGL)
while True:
atualizar()
desenhar()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
pygame.event.pump()
from prong.py.
Que legal, cara! Foi a primeira contribuição que eu recebi aqui. Tentei deixar o código o mais simples possível por fins dadáticos (para tentar deixar parecido com a versão em C# e para não deixar o vídeo muito longo). De qualquer forma, muuuuito obrigado!
from prong.py.
Caraca Obrigado você por deixar ter uma experiencia tão legal =)
from prong.py.
Experiência legal pra mim tbm. Aliás, vc conseguiria criar um pull request com o seu código? Dai fica mais fácil ver as suas alterações. (Não sei se é possível criar pull request ou eu tenho que liberar alguma permissão aqui.)
from prong.py.
Consigo sim ja vo criar =)
from prong.py.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prong.py.