Coder Social home page Coder Social logo

prong.py's People

Contributors

sms-ocram avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

prong.py's Issues

Add Modo Multiplayer e Single Player

Olá De novo
Com base na teoria do seu video do Prong do C# tive uma ideia de fazer o "Modo Multiplayer e Single Player" do seu jogo
hehe
Fiz o Jogador 2 ficar mexendo de um lado para o outro
Se quiser vou fazer um Pull Request
Obrigado pela Paciencia e a Atenção =)

Erro pygame.error: video system not initialized

Bom dia, ao fechar o jogo aparecem alguns erros, o que devo fazer para corrigi-los?
Os erros são os seguintes:
Traceback (most recent call last): File "c:\Users\ESHM\Desktop\Pedro_18\jogopong.py", line 103, in <module> atualizar() File "c:\Users\ESHM\Desktop\Pedro_18\jogopong.py", line 59, in atualizar keys = pygame.key.get_pressed() pygame.error: video system not initialized
O meu código tem algumas alterações que fiz, mas apenas em alguns tamanhos e valores, aqui está o código:
`from pygame import DOUBLEBUF
import pygame
from pygame.locals import *
from OpenGL.GL import *
import time

largura_janela = 640
altura_janela = 480

xDaBola = 0
yDaBola = 0
tamanhoDaBola = 20
velocidadeDaBolaEmX = 0.20
velocidadeDaBolaEmY = 0.20

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, xDoJogador2, xDoJogador1, tamanhoDaBola, largura_janela, altura_janela, larguraDosJogadores

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:
    time.sleep(1)
    xDaBola = 0 
    yDaBola = 0


keys = pygame.key.get_pressed()
if keys [K_w]:
    yDoJogador1 = yDoJogador1 + 0.50

if keys [K_s]:
    yDoJogador1 = yDoJogador1 - 0.50

if keys [K_UP]:
    yDoJogador2 = yDoJogador2 + 0.50

if keys [K_DOWN]:
    yDoJogador2 = yDoJogador2 - 0.50

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()
pygame.event.pump()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
#pygame.event.pump()`

Desculpe se fiz alguma coisa mal, ainda estou a aprender a utilizar o github e python

Update Prong.Py

Olá O Programador! Tudo Bem?

Fui executar o seu código e vi que dava para dar uns upgrades nele.

  • Coloquei o evento de fechar a janela
  • Diminui a Velocidade do Jogador e da Bola

E só isso seu código foi bem feito e só isso que tive que mudar

Obrigado pela atenção (^ ^)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.