-
Notifications
You must be signed in to change notification settings - Fork 2
/
paddle.py
51 lines (35 loc) · 1.89 KB
/
paddle.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
import clock
class Paddle() :
def __init__(self) :
self.pushButton = 0 # Push Button
self.position = 127 # Position ranging from 0 (left) to 255 right, 127 is the middle
self.countdown = 0.0 # Countdown, since reset
self.countdownTrigger = 0 # the cpu tick at which the countdown was reseted
def getButton(self) :
return self.pushButton
def setButton(self, value) :
self.pushButton = 0xFF if value else 0x00
def reset(self) :
self.countdown = self.position * self.position # initialize the countdown - depends on the actual position
self.countdownTrigger = clock.ticks # records the time this was done
def read(self) :
self.countdown -= (clock.ticks - self.countdownTrigger) / 5.6 # decreases the countdown
if self.countdown <= 0 : # timeout
return 0x00 # returns 0
return 0x80 # not timeout, return something with the MSB set
def update(self, value) : # called from event loop when a related
self.position = value # key has been pressed or released
"""
paste this (F3) to test your changes
NEW
10 A = PDL (0)
20 B = PDL (1)
30 C = PEEK (49249) : REM PB0
40 D = PEEK (49250) : REM PB1
50 PRINT "X:";A;" Y:";B;
60 IF C > 127 THEN PRINT " 0";
70 IF D > 127 THEN PRINT " 1";
80 PRINT
90 GOTO 10
RUN
"""