Пример #1
0
    def __init__(self, game):
        self.game = game

        # INITIALISE GRAPHICS:
        self.background = LoadInGraphics(constants.BACKGROUND_MENU, [0, 0])

        # INITIALISE IN-GAME OBJECTS:
        self.ball = objects.Ball()
        self.right_paddle = objects.Paddle(265, 598, False)
        self.left_paddle = objects.Paddle(105, 598, True)
        self.playfield = objects.Playfield()
        self.spring = objects.Spring()
        self.deadzone = objects.Deadzone()
        self.point1 = objects.Point(50, 200)
        self.point2 = objects.Point(200, 230)
        self.point3 = objects.Point(190, 320)
        self.point4 = objects.Point(320, 450)
        self.point5 = objects.Point(238, 100)

        # list of object that feeds into the Ball's update method. Every object in this list is checked for collision
        # with the Ball.

        self.objects_list = [self.playfield,
                             self.right_paddle,
                             self.left_paddle,
                             self.spring,
                             self.deadzone,
                             self.point1,
                             self.point2,
                             self.point3,
                             self.point4,
                             self.point5]
Пример #2
0
 def test_line_ne_false(self):
     line = objects.Line(objects.Point(),
                         objects.Point(2010789, 483925, 3918.63517))
     line_equal = objects.Line(objects.Point(),
                         objects.Point(2010789, 483925, 3918.63517))
     is_not_equal = line != line_equal
     self.assertEqual(is_not_equal, False)
Пример #3
0
    def test_point(self):
        pt1 = objects.Point(15, 16.6)
        self.assertAlmostEqual(pt1.x, 15)
        self.assertAlmostEqual(pt1.y, 16.6)

        pt2 = objects.Point(2, 0)
        self.assertAlmostEqual(pt2.x, 2)
        self.assertAlmostEqual(pt2.y, 0)
Пример #4
0
 def test_line_init_from_points(self):
     start_point = objects.Point()
     end_point = objects.Point(2010789, 483925, 3918.63517)
     middle_point = objects.Point(1, 1, 1)
     line = objects.Line(start_point, end_point, middle_point)
     self.assertEqual(line.start.handle, start_point.handle)
     self.assertEqual(line.end.handle, end_point.handle)
     self.assertEqual(line.middle.handle, middle_point.handle)
Пример #5
0
 def test_line_from_two_points(self):
     start_point = objects.Point()
     end_point = objects.Point(2010789, 483925, 3918.63517)
     line = objects.Line(start_point, end_point)
     self.assertEqual(line.start.handle, start_point.handle)
     self.assertEqual(line.end.handle, end_point.handle)
     self.assertEqual(line.middle.northing, 2010789 / 2)
     self.assertEqual(line.middle.easting, 483925 / 2)
     self.assertEqual(line.middle.elevation, 3918.63517 / 2)
Пример #6
0
    def test_cases(self):
        point1 = objects.Point(4, 4)
        self.assertEqual(point1.x, 4)
        self.assertEqual(point1.y, 4)
        pass

        point2 = objects.Point(1, 1)
        self.assertEqual(point2.x, 1)
        self.assertEqual(point2.y, 1)
        pass
Пример #7
0
    def test_point_ne_true(self):
        point = objects.Point(2010789, 483925, 3918.63517)
        point_no_elevation = objects.Point(2010789, 483925, 0)
        point_no_northing = objects.Point(0, 483925, 3918.63517)
        point_no_easting = objects.Point(2010789, 0, 3918.63517)
        point_all_bad = objects.Point(0, 0, 0)

        self.assertNotEqual(point, point_no_elevation)
        self.assertNotEqual(point, point_no_northing)
        self.assertNotEqual(point, point_no_easting)
        self.assertNotEqual(point, point_all_bad)
Пример #8
0
    def test_point_eq_false(self):
        point = objects.Point(2010789, 483925, 3918.63517)
        point_no_elevation = objects.Point(2010789, 483925, 0)
        point_no_northing = objects.Point(0, 483925, 3918.63517)
        point_no_easting = objects.Point(2010789, 0, 3918.63517)
        point_all_bad = objects.Point(0, 0, 0)
        is_no_elevation = point == point_no_elevation
        is_no_northing = point == point_no_northing
        is_no_easting = point == point_no_easting
        is_all_bad = point == point_all_bad

        self.assertEqual(is_no_elevation, False)
        self.assertEqual(is_no_northing, False)
        self.assertEqual(is_no_easting, False)
        self.assertEqual(is_all_bad, False)
