pong.py

Created by marius-layan

Created on February 05, 2024

2.52 KB

Voici une reconstitution du jeu nommé Pong (2 joueur). ce jeu est assez connu mais pour les quelques personnes vivants dans une grotte, je vous explique le but du jeu : Le jeu est inspiré du tennis de table en vue de dessus, et chaque joueur s’affronte en déplaçant la raquette virtuelle de haut en bas, de façon à garder la balle dans le terrain de jeu pendant que la vitesse augmente au cours de la manche.

joueur 1: UP = [1] … Down = [0]

joueur 2: UP = [MINUS] … Down = [EXE]

BON JEU !


from kandinsky import *
from random import *
from ion import *
from time import *
score=1
while True:
  score1,score2,temps=0,0,0.013
  fill_rect(0,0,320,222,'black');draw_string("Pong",138,15,'red','black');draw_string("score : <"+str(score)+">",100,100,'yellow','black')
  while True:
    if keydown(KEY_RIGHT):
      score+=1;draw_string("score : <"+str(score)+">",100,100,'yellow','black')
      while keydown(KEY_RIGHT):sleep(0.05)
    if keydown(KEY_LEFT) and score!=1:
      score-=1;draw_string("score : <"+str(score)+">",100,100,'yellow','black')
      while keydown(KEY_LEFT):sleep(0.05)
    if keydown(KEY_OK):break
  while True:
    fill_rect(0,0,320,222,'black')
    choix_a=[-1,1]
    choix_b=[-2,-1,1,2]
    ca=choice(choix_a)
    cb=choice(choix_b)
    a,b,d,e,f,ff,g=155,10,ca,cb,50,50,0
    if score1!=0 and score2!=0:temps=0.01
    while True:
      draw_string(str(score1)+" | "+str(score2),135,204,'yellow','black')
      if keydown(KEY_ONE) and f!=0:f-=2;fill_rect(5,f+47,5,2,'black')
      if keydown(KEY_ZERO) and f!=178:f+=2;fill_rect(5,f-2,5,2,'black')
      if keydown(KEY_MINUS) and ff!=0:ff-=2;fill_rect(310,ff+47,5,2,'black')
      if keydown(KEY_EXE) and ff!=178:ff+=2;fill_rect(310,ff-2,5,2,'black')
      fill_rect(5,f,5,45,'white');fill_rect(310,ff,5,45,'white');fill_rect(a+d-2,b+e-2,14,14,'black');fill_rect(a+d,b+e,10,10,'white')
      d+=ca;e+=cb;sleep(temps)
      if g!=0:g-=1
      if get_pixel(a+d-4,b+e)==(248,252,248) or get_pixel(a+d+13,b+e)==(248,252,248):
        if ca==-1 and g==0:
          choix_b=[-2,-1,1,2];ca=1;g=50
          if temps!=0.003:temps-=0.0005
        elif ca==1 and g==0: 
          choix_b=[-2,-1,1,2];ca=-1;g=50
          if temps!=0.003:temps-=0.0005
      if b+e<=0 :choix_a,choix_b=[-1,-2,1,2],[1,2];cb=choice(choix_b)
      elif b+e>=212:choix_a,choix_b=[-1,-2,1,2],[-1,-2];cb=choice(choix_b)
      if a+d-4>320:score1+=1;break
      if a+d+13<0:score2+=1;break
    if score1==score or score2==score:draw_string(str(score1)+" | "+str(score2),135,204,'yellow','black');sleep(0.3);break
  fill_rect(0,0,320,222,'black');draw_string("rejouer :",120,60,'yellow','black');draw_string("oui",145,120,'green','black');draw_string("non",145,160,'white','black');a=0
  while True:
    if keydown(KEY_UP):draw_string("oui",145,120,'green','black');draw_string("non",145,160,'white','black');a=0
    if keydown(KEY_DOWN):draw_string("oui",145,120,'white','black');draw_string("non",145,160,'green','black');a=1
    if keydown(KEY_OK):
      while keydown(KEY_OK):sleep(0.05)
      break
  if a==1:break