Text Size
Text Size
Exit Full Screen
Python Mini
Show
Source Code
View Source Code in Full Screen
Open in New Tab
from processing import * import random wt = 500 ht = 400 global score1, score2 score1 = 0 score2 = 0 global firstXp, firstYp, firstxv, firstyv firstXp = 250 firstYp = 200 firstXv = 5 firstYv = 4 paddle1 = { "xp" : 30, "yp" : 50, "wt" : 10, "ht" : 50, "vv" : 15, "my" : 0 } paddle2 = { "xp" : 460, "yp" : 175, "wt" : 10, "ht" : 50, "vv" : 15, "my" : 0 } b = { "xp" : firstXp, "yp" : firstYp, "xv" : firstXv, "yv" : firstYv, "rad" : 10 } # :::::::::::::::: LEFT PADDLE [1]::::::::::::::::::::::::::::::: def drawPaddle1(): fill(255, 0, 0) rect(paddle1["xp"], paddle1["yp"], paddle1["wt"], paddle1["ht"]) def keyPressed(): if keyboard.keyCode == 87: paddle1["my"] = -1 elif keyboard.keyCode == 83: paddle1["my"] = 1 if keyboard.keyCode == UP: paddle2["my"] = -1 elif keyboard.keyCode == DOWN: paddle2["my"] = 1 def movePaddle1(): paddle1["yp"] = (paddle1["yp"] + paddle1["vv"] * paddle1["my"]) if paddle1["yp"] <= 0: paddle1["yp"] = 0 if (paddle1["yp"] + paddle1["ht"]) >= ht: paddle1["yp"] = ht - paddle1["ht"] def keyReleased(): if keyboard.keyCode in [87, 83]: paddle1["my"] = 0 if keyboard.keyCode in [UP, DOWN]: paddle2["my"] = 0 # :::::::::::::::: RIGHT PADDLE [2]::::::::::::::::::::::::::::::: def drawPaddle2(): fill(0, 50, 255) rect(paddle2["xp"], paddle2["yp"], paddle2["wt"], paddle2["ht"]) def movePaddle2(): paddle2["yp"] = (paddle2["yp"] + paddle2["vv"] * paddle2["my"]) if paddle2["yp"] <= 0: paddle2["yp"] = 0 if (paddle2["yp"] + paddle2["ht"]) >= ht: paddle2["yp"] = ht - paddle2["ht"] # ::::::::::::::::: BALL ::::::::::::::::::::::::::::::::::: def drawB(): fill(255, 255, 255) ellipse(b["xp"], b["yp"], b["rad"]*2, b["rad"]*2) def moveB(): global score1, score2, lvlup b["xp"] = b["xp"] + b["xv"] b["yp"] = b["yp"] + b["yv"] # GAINING POINTS :::::::::::::::::::::::::::::::::::::: if b["xp"] - b["rad"] <= 0: score2 = score2 + 1 b["xp"] = firstXp b["yp"] = firstYp b["xv"] = firstXv b["yv"] = firstYv if b["xp"] + b["rad"] >= wt: score1 = score1 + 1 b["xp"] = firstXp b["yp"] = firstYp b["xv"] = firstXv b["yv"] = firstYv # PADDLE [1] COLLISION BEHAVIOR ::::::::::::::::::::::::::::: if b["xp"] - b["rad"] + b["xv"] == paddle1["xp"] + paddle1["wt"] and b["yp"] > paddle1["yp"] and b["yp"] < paddle1["yp"] + paddle1["ht"]: b["xv"] = b["xv"]*-1 #BECAUSE BALL ALWAYS HITS ON LEFT : b["xv"] = b["xv"] + 0.1 if b["yv"] > 0: b["yv"] = b["yv"] + 0.1 elif b["yv"] < 0: b["yv"] = b["yv"] - 0.1 elif b["xp"] - b["rad"] + b["xv"] < paddle1["xp"] + paddle1["wt"] and b["yp"] > paddle1["yp"] and b["yp"] < paddle1["yp"] + paddle1["ht"]: paddle1Side = paddle1["xp"] + paddle1["wt"] distToPaddle1Side = b["xp"] - b["rad"] - paddle1Side b["xp"] = b["xp"] - distToPaddle1Side b["xv"] = b["xv"]*-1 b["xv"] = b["xv"] + 0.1 if b["yv"] > 0: b["yv"] = b["yv"] + 0.1 elif b["yv"] < 0: b["yv"] = b["yv"] - 0.1 # PADDLE [2] COLLISION BEHAVIOR ::::::::::::::::::::::::::::: if b["xp"] + b["rad"] + b["xv"] == paddle2["xp"] and b["yp"] > paddle2["yp"] and b["yp"] < paddle2["yp"] + paddle2["ht"]: b["xv"] = b["xv"]*-1 #BECAUSE BALL ALWAYS HITS ON RIGHT: b["xv"] = b["xv"] - 0.1 if b["yv"] > 0: b["yv"] = b["yv"] + 0.1 elif b["yv"] < 0: b["yv"] = b["yv"] - 0.1 elif b["xp"] + b["rad"] + b["xv"] > paddle2["xp"] and b["yp"] > paddle2["yp"] and b["yp"] < paddle2["yp"] + paddle2["ht"]: distToPaddle2Side = paddle2["yp"] - (b["yp"] + b["rad"]) b["xp"] = b["xp"] + distToPaddle2Side b["xv"] = b["xv"]*-1 b["xv"] = b["xv"] - 0.1 if b["yv"] > 0: b["yv"] = b["yv"] + 0.1 elif b["yv"] < 0: b["yv"] = b["yv"] - 0.1 # TOP & BOTTOM WALLS :::::::::::::::::::::::::: if b["yp"] - b["rad"] <= 0 or b["yp"] + b["rad"] >= ht: b["yv"] = b["yv"]*-1 # :::::::::::::::::: SCORE ::::::::::::::::::::::::::::::::: def scoreboard(): textSize(15) fill(255, 255, 255) text("Player 1: %d"%score1, 10, 25) text("Player 2: %d"%score2, 420, 25) if score1 == 10: textSize(50) fill(255, 0, 0) text("Player 1 Wins", 100, 220) exitp() if score2 == 10: textSize(50) fill(0, 50, 255) text("Player 2 Wins", 100, 220) exitp() def setup(): size(wt, ht) keyPressed() keyReleased() def draw(): background(0, 0, 0) drawPaddle1() movePaddle1() drawPaddle2() movePaddle2() drawB() moveB() scoreboard() run()
ch_PythonPong.py
( around 160 lines python code )
Published By:
EM5700
Published on
2020-03-10T12:38:07Z
Python Mini
- an
OYOclass
application,
own your own class today
.
Run
Result
×
Error message shows here