summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-10-04 23:17:42 -0400
committerSam Anthony <sam@samanthony.xyz>2024-10-04 23:17:42 -0400
commit1dbc7379e5dab5821b9afc9aee2e6dcc3cf815f7 (patch)
tree56d8da37551f42d783fe22deb7a37f01176b4f0a
parentc8de7165d5de1c7891dd93aeafc579c8371faa59 (diff)
downloadballs-1dbc7379e5dab5821b9afc9aee2e6dcc3cf815f7.zip
parameterize number of balls
-rw-r--r--balls.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/balls.cpp b/balls.cpp
index bdae497..2a0f5b9 100644
--- a/balls.cpp
+++ b/balls.cpp
@@ -50,6 +50,8 @@ static vector<Ball> balls;
int
main(int argc, char *argv[]) {
+ int nballs;
+
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(WIDTH, HEIGHT);
@@ -59,7 +61,15 @@ main(int argc, char *argv[]) {
glutDisplayFunc(display);
glutReshapeFunc(reshape);
- balls = makeBalls(NBALLS_DEFAULT);
+ nballs = NBALLS_DEFAULT;
+ if (argc > 1) {
+ if (sscanf(argv[1], "%d", &nballs) != 1 || nballs < 1) {
+ printf("usage: balls [number of balls]\n");
+ return 1;
+ }
+ }
+
+ balls = makeBalls(nballs);
glutTimerFunc(FRAME_TIME_MS, animate, 0);