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

Etape 6 fonctionnelle

parent 7a02cb48
No related branches found
No related tags found
No related merge requests found
...@@ -21,7 +21,7 @@ class BubbleCursor: ...@@ -21,7 +21,7 @@ class BubbleCursor:
for target in self.targets: for target in self.targets:
distance = ((self.x - target.x) ** 2 + (self.y - target.y) ** 2) ** 0.5 # cf. Theoreme de Pythagore 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: if distance < min_distance:
min_distance = distance min_distance = distance
self.closest = target self.closest = target
......
import csv import csv, random, time
from PyQt5.QtGui import QPainter from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QWidget
from Target import Target from Target import Target
...@@ -11,6 +11,8 @@ class BubbleWidget(QWidget): ...@@ -11,6 +11,8 @@ class BubbleWidget(QWidget):
self.loadTargets() self.loadTargets()
self.cursor = BubbleCursor(self.targets) self.cursor = BubbleCursor(self.targets)
self.setMouseTracking(True) self.setMouseTracking(True)
self.start_time = None
self.selectRandomTarget()
def loadTargets(self): def loadTargets(self):
with open('src_tp_bubble.csv', newline='') as csvfile: with open('src_tp_bubble.csv', newline='') as csvfile:
...@@ -29,3 +31,19 @@ class BubbleWidget(QWidget): ...@@ -29,3 +31,19 @@ class BubbleWidget(QWidget):
def mouseMoveEvent(self, event): def mouseMoveEvent(self, event):
self.cursor.move(event.x(), event.y()) self.cursor.move(event.x(), event.y())
self.update() 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: ...@@ -24,3 +24,10 @@ class Target:
painter.setBrush(QBrush(color)) painter.setBrush(QBrush(color))
painter.setPen(QPen(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)) 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