Commit Graph

94 Commits

Author SHA1 Message Date
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
Antonio Carzaniga
3d6751cd15 (spaceship_init_state) larger, more visible spaceship (default radius). 2021-12-03 15:59:29 +01:00
Antonio Carzaniga
b3bb1666fa (draw_gravity_vector) saving/restoring cairo context, for isolation. 2021-12-03 15:58:36 +01:00
Antonio Carzaniga
896470f7bf slight amplification of thrust control. 2021-12-03 00:32:16 +01:00
Antonio Carzaniga
b2e760a749 added spaceship, with basic direction and thrust control. 2021-12-03 00:29:18 +01:00
Antonio Carzaniga
dfd7ca908b gravity control through scroll movements 2021-12-01 20:28:41 +01:00
Antonio Carzaniga
87db81dcfe modularization of c_index, basic balls data. 2021-12-01 20:18:19 +01:00