mypong.py

Created by yaya-cout

Created on June 18, 2022

2.71 KB

```from math import *
from ion import *
from kandinsky import *
import random
import time

def setup():
global gauche,speed,blank,barre,j2,ball,x,y,ballx,bally,points,play,multi,j2x,j2y,iavar
gauche  = True
speed   = 2
blank   = color(0,0,0)
barre   = color(250,250,250)
j2      = color(250,250,250)
ball    = color(127,127,127)
x       = 0
y       = random.randint(0,200)
j2x     = 300
j2y     = random.randint(0,200)
ballx   = 300
bally   = random.randint(0,200)
points  = 0
play    = True
joueurs = input("Nbr de joueurs (1 / 2) : ")
iavar=ia()
if joueurs == "2":
multi=True
else:
multi=False

def circle(x,y,color,taille):
fill_rect(x,y,taille,taille,color)
return
for xl in range(x-taille,x+taille):
for yl in range(y-taille,y+taille):
set_pixel(xl,yl,color)

def color_get_zone(x,y,color,taille):
for xl in range(x,x+taille):
for yl in range(y,y+taille):
if get_pixel(xl,yl) == color:
return True
return False

def move():
fill_rect(0,0,350,250,blank)
draw_string("Pong",140,0)
circle(x,y,barre,20)
if multi:
circle(j2x,j2y,j2,20)
circle(ballx,bally,ball,20)

def ballmove():
global ballx, bally, points,speed,gauche
if gauche:
ballx-=speed
else:
ballx+=speed
if color_get_zone(ballx,bally,barre,20):
points+=1
speed+=1
if gauche:
gauche=False
else:
gauche=True
#ballx=1000
#if multi:
bally=random.randint(0,200)
if gauche==False and ballx > 300:
if multi:
draw_string("Perdu, "+str(points)+" points",90,100)
print("Perdu, "+str(points)+" points")
return "break"
else:
gauche=True
bally=random.randint(0,200)
if ballx < 0:
draw_string("Perdu, "+str(points)+" points",90,100)
print("Perdu, "+str(points)+" points")
return "break"

class ia():
def __init__(self):
self.iax=300
self.iay=random.randint(0,200)
def iamove(self):
print(bally)
print(self.iay)
if bally<self.iay:
self.iay=self.iay-speed
if bally>self.iay:
self.iay=self.iay+speed
circle(self.iax,self.iay,barre,20)

setup()
ballmove()
move()

while True:
while True:
if play:
value = ballmove()
if value == "break":
break
#if True:
if keydown(KEY_UP):
y-=speed
if keydown(KEY_DOWN):
y+=speed
if keydown(KEY_HOME):
j2y-=speed
if keydown(KEY_ONOFF):
j2y+=speed
move()
if multi==False:
iavar.iamove()
if keydown(KEY_OK):
if play:
play=False
draw_string("Pause",135,100)
time.sleep(.5)
else:
play=True
move()
time.sleep(.5)
#input("OK pour continuer")
setup()```