Commit Graph

100 Commits

Author SHA1 Message Date
Karma Riuk
2bba3155da Added the gravity vector method for polygons (kinda blindly copied and
pasted it from the ball version, hope it works)
2023-05-17 13:27:11 +02:00
Karma Riuk
7df64d460c Reformated gravity.cc 2023-05-17 13:25:36 +02:00
Karma Riuk
487b5fe00b Fixed most of the bugs of the collision detection (still some cases
there)
2023-05-17 13:22:34 +02:00
Karma Riuk
b4203884ef Changed to delta so that the edge cases happen less (since the 'move
less' each frame)
2023-05-17 13:21:43 +02:00
Karma Riuk
398cae3b24 Added toString method to polygons, together with fields "label" and
"collided_with"
2023-05-17 13:21:06 +02:00
Karma Riuk
399949876f Made the draw method of vec2d const so that compiler stops complaining 2023-05-17 13:20:40 +02:00
Karma Riuk
3c2335235e Added labels to polygons to make it clear what is getting printed 2023-05-17 13:19:57 +02:00
Karma Riuk
33cbe4a683 Added the possibility to go frame by frame pressing '.' 2023-05-17 13:18:51 +02:00
Karma Riuk
37a76e3e8d Revamped collision detection, missing the vertex inside vertex case
(which is happening a bit too often imho)
2023-05-06 14:07:47 +02:00
Karma Riuk
2cfa921547 Added a general polygon to the initial state 2023-05-06 14:06:45 +02:00
Karma Riuk
c0d4343b77 Added general polygon generation WITH CORRECT INERTIA YUHUU 2023-05-06 14:05:45 +02:00
Karma Riuk
ad841588ad Refactored collision detection (last version before changing the algo) 2023-04-25 12:09:07 +02:00
Karma Riuk
6b049eb831 Added new polygons in polygons_init_state() and now drawing the point of
impact and the normal vector in that point
2023-04-25 12:05:39 +02:00
Karma Riuk
02f60aaa8a Added == operator to vec2d 2023-04-25 12:04:52 +02:00
Karma Riuk
699490fefc Added the possibility of drawing a vector 2023-04-25 12:02:56 +02:00
Karma Riuk
bf9545a7a0 Added regular polygons and started implementation of arbitrary (general)
polygons
2023-04-25 12:01:51 +02:00
Karma Riuk
4a7e5834d3 Quick refactoring and reformating 2023-04-21 09:01:35 +02:00
Karma Riuk
1c58530e98 Now the borders of the windows are walls of infinite mass 2023-04-10 14:40:16 +02:00
Karma Riuk
c7b9500bc4 Fixed inertia for rectangles 2023-04-10 14:39:36 +02:00
Karma Riuk
d0de911344 got the speed working (yay) but the angular velocity that results is superrrr low, thus not creating any rotation after impact, wierd... 2023-04-02 21:53:21 +02:00
Karma Riuk
7dc54ddfe5 Made the angular speed a double 2023-03-25 14:03:07 +01:00
Karma Riuk
4d14f2a30b Added wall bouncing logic (flawed); added bounding box computation and display 2023-03-25 10:57:32 +01:00
Karma Riuk
d6bf526459 Generator now makes the polygons origin at their center of mass, easier for rotation 2023-03-20 15:33:35 +01:00
Karma Riuk
e6a3979de1 Added a generator for polygons to make the init easier 2023-03-14 23:10:31 +01:00
Karma Riuk
48a1b3ade4 Added the possibility to set the fields of the polygon class in a functional programming style 2023-03-14 23:09:48 +01:00
Karma Riuk
37198d4669 fixed implementaion mistake 2023-03-14 22:00:55 +01:00
Karma Riuk
9fd87b7f29 Simple implementation of polygons, you can create them in the init and draw them 2023-03-14 21:46:36 +01:00
Karma Riuk
7a5bf13575 Added a way to output vec2d in an easy way 2023-03-14 21:45:44 +01:00
Karma Riuk
d0670178c0 Reformated main.cc and spaceship.cc 2023-03-14 21:45:20 +01:00
Karma Riuk
af31bc7148 Added entries to gitignore 2023-03-10 21:31:52 +01:00
Antonio Carzaniga
c1dc49a9dc GUI controls for restitution coefficient and gravity field 2022-12-28 18:50:12 +01:00
Antonio Carzaniga
19125826bd added game pause/resume toggle 2022-12-28 12:42:14 +01:00
Antonio Carzaniga
6078f57647 Merge branch 'inelastic-collisions' into c++-port 2022-12-28 11:47:05 +01:00
Antonio Carzaniga
5a6fea0522 no penetration also for central gravity ball 2022-12-27 18:26:03 +01:00
Antonio Carzaniga
db219a255a inelastic collisions, controllable restitution coefficient 2022-12-27 17:54:40 +01:00
Antonio Carzaniga
f30ca5e594 collision check enabled by default using simple check. 2022-06-10 12:47:33 +02:00
Antonio Carzaniga
94ec166a4a fix variable renaming in ball_elastic_collision. 2022-06-10 12:47:03 +02:00
Antonio Carzaniga
4725f1eb6a more meaningful variable names in elastic collision for balls 2022-06-01 13:06:55 +02:00
Antonio Carzaniga
7064eb5174 2D vector objects for positions, velocities, etc. 2022-06-01 11:09:35 +02:00
Antonio Carzaniga
2240ba1b69 basic modularization of ball and ball_face classes 2022-05-30 18:05:53 +02:00
Antonio Carzaniga
139d8d2997 fix: using CXX also as linker. 2022-05-30 18:03:41 +02:00
Antonio Carzaniga
8f9a8b71c9 cleared unused game framework declarations. 2022-05-30 16:02:25 +02:00
Antonio Carzaniga
4c2273d271 first, basic transition to C++ 2022-05-30 15:59:45 +02:00
Antonio Carzaniga
f2203cfa00 (new_ball_face) fixed memory leak for cairo patterns. 2021-12-12 11:54:43 +01:00
Antonio Carzaniga
53e71fa27d (gravity) added radial, Newtonian (1/r^2) force field 2021-12-12 00:36:07 +01:00
Antonio Carzaniga
dc0e5be086 (spaceship_draw) better shape for thrust waves 2021-12-11 22:29:55 +01:00
Antonio Carzaniga
9028f1af74 modularization: main, game, balls, c_index, spaceship, gravity 2021-12-11 21:32:48 +01:00
Antonio Carzaniga
1fec301126 (window) removed global variable for game window. 2021-12-11 18:05:13 +01:00
Antonio Carzaniga
3eb4f1f243 removed inoperative clear-alpha feature. 2021-12-03 16:05:51 +01:00
Antonio Carzaniga
1c451f76ef (draw_frame) central frame-drawing function, using draw-event context. 2021-12-03 16:00:36 +01:00