summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/spin.c
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2008-01-27 11:37:44 +0100
committerTobias Klauser <tklauser@xenon.tklauser.home>2008-01-27 11:37:44 +0100
commit7e0f021a9aec35fd8e6725e87e3313b101d26f5e (patch)
treeb1cacc4b24393f517aeb4610e9e1021f954307a8 /reference/C/CONTRIB/SNIP/spin.c
Initial import (2.0.2-6)2.0.2-6
Diffstat (limited to 'reference/C/CONTRIB/SNIP/spin.c')
-rwxr-xr-xreference/C/CONTRIB/SNIP/spin.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/SNIP/spin.c b/reference/C/CONTRIB/SNIP/spin.c
new file mode 100755
index 0000000..785bdbf
--- /dev/null
+++ b/reference/C/CONTRIB/SNIP/spin.c
@@ -0,0 +1,29 @@
+/*
+** Miscellaneous text spinners demonstration
+**
+** public domain by Jon Guthrie, Bob Stout, and others
+*/
+
+#include <stdio.h>
+
+#define DURATION 500 /* Length of demo */
+#define SSLOWDOWN 5 /* Make spinner look ok */
+#define TSLOWDOWN 10 /* Make target look ok */
+
+main()
+{
+ unsigned i;
+ char spinner[] = "|/-\\", target[] = ".oO";
+
+ for (i = 0; i < DURATION; ++i)
+ {
+ unsigned scount = i / SSLOWDOWN, tcount = i / TSLOWDOWN;
+ unsigned scountdown = DURATION / SSLOWDOWN;
+ unsigned tcountdown = DURATION / TSLOWDOWN;
+
+ printf("CW %c ... CCW %c ... Explode %c ... Implode%c\r",
+ spinner[scount & 3], spinner[(scountdown - scount) & 3],
+ target[tcount % 3], target[(tcountdown - tcount) % 3]);
+ }
+ return 0;
+}