A large commit.
[pdp8.git] / sw / adventure / src / RND.FT
diff --git a/sw/adventure/src/RND.FT b/sw/adventure/src/RND.FT
new file mode 100644 (file)
index 0000000..749e17f
--- /dev/null
@@ -0,0 +1,19 @@
+       INTEGER FUNCTION RND(LIMIT)\r
+\r
+C\r
+C      GENERATES RANDOM INTEGER IN THE RANGE\r
+C              0 < N < LIMIT\r
+C\r
+C      USES THE RANDOM SEED GENERATED BY THE\r
+C      RALF MODULE "SEED"\r
+C\r
+       COMMON/NUMCOM/NUMBER\r
+       LOGICAL FLAG\r
+       DATA FLAG/.FALSE./,NUMBER/0/\r
+       IF(FLAG)GOTO 10\r
+       FLAG=.TRUE.\r
+       IRND=132*(NUMBER+327)\r
+10     IRND=MOD(IRND*1021,1048576)\r
+       RND=(LIMIT*IRND)/1048576\r
+       RETURN\r
+       END\r