Пример #9
0
 def test_circle(self):
     testPoint = objects.Point(0, 0)
     testCircle = objects.Circle(testPoint, 10)
     self.assertEquals(testCircle.center, testPoint)
     self.assertEquals(testCircle.center.x, testPoint.x)
     self.assertEquals(testCircle.center.y, testPoint.y)
     self.assertEquals(testCircle.radius, 10)
     pass
Пример #10
0
    def h(self, state):
        edges = state.track.get_open_edges()
        origin = obj.Point(0, 0)
        sum_dist = 0

        for edge in edges:
            if edge[0] == None:
                return 1
            sum_dist += utils.distance(edge[0].position, origin)
        
        return len(edges) + sum_dist
Пример #11
0
    def add_orbs(self):
        """

        Returns:

        """
        while len(self.orbs) < ServerDataBase.ORB_LIMIT:
            x = random.randint(0, self.board.width)
            y = random.randint(0, self.board.height)
            orb = objects.Orb(objects.Point(x, y))
            id_ = protocol.key(orb)
            self.add_orb(id_, orb)
Пример #12
0
    def test_line_ne_true(self):
        line = objects.Line(objects.Point(),
                            objects.Point(2010789, 483925, 3918.63517))
        line_differant_start = objects.Line(objects.Point(1,0,0),
                                            objects.Point(2010789, 483925, 3918.63517))
        line_differant_end = objects.Line(objects.Point(),
                                          objects.Point(2010789, 483924, 3918.63517))
        #line_differant_second_point = objects.Line(objects.Point(),
        #                                           objects.Point(2010789, 483924, 3918.63517),
        #                                           objects.Point(1,1,0))
        line_all_bad = objects.Line(objects.Point(0,1,0),
                                    objects.Point(0,2,0)) #Will have to test for second point.

        self.assertNotEqual(line, line_differant_start)
        self.assertNotEqual(line, line_differant_end)
        #self.assertNotEqual(line, line_differant_second_point)
        self.assertNotEqual(line, line_all_bad)
Пример #13
0
def main():
    polygon = objects.Polygon([
        objects.Point(20, 10),
        objects.Point(50, 125),
        objects.Point(125, 90),
        objects.Point(150, 10)
    ])
    p1 = objects.Point(75, 50)
    print("point p1 is inside :" + str(ray_casting.rayCasting(p1, polygon)))

    p2 = objects.Point(200, 50)
    print("point p2 is inside :" + str(ray_casting.rayCasting(p2, polygon)))

    p3 = objects.Point(35, 90)
    print("point p3 is inside :" + str(ray_casting.rayCasting(p3, polygon)))

    p4 = objects.Point(50, 10)
    print("point p4 is inside :" + str(ray_casting.rayCasting(p4, polygon)))
Пример #14
0
    def test_line_eq_false(self):
        line = objects.Line(objects.Point(),
                            objects.Point(2010789, 483925, 3918.63517))
        line_differant_start = objects.Line(objects.Point(1,0,0),
                                            objects.Point(2010789, 483925, 3918.63517))
        line_differant_end = objects.Line(objects.Point(),
                                          objects.Point(2010789, 483924, 3918.63517))
        #line_differant_second_point = objects.Line(objects.Point(),
        #                                           objects.Point(2010789, 483924, 3918.63517),
        #                                           objects.Point(1,1,0))
        line_all_bad = objects.Line(objects.Point(0,1,0),
                                    objects.Point(0,2,0)) #Will have to test for second point.
        is_differant_start = line == line_differant_start
        is_differant_end = line == line_differant_end
        #is_differant_second_point = line == line_differant_second_point
        is_all_bad = line == line_all_bad

        self.assertEqual(is_differant_start, False)
        self.assertEqual(is_differant_end, False)
        #self.assertEqual(is_differant_second_point, False)
        self.assertEqual(is_all_bad, False)
def create_list_of_points(filename):
    """
    list[Point] create_list_of_points(str)
    PRECONDITION(S):
        the string is a valid filename
    POSTCONDITION(S):
        return a list[Point] of Points generated from the given filename
    """
    # variables
    point_list = []
    data_folder = "eye-tracking-data/"
    filename_path = data_folder+filename

    with open(filename_path) as data_csv_file:
        reader = csv.DictReader(data_csv_file)

        for row in reader:
            point_list.append(objects.Point(int(row['fix_x_original']),           int(row['fix_y_original']),           int(row['duration_ms']),
                                            int(row['start_ms']),        int(row['end_ms']),          str(row['aoi_sub.line']),
                                            int(row['fix_x']), int(row['fix_y']), filename))

    return point_list
Пример #16
0
	def on_ok_button_clicked(self, widget):
		print("clicked")

		object_name = self.builder.get_object("entry_name").get_text()
		print(object_name)
		if len(self.main_window.available_id) == 0:
			self.main_window.object_id += 1
			object_id = self.main_window.object_id
		elif len(self.main_window.available_id) != 0:
			object_id = self.main_window.available_id[0]
			self.main_window.available_id.pop(0)

		if object_name == "":
			object_name = "object"+str(object_id)
			print(object_id)
		current_page = self.builder.get_object("notebook_object").get_current_page()

		color = self.builder.get_object("color_button")
		rgba = color.get_rgba()

		object_rgb = []
		object_rgb.append(rgba.red)
		object_rgb.append(rgba.green)
		object_rgb.append(rgba.blue)

		is_solid = self.builder.get_object("button_solid")

		# if current page = 0, add point
		if current_page == 0:
			x = float(self.builder.get_object("entry_x_point").get_text())
			y = float(self.builder.get_object("entry_y_point").get_text())

			new_point = objects.Point(x, y, object_id, object_name, "Point", object_rgb)
			new_point.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y)
			self.main_window.object_list.append([new_point.object_id, new_point.object_name, new_point.object_type])
			self.main_window.append_log("Object " + new_point.object_name + " (" + new_point.object_type + ") created")

			self.main_window.saved_objects.append(new_point)


		if current_page == 1:
			x1 = float(self.builder.get_object("entry_x1_line").get_text())
			x2 = float(self.builder.get_object("entry_x2_line").get_text())
			y1 = float(self.builder.get_object("entry_y1_line").get_text())
			y2 = float(self.builder.get_object("entry_y2_line").get_text())

			new_line = objects.Line(objects.LinePoint(x1, y1), objects.LinePoint(x2, y2), object_id, object_name, "Line", object_rgb)
			new_line.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y)
			self.main_window.object_list.append([new_line.object_id, new_line.object_name, new_line.object_type])
			self.main_window.append_log("Object " + new_line.object_name + " (" + new_line.object_type + ") created")

			self.main_window.saved_objects.append(new_line)

		if current_page == 2:

			new_list = []

			for obj in self.wireframe_points:
				new_list.append(obj)

			new_wireframe = objects.Wireframe(new_list, object_id, object_name, "Wireframe", object_rgb, is_solid.get_active())
			new_wireframe.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y)

			self.main_window.object_list.append([new_wireframe.object_id, new_wireframe.object_name, new_wireframe.object_type])
			self.main_window.append_log("Object " + new_wireframe.object_name + " (" + new_wireframe.object_type + ") created")
			self.main_window.saved_objects.append(new_wireframe)

			self.wireframe_points.clear()


		if current_page == 3:
			x1 = float(self.builder.get_object("x1_bezier_entry").get_text())
			x2 = float(self.builder.get_object("x2_bezier_entry").get_text())
			x3 = float(self.builder.get_object("x3_bezier_entry").get_text())
			x4 = float(self.builder.get_object("x4_bezier_entry").get_text())
			y1 = float(self.builder.get_object("y1_bezier_entry").get_text())
			y2 = float(self.builder.get_object("y2_bezier_entry").get_text())
			y3 = float(self.builder.get_object("y3_bezier_entry").get_text())
			y4 = float(self.builder.get_object("y4_bezier_entry").get_text())

			points = []

			points.append(objects.LinePoint(x1, y1))
			points.append(objects.LinePoint(x2, y2))
			points.append(objects.LinePoint(x3, y3))
			points.append(objects.LinePoint(x4, y4))

			new_curve = objects.Curve(points, object_id, object_name, "Curve", object_rgb, "bezier")
			new_curve.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y)
			self.main_window.object_list.append([new_curve.object_id, new_curve.object_name, new_curve.object_type])
			self.main_window.append_log("Object " + new_curve.object_name + " (Bezier " + new_curve.object_type + ") created")
			self.main_window.saved_objects.append(new_curve)

		if current_page == 4:
			if len(self.bspline_points) >= 4:
				new_list = []

				for obj in self.bspline_points:
					new_list.append(obj)

				new_bspline = objects.Curve(new_list, object_id, object_name, "Curve", object_rgb, "b-spline")
				new_bspline.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y)
				self.main_window.object_list.append([new_bspline.object_id, new_bspline.object_name, new_bspline.object_type])
				self.main_window.append_log("Object " + new_bspline.object_name + " (B-Spline " + new_bspline.object_type + ") created")
				self.main_window.saved_objects.append(new_bspline)
			else:
				self.errordialog = self.builder.get_object("bspline_error")
				self.errordialog.run()
				self.errordialog.destroy()
				self.main_window.append_log("Insufficient points to generate a b-spline curve")
				self.main_window.append_log("Try again with at least 4 points")


		self.wireframe_points.clear()
		self.bspline_points.clear()

		cr = self.darea.get_window().cairo_create()
		self.darea.draw(cr)

		self.object_window.destroy()
Пример #17
0
 def test_point(self):
     testPoint = objects.Point(0, 0)
     self.assertEquals(testPoint.x, 0)
     self.assertEquals(testPoint.y, 0)
     pass
Пример #18
0
 def test_circles_overlap_2(self):
     point1 = objects.Point(1.0, 1.0)
     point2 = objects.Point(5.0, 10.0)
     circle1 = objects.Circle(point1, 3)
     circle2 = objects.Circle(point2, 2)
     self.assertFalse(funcs_objects.circles_overlap(circle1, circle2))
Пример #19
0
 def test_circles_overlap_1(self):
     point1 = objects.Point(0.0, 1.0)
     point2 = objects.Point(2.0, 3.0)
     circle1 = objects.Circle(point1, 3)
     circle2 = objects.Circle(point2, 6)
     self.assertTrue(funcs_objects.circles_overlap(circle1, circle2))
Пример #20
0
 def test_distance_2(self):
     point1 = objects.Point(4.0, 6.0)
     point2 = objects.Point(7.0, 9.0)
     self.assertAlmostEqual(funcs_objects.distance(point1, point2),
                            4.24264068)
Пример #21
0
 def test_point_str(self):
     point = objects.Point(2010789, 483925, 3918.63517)
     self.assertEqual(str(point), "483925, 2010789, 3918.63517")
Пример #22
0
 def test_point_init_from_values(self):
     point = objects.Point(2010789, 483925, 3918.63517)
     self.assertEqual(point.northing, 2010789)
     self.assertEqual(point.easting, 483925)
     self.assertEqual(point.elevation, 3918.63517)
Пример #23
0
 def test_line_get_length(self):
     line = objects.Line(objects.Point(),
                         objects.Point(2010789, 483925, 3918.63517))
     self.assertEqual(line.get_length(), 2068204.8167064101)
Пример #24
0
 def test_grow_circle1(self):
     circle1 = objects.Circle(objects.Point(5, 5), 5.0)
     new_circle = funcs.objects.grow_circle(circle1, 2)
     self.assertEqual(objects.circle.center.x, 1)
Пример #25
0
 def test_point_ne_false(self):
     point = objects.Point(2010789, 483925, 3918.63517)
     point_equal = objects.Point(2010789, 483925, 3918.63517)
     is_not_equal = point != point_equal
     self.assertEqual(is_not_equal, False)
Пример #26
0
 def test_line_get_2d_radius(self):
     line = objects.Line(objects.Point(),
                         objects.Point(2010789, 483925, 3918.63517))
Пример #27
0
 def test_distance_1(self):
     point1 = objects.Point(0.0, 0.0)
     point2 = objects.Point(3.0, 4.0)
     self.assertAlmostEqual(funcs_objects.distance(point1, point2), 5.0)
Пример #28
0
 def test_point_eq_true(self):
     point = objects.Point(2010789, 483925, 3918.63517)
     point_equal = objects.Point(2010789, 483925, 3918.63517)
     self.assertEqual(point, point_equal)
Пример #29
0
 def addpoint(self, x, y, name=""):
     if name == "":
         name = getfreename_points(self.points)
     self.points.append(objects.Point(x, y, name))
Пример #30
0
 def test_point_init_as_empty(self):
     point = objects.Point()
     self.assertEqual(point.northing, 0)
     self.assertEqual(point.easting, 0)
     self.assertEqual(point.elevation, 0)