-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnote.py
43 lines (33 loc) · 1.23 KB
/
note.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
import pygame
from constants import *
def number_to_note(number):
notes = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'A#', 'B']
return notes[number % 12]
class Note:
def __init__(self, number, velocity, start_time, rect, is_pressed, is_white):
self.number = number
self.velocity = velocity
self.ascii = number_to_note(number)
self.start_time = start_time
self.rect = rect
self.is_pressed = is_pressed
self.is_white = is_white
def __str__(self):
return "Note with number %s and velocity %s at time %s" % (self.number, self.velocity, self.start_time)
def incrementHeight(self, x):
self.rect.h += x
self.rect.move_ip(0, -x)
def drawNote(self, WIN):
# WIN.blit(self.image, (self.x, self.y))
if self.is_white:
if self.number < 60:
pygame.draw.rect(WIN, COLOR3, self.rect)
else:
pygame.draw.rect(WIN, COLOR3, self.rect)
else:
if self.number < 60:
pygame.draw.rect(WIN, COLOR4, self.rect)
else:
pygame.draw.rect(WIN, COLOR4, self.rect)
def moveNoteUp(self, vel):
self.rect.move_ip(0, -vel)