#! /usr/bin/env python
#
# GPong Game
#
# Author : Galatolo Federico
# Mail : galatolo.federico@gmail.com
# Web : www.galatolo.net
#
# This source is under GNU/GPL
# Copyleft 2009 Galatolo Federico ;)
import pygame, sys,thread
from pygame.locals import *
pygame.init()
size = width, height = 600,400
black = 0,0,0
bar_px = 50
s = 3 # speed
win_points =10
down = [0,bar_px]
up = [0,-bar_px]
speed = [s,s]
mossemax=(height/bar_px)-1
pygame.display.set_caption("GPong - Galatolo Federico 2009")
screen = pygame.display.set_mode(size)
screen.fill(black)
font = pygame.font.Font(None, 75)
text1 = font.render("GPong Game",0,(255,255,255))
screen.blit(text1, (150,10))
font = pygame.font.Font(None, 25)
text = font.render("A/Q muove primo giocatore",0,(255,255,255))
screen.blit(text, (150,100))
font = pygame.font.Font(None, 25)
text = font.render("Frecce SU/GIU muove secondo giocatore",0,(255,255,255))
screen.blit(text, (150,130))
font = pygame.font.Font(None, 25)
text = font.render("Premi invio per iniziare",0,(255,255,255))
screen.blit(text, (180,230))
font = pygame.font.Font(None, 25)
text = font.render("(C) Copyleft 2009 - Galatolo Federico",0,(255,255,255))
screen.blit(text, (10,380))
pygame.display.flip()
go = 0
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_RETURN:
go = 1
break
if go == 1:
break
ball = pygame.image.load("ball.png").convert()
ball_pos = ball.get_rect()
ball_pos = ball_pos.move([10,10])
screen.blit(ball,ball_pos)
p1 = pygame.image.load("bar_red.png").convert()
p1_pos = p1.get_rect()
screen.blit(p1,p1_pos)
p2 = pygame.image.load("bar_blue.png").convert()
p2_pos = p2.get_rect()
p2_pos = p2_pos.move([width-10,0])
screen.blit(p2,p2_pos)
pygame.display.flip()
red = 0
blu = 0
mos_p1 = 0
mos_p2 = 0
while True:
if red == win_points:
print "Rosso vince",red,"a",blu
exit();
if blu == win_points:
print "Blu vince",blu,"a",red
exit();
ball_pos = ball_pos.move(speed)
if ball_pos.left < 0:
print "Punto per blu"
blu = blu + 1
print "Punteggio : Rosso:",red," Blu:",blu
ball = pygame.image.load("ball.png").convert()
ball_pos = ball.get_rect()
ball_pos = ball_pos.move([10,10])
screen.blit(ball,ball_pos)
speed = [s,s]
if ball_pos.right > width:
ball_pos = ball.get_rect()
ball_pos = ball_pos.move([10,10])
screen.blit(ball,ball_pos)
print "Punto per rosso"
speed = [s,s]
red = red + 1
print "Punteggio : Rosso:",red," Blu:",blu
if ball_pos.top < 0 or ball_pos.bottom > height:
speed[1] = -speed[1]
font = pygame.font.Font(None, 25)
text = font.render("%s - %s" % (red,blu),0,(255,255,255))
screen.fill((0,0,0))
screen.blit(ball,ball_pos)
screen.blit(p2,p2_pos)
screen.blit(p1,p1_pos)
screen.blit(text, ((width/2)-20,height-30))
pygame.display.flip()
if p2_pos.colliderect(ball_pos) == True or p1_pos.colliderect(ball_pos) == True:
speed[0] = -speed[0]
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == KEYDOWN:
if event.key == K_UP:
if mos_p2 > 0:
screen.blit(p2,p2_pos, p2_pos)
p2_pos = p2_pos.move(up)
mos_p2 = mos_p2 - 1
elif event.key == K_DOWN:
if mos_p2 < 7:
screen.blit(p2,p2_pos, p2_pos)
p2_pos = p2_pos.move(down)
mos_p2 = mos_p2 + 1
elif event.key == 113: #q
if mos_p1 > 0:
screen.blit(p1,p1_pos, p1_pos)
p1_pos = p1_pos.move(up)
mos_p1 = mos_p1 - 1
elif event.key == 97: #a
if mos_p1 < 7:
screen.blit(p1,p1_pos, p1_pos)
p1_pos = p1_pos.move(down)
mos_p1 = mos_p1 + 1