diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-09-19 19:00:58 -0400 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-09-19 19:00:58 -0400 |
| commit | 8944ad075c6b12bbda1273ec31efade801892c19 (patch) | |
| tree | facf0cf38b83d75974247ffbb60784364dcd6b3f | |
| parent | 9da5009cdcabdc162d84e43853439cee78467f23 (diff) | |
| download | balls-8944ad075c6b12bbda1273ec31efade801892c19.zip | |
argparse
| -rw-r--r-- | balls.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -17,7 +17,8 @@ enum { KEY_QUIT = 'q' , - NBALLS = 3, + DEFAULT_NBALLS = 3, + VMAX = 5, G = 1, MASS = 1, @@ -66,12 +67,22 @@ void frametick(void *arg); void threadmain(int argc, char *argv[]) { + int nballs; Image *bg, *walls; Mousectl *mctl; Keyboardctl *kctl; int resize[2]; Rune key; + nballs = DEFAULT_NBALLS; + if (argc > 1) { + if (sscanf(argv[1], "%d", &nballs) != 1 || nballs < 1) { + printf("usage: balls [number of balls]\n"); + threadexitsall(0); + } + } + printf("nballs: %ud\n", nballs); + if (init(argv[0], &mctl, &kctl)) sysfatal("%s: %r", argv[0]); @@ -87,7 +98,7 @@ threadmain(int argc, char *argv[]) { drawbg(walls, bg); - spawnballs(NBALLS); + spawnballs(nballs); enum { RESIZE = 0, KEYBD = 1 }; Alt alts[3] = { |