-
Notifications
You must be signed in to change notification settings - Fork 0
/
game.py
87 lines (84 loc) · 2.69 KB
/
game.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import time
import os
import keyboard
Hight=480
Width=640
display_matrix = [[0 for x in range(Width)] for y in range(Hight)]
paddlesize = 5 #int(50)
paddle1pos = [int((Hight+paddlesize)/2),int(5)]
paddle2pos = [int((Hight+paddlesize)/2),int(Width-5)]
ballpos = [Hight/2,Width/2]
ballvec = [0.0,1.0]
def clear():
for i in range(Hight):
for j in range(Width):
display_matrix[i][j] = 0
def display():
for i in range(Hight):
for j in range(Width):
if display_matrix[i][j] == 1:
print("#",end=""),
else:
print(" ",end=""),
print("")
def add_ball():
display_matrix[int(round(ballpos[0]))][int(round(ballpos[1]))] = 1
def add_paddle1():
for i in range(paddlesize):
display_matrix[int(paddle1pos[0]-paddlesize/2+i)][paddle1pos[1]] = 1
def add_paddle2():
for i in range(paddlesize):
display_matrix[int(paddle2pos[0]-paddlesize/2+i)][paddle2pos[1]] = 1
def update_ball():
if int(round(ballpos[0])) <= 0 or int(round(ballpos[0])) >= Hight-1:
ballvec[0] *= -1
if int(round(ballpos[1])) <= 0 or int(round(ballpos[1])) >= Width-1:
ballvec[1] *= -1
if int(ballpos[1]) == paddle1pos[1] and ballpos[0] >= paddle1pos[0]-paddlesize/2 and ballpos[0] <= paddle1pos[0]+paddlesize/2:
ballvec[1] *= -1
c= ballvec[0]
ballvec[0] = (ballpos[0]-paddle1pos[0])/(paddlesize/2)
if int(round(ballvec[0]))==0:
ballvec[0] = c
if int(ballpos[1]) == paddle2pos[1] and ballpos[0] >= paddle2pos[0]-paddlesize/2 and ballpos[0] <= paddle2pos[0]+paddlesize/2:
ballvec[1] *= -1
ballvec[0] = (ballpos[0]-paddle2pos[0])/(paddlesize/2)
ballpos[0] += ballvec[0]
ballpos[1] += ballvec[1]
def update():
update_ball()
clear()
add_ball()
add_paddle1()
add_paddle2()
def move_paddle2():
if keyboard.is_pressed('o'):
if paddle2pos[0] > paddlesize/2:
paddle2pos[0] -= 1
if keyboard.is_pressed('l'):
if paddle2pos[0] < Hight-paddlesize/2:
paddle2pos[0] += 1
def move_paddle1():
if keyboard.is_pressed('w'):
if paddle1pos[0] > paddlesize/2:
paddle1pos[0] -= 1
if keyboard.is_pressed('s'):
if paddle1pos[0] < Hight-paddlesize/2:
paddle1pos[0] += 1
def reset():
paddle1pos = [int((Hight+paddlesize)/2),int(2)]
paddle2pos = [int((Hight+paddlesize)/2),int(Width-2)]
ballpos = [Hight/2,Width/2]
ballvec = [1,1]
if __name__ == '__main__':
add_ball()
add_paddle1()
add_paddle2()
display()
while(1):
move_paddle1()
move_paddle2()
update()
os.system('clear')
display()
time.sleep(0.05)