Skip to content
Snippets Groups Projects
Commit 5d370387 authored by Lucas Philippe's avatar Lucas Philippe
Browse files

Etape 6 fonctionnelle

parent 7a02cb48
Branches
No related tags found
No related merge requests found
......@@ -21,7 +21,7 @@ class BubbleCursor:
for target in self.targets:
distance = ((self.x - target.x) ** 2 + (self.y - target.y) ** 2) ** 0.5 # cf. Theoreme de Pythagore
distance = distance - target.size/2 # Prendre la distance avec le contour du cercle et pas le centre
distance = distance - target.size/2 # Prendre la distance avec le contour du cercle et pas le centre
if distance < min_distance:
min_distance = distance
self.closest = target
......
import csv
import csv, random, time
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QWidget
from Target import Target
......@@ -11,6 +11,8 @@ class BubbleWidget(QWidget):
self.loadTargets()
self.cursor = BubbleCursor(self.targets)
self.setMouseTracking(True)
self.start_time = None
self.selectRandomTarget()
def loadTargets(self):
with open('src_tp_bubble.csv', newline='') as csvfile:
......@@ -29,3 +31,19 @@ class BubbleWidget(QWidget):
def mouseMoveEvent(self, event):
self.cursor.move(event.x(), event.y())
self.update()
def selectRandomTarget(self):
if self.start_time == None:
self.start_time = time.time()
target = random.choice(self.targets)
target.toSelect = True
self.update()
def printTime(self):
print((time.time() - self.start_time)*1000)
self.start_time = None
def mousePressEvent(self, event):
if self.cursor.closest.click_cible():
self.printTime()
self.selectRandomTarget()
......@@ -24,3 +24,10 @@ class Target:
painter.setBrush(QBrush(color))
painter.setPen(QPen(color))
painter.drawEllipse(int(self.x - self.size / 2), int(self.y - self.size / 2), int(self.size), int(self.size))
def click_cible(self):
if self.toSelect:
self.toSelect = False
return True
return False
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment