@fnndsc/brasa 0.43.0 → 0.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/games/trek.d.ts +8 -0
  3. package/dist/builtins/games/trek.js +50 -0
  4. package/dist/builtins/games/trek.js.map +1 -0
  5. package/dist/core/coreCommands.js +1 -1
  6. package/dist/core/coreCommands.js.map +1 -1
  7. package/dist/notes.json +1 -1
  8. package/package.json +3 -3
  9. package/NOTICE +0 -48
  10. package/dist/builtins/games/trek/abandon.d.ts +0 -3
  11. package/dist/builtins/games/trek/abandon.js +0 -159
  12. package/dist/builtins/games/trek/abandon.js.map +0 -1
  13. package/dist/builtins/games/trek/attack.d.ts +0 -3
  14. package/dist/builtins/games/trek/attack.js +0 -185
  15. package/dist/builtins/games/trek/attack.js.map +0 -1
  16. package/dist/builtins/games/trek/autover.d.ts +0 -3
  17. package/dist/builtins/games/trek/autover.js +0 -79
  18. package/dist/builtins/games/trek/autover.js.map +0 -1
  19. package/dist/builtins/games/trek/capture.d.ts +0 -3
  20. package/dist/builtins/games/trek/capture.js +0 -117
  21. package/dist/builtins/games/trek/capture.js.map +0 -1
  22. package/dist/builtins/games/trek/check_out.d.ts +0 -3
  23. package/dist/builtins/games/trek/check_out.js +0 -67
  24. package/dist/builtins/games/trek/check_out.js.map +0 -1
  25. package/dist/builtins/games/trek/checkcond.d.ts +0 -3
  26. package/dist/builtins/games/trek/checkcond.js +0 -101
  27. package/dist/builtins/games/trek/checkcond.js.map +0 -1
  28. package/dist/builtins/games/trek/compkl.d.ts +0 -8
  29. package/dist/builtins/games/trek/compkl.js +0 -66
  30. package/dist/builtins/games/trek/compkl.js.map +0 -1
  31. package/dist/builtins/games/trek/computer.d.ts +0 -3
  32. package/dist/builtins/games/trek/computer.js +0 -310
  33. package/dist/builtins/games/trek/computer.js.map +0 -1
  34. package/dist/builtins/games/trek/consts.d.ts +0 -109
  35. package/dist/builtins/games/trek/consts.js +0 -159
  36. package/dist/builtins/games/trek/consts.js.map +0 -1
  37. package/dist/builtins/games/trek/context.d.ts +0 -27
  38. package/dist/builtins/games/trek/context.js +0 -2
  39. package/dist/builtins/games/trek/context.js.map +0 -1
  40. package/dist/builtins/games/trek/damage.d.ts +0 -3
  41. package/dist/builtins/games/trek/damage.js +0 -87
  42. package/dist/builtins/games/trek/damage.js.map +0 -1
  43. package/dist/builtins/games/trek/damaged.d.ts +0 -3
  44. package/dist/builtins/games/trek/damaged.js +0 -58
  45. package/dist/builtins/games/trek/damaged.js.map +0 -1
  46. package/dist/builtins/games/trek/dcrept.d.ts +0 -3
  47. package/dist/builtins/games/trek/dcrept.js +0 -86
  48. package/dist/builtins/games/trek/dcrept.js.map +0 -1
  49. package/dist/builtins/games/trek/destruct.d.ts +0 -3
  50. package/dist/builtins/games/trek/destruct.js +0 -114
  51. package/dist/builtins/games/trek/destruct.js.map +0 -1
  52. package/dist/builtins/games/trek/dock.d.ts +0 -5
  53. package/dist/builtins/games/trek/dock.js +0 -133
  54. package/dist/builtins/games/trek/dock.js.map +0 -1
  55. package/dist/builtins/games/trek/dumpgame.d.ts +0 -15
  56. package/dist/builtins/games/trek/dumpgame.js +0 -29
  57. package/dist/builtins/games/trek/dumpgame.js.map +0 -1
  58. package/dist/builtins/games/trek/dumpme.d.ts +0 -3
  59. package/dist/builtins/games/trek/dumpme.js +0 -81
  60. package/dist/builtins/games/trek/dumpme.js.map +0 -1
  61. package/dist/builtins/games/trek/dumpssradio.d.ts +0 -6
  62. package/dist/builtins/games/trek/dumpssradio.js +0 -72
  63. package/dist/builtins/games/trek/dumpssradio.js.map +0 -1
  64. package/dist/builtins/games/trek/events.d.ts +0 -3
  65. package/dist/builtins/games/trek/events.js +0 -407
  66. package/dist/builtins/games/trek/events.js.map +0 -1
  67. package/dist/builtins/games/trek/getcodi.d.ts +0 -14
  68. package/dist/builtins/games/trek/getcodi.js +0 -24
  69. package/dist/builtins/games/trek/getcodi.js.map +0 -1
  70. package/dist/builtins/games/trek/getpar.d.ts +0 -40
  71. package/dist/builtins/games/trek/getpar.js +0 -174
  72. package/dist/builtins/games/trek/getpar.js.map +0 -1
  73. package/dist/builtins/games/trek/help.d.ts +0 -3
  74. package/dist/builtins/games/trek/help.js +0 -155
  75. package/dist/builtins/games/trek/help.js.map +0 -1
  76. package/dist/builtins/games/trek/impulse.d.ts +0 -6
  77. package/dist/builtins/games/trek/impulse.js +0 -85
  78. package/dist/builtins/games/trek/impulse.js.map +0 -1
  79. package/dist/builtins/games/trek/initquad.d.ts +0 -17
  80. package/dist/builtins/games/trek/initquad.js +0 -79
  81. package/dist/builtins/games/trek/initquad.js.map +0 -1
  82. package/dist/builtins/games/trek/io.d.ts +0 -102
  83. package/dist/builtins/games/trek/io.js +0 -216
  84. package/dist/builtins/games/trek/io.js.map +0 -1
  85. package/dist/builtins/games/trek/kill.d.ts +0 -21
  86. package/dist/builtins/games/trek/kill.js +0 -194
  87. package/dist/builtins/games/trek/kill.js.map +0 -1
  88. package/dist/builtins/games/trek/klmove.d.ts +0 -3
  89. package/dist/builtins/games/trek/klmove.js +0 -181
  90. package/dist/builtins/games/trek/klmove.js.map +0 -1
  91. package/dist/builtins/games/trek/lose.d.ts +0 -9
  92. package/dist/builtins/games/trek/lose.js +0 -36
  93. package/dist/builtins/games/trek/lose.js.map +0 -1
  94. package/dist/builtins/games/trek/lrscan.d.ts +0 -3
  95. package/dist/builtins/games/trek/lrscan.js +0 -96
  96. package/dist/builtins/games/trek/lrscan.js.map +0 -1
  97. package/dist/builtins/games/trek/main.d.ts +0 -24
  98. package/dist/builtins/games/trek/main.js +0 -37
  99. package/dist/builtins/games/trek/main.js.map +0 -1
  100. package/dist/builtins/games/trek/move.d.ts +0 -3
  101. package/dist/builtins/games/trek/move.js +0 -229
  102. package/dist/builtins/games/trek/move.js.map +0 -1
  103. package/dist/builtins/games/trek/nova.d.ts +0 -3
  104. package/dist/builtins/games/trek/nova.js +0 -135
  105. package/dist/builtins/games/trek/nova.js.map +0 -1
  106. package/dist/builtins/games/trek/out.d.ts +0 -3
  107. package/dist/builtins/games/trek/out.js +0 -52
  108. package/dist/builtins/games/trek/out.js.map +0 -1
  109. package/dist/builtins/games/trek/phaser.d.ts +0 -3
  110. package/dist/builtins/games/trek/phaser.js +0 -341
  111. package/dist/builtins/games/trek/phaser.js.map +0 -1
  112. package/dist/builtins/games/trek/play.d.ts +0 -3
  113. package/dist/builtins/games/trek/play.js +0 -112
  114. package/dist/builtins/games/trek/play.js.map +0 -1
  115. package/dist/builtins/games/trek/printf.d.ts +0 -31
  116. package/dist/builtins/games/trek/printf.js +0 -157
  117. package/dist/builtins/games/trek/printf.js.map +0 -1
  118. package/dist/builtins/games/trek/ram.d.ts +0 -3
  119. package/dist/builtins/games/trek/ram.js +0 -97
  120. package/dist/builtins/games/trek/ram.js.map +0 -1
  121. package/dist/builtins/games/trek/rand.d.ts +0 -29
  122. package/dist/builtins/games/trek/rand.js +0 -109
  123. package/dist/builtins/games/trek/rand.js.map +0 -1
  124. package/dist/builtins/games/trek/rest.d.ts +0 -3
  125. package/dist/builtins/games/trek/rest.js +0 -76
  126. package/dist/builtins/games/trek/rest.js.map +0 -1
  127. package/dist/builtins/games/trek/schedule.d.ts +0 -23
  128. package/dist/builtins/games/trek/schedule.js +0 -55
  129. package/dist/builtins/games/trek/schedule.js.map +0 -1
  130. package/dist/builtins/games/trek/score.d.ts +0 -8
  131. package/dist/builtins/games/trek/score.js +0 -61
  132. package/dist/builtins/games/trek/score.js.map +0 -1
  133. package/dist/builtins/games/trek/setup.d.ts +0 -18
  134. package/dist/builtins/games/trek/setup.js +0 -251
  135. package/dist/builtins/games/trek/setup.js.map +0 -1
  136. package/dist/builtins/games/trek/setwarp.d.ts +0 -8
  137. package/dist/builtins/games/trek/setwarp.js +0 -28
  138. package/dist/builtins/games/trek/setwarp.js.map +0 -1
  139. package/dist/builtins/games/trek/shield.d.ts +0 -3
  140. package/dist/builtins/games/trek/shield.js +0 -139
  141. package/dist/builtins/games/trek/shield.js.map +0 -1
  142. package/dist/builtins/games/trek/snova.d.ts +0 -3
  143. package/dist/builtins/games/trek/snova.js +0 -156
  144. package/dist/builtins/games/trek/snova.js.map +0 -1
  145. package/dist/builtins/games/trek/srscan.d.ts +0 -3
  146. package/dist/builtins/games/trek/srscan.js +0 -176
  147. package/dist/builtins/games/trek/srscan.js.map +0 -1
  148. package/dist/builtins/games/trek/state.d.ts +0 -190
  149. package/dist/builtins/games/trek/state.js +0 -84
  150. package/dist/builtins/games/trek/state.js.map +0 -1
  151. package/dist/builtins/games/trek/style.d.ts +0 -7
  152. package/dist/builtins/games/trek/style.js +0 -93
  153. package/dist/builtins/games/trek/style.js.map +0 -1
  154. package/dist/builtins/games/trek/systemname.d.ts +0 -10
  155. package/dist/builtins/games/trek/systemname.js +0 -12
  156. package/dist/builtins/games/trek/systemname.js.map +0 -1
  157. package/dist/builtins/games/trek/torped.d.ts +0 -3
  158. package/dist/builtins/games/trek/torped.js +0 -232
  159. package/dist/builtins/games/trek/torped.js.map +0 -1
  160. package/dist/builtins/games/trek/trek.d.ts +0 -27
  161. package/dist/builtins/games/trek/trek.js +0 -96
  162. package/dist/builtins/games/trek/trek.js.map +0 -1
  163. package/dist/builtins/games/trek/visual.d.ts +0 -3
  164. package/dist/builtins/games/trek/visual.js +0 -87
  165. package/dist/builtins/games/trek/visual.js.map +0 -1
  166. package/dist/builtins/games/trek/warp.d.ts +0 -5
  167. package/dist/builtins/games/trek/warp.js +0 -173
  168. package/dist/builtins/games/trek/warp.js.map +0 -1
  169. package/dist/builtins/games/trek/win.d.ts +0 -12
  170. package/dist/builtins/games/trek/win.js +0 -34
  171. package/dist/builtins/games/trek/win.js.map +0 -1
@@ -1,157 +0,0 @@
1
- /**
2
- * @file C's printf formatting, as trek uses it.
3
- *
4
- * trek prints through printf with widths, precisions and flags
5
- * (`%5.1f`, `%14.14s`, `%-3d`); a faithful port prints exactly what the C
6
- * printed, so this formats as C does: conversions d i u c s f e g x o and
7
- * %%, flags - + space 0 #, width and precision (either may be `*`).
8
- * Written for the port (no BSD source here).
9
- *
10
- * @module
11
- */
12
- /**
13
- * Formats as C's sprintf.
14
- *
15
- * @param format - The format string.
16
- * @param args - The values, in order.
17
- * @returns The text.
18
- */
19
- export function sprintf(format, ...args) {
20
- let out = '';
21
- let next = 0;
22
- const take = () => args[next++] ?? 0;
23
- const spec = /%([-+ 0#]*)(\*|\d+)?(?:\.(\*|\d*))?(?:hh|h|ll|l|L|z|j|t)?([diucsfFeEgGxXo%])/g;
24
- let last = 0;
25
- let match;
26
- while ((match = spec.exec(format)) !== null) {
27
- out += format.slice(last, match.index);
28
- last = spec.lastIndex;
29
- const [, flags = '', widthSpec, precSpec, conversion = ''] = match;
30
- if (conversion === '%') {
31
- out += '%';
32
- continue;
33
- }
34
- let width = widthSpec === undefined ? 0 : widthSpec === '*' ? Number(take()) : Number(widthSpec);
35
- let left = flags.includes('-');
36
- if (width < 0) {
37
- left = true;
38
- width = -width;
39
- }
40
- const precision = precSpec === undefined ? null : precSpec === '*' ? Number(take()) : Number(precSpec || '0');
41
- const value = take();
42
- let body;
43
- let sign = '';
44
- let numeric = true;
45
- switch (conversion) {
46
- case 'd':
47
- case 'i':
48
- case 'u': {
49
- const n = Math.trunc(Number(value));
50
- sign = n < 0 ? '-' : flags.includes('+') ? '+' : flags.includes(' ') ? ' ' : '';
51
- body = String(Math.abs(n));
52
- if (precision !== null)
53
- body = precision === 0 && n === 0 ? '' : body.padStart(precision, '0');
54
- break;
55
- }
56
- case 'x':
57
- case 'X':
58
- case 'o': {
59
- const n = Math.trunc(Number(value)) >>> 0;
60
- body = n.toString(conversion === 'o' ? 8 : 16);
61
- if (conversion === 'X')
62
- body = body.toUpperCase();
63
- if (precision !== null)
64
- body = body.padStart(precision, '0');
65
- if (flags.includes('#') && n !== 0)
66
- body = (conversion === 'o' ? '0' : conversion === 'x' ? '0x' : '0X') + body;
67
- break;
68
- }
69
- case 'c':
70
- numeric = false;
71
- body = typeof value === 'number' ? String.fromCharCode(value) : String(value).charAt(0);
72
- break;
73
- case 's':
74
- numeric = false;
75
- body = String(value);
76
- if (precision !== null)
77
- body = body.slice(0, precision);
78
- break;
79
- default: {
80
- const n = Number(value);
81
- sign = n < 0 || Object.is(n, -0) ? '-' : flags.includes('+') ? '+' : flags.includes(' ') ? ' ' : '';
82
- body = float_format(Math.abs(n), conversion, precision ?? 6, flags.includes('#'));
83
- }
84
- }
85
- let text = sign + body;
86
- if (text.length < width) {
87
- if (left)
88
- text = text.padEnd(width);
89
- else if (numeric && flags.includes('0') && !(precision !== null && 'diuxXo'.includes(conversion)))
90
- text = sign + body.padStart(width - sign.length, '0');
91
- else
92
- text = text.padStart(width);
93
- }
94
- out += text;
95
- }
96
- return out + format.slice(last);
97
- }
98
- /** A non-negative double in %f, %e or %g. */
99
- function float_format(n, conversion, precision, alternate) {
100
- if (!Number.isFinite(n))
101
- return Number.isNaN(n) ? 'nan' : 'inf';
102
- const lower = conversion.toLowerCase();
103
- if (lower === 'f')
104
- return fixed_exact(n, precision);
105
- if (lower === 'e')
106
- return exp_format(n, precision, conversion === 'E');
107
- // %g: precision 0 is 1; %e when the exponent is < -4 or >= precision.
108
- const p = precision === 0 ? 1 : precision;
109
- const exponent = n === 0 ? 0 : Math.floor(Math.log10(Number(n.toExponential(p - 1))));
110
- let text = exponent < -4 || exponent >= p ? exp_format(n, p - 1, conversion === 'G') : n.toFixed(Math.max(0, p - 1 - exponent));
111
- if (!alternate) {
112
- text = text.replace(/(\.\d*?)0+(e|E|$)/, '$1$2').replace(/\.(e|E|$)/, '$1');
113
- }
114
- return text;
115
- }
116
- /** %e: d.ddde+XX, at least two exponent digits. */
117
- function exp_format(n, precision, upper) {
118
- const [mantissa, exp = '0'] = n.toExponential(precision).split('e');
119
- const e = Number(exp);
120
- const text = `${mantissa}e${e < 0 ? '-' : '+'}${String(Math.abs(e)).padStart(2, '0')}`;
121
- return upper ? text.toUpperCase() : text;
122
- }
123
- /**
124
- * %f as glibc prints it: the double's exact binary value rounded to the
125
- * precision, an exact tie to even. (JavaScript's toFixed rounds a tie up:
126
- * `%.0f` of 2.5 is 2 in C and 3 in toFixed.)
127
- *
128
- * @param n - A non-negative finite double.
129
- * @param precision - Digits after the point.
130
- * @returns The digits.
131
- */
132
- export function fixed_exact(n, precision) {
133
- const view = new DataView(new ArrayBuffer(8));
134
- view.setFloat64(0, n);
135
- const bits = view.getBigUint64(0);
136
- const biased = Number((bits >> 52n) & 0x7ffn);
137
- const fraction = bits & ((1n << 52n) - 1n);
138
- // n = mantissa * 2^exponent, exactly.
139
- const mantissa = biased === 0 ? fraction : fraction | (1n << 52n);
140
- const exponent = (biased === 0 ? 1 : biased) - 1075;
141
- const scale = 10n ** BigInt(precision);
142
- let digits;
143
- if (exponent >= 0) {
144
- digits = (mantissa << BigInt(exponent)) * scale;
145
- }
146
- else {
147
- const numerator = mantissa * scale;
148
- const denominator = 1n << BigInt(-exponent);
149
- digits = numerator / denominator;
150
- const twice = (numerator % denominator) * 2n;
151
- if (twice > denominator || (twice === denominator && digits % 2n === 1n))
152
- digits += 1n;
153
- }
154
- const text = digits.toString().padStart(precision + 1, '0');
155
- return precision === 0 ? text : `${text.slice(0, text.length - precision)}.${text.slice(text.length - precision)}`;
156
- }
157
- //# sourceMappingURL=printf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"printf.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/printf.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Trek } from './context.js';
2
- /** Rams whatever is at ix,iy. */
3
- export declare function ram(t: Trek, ix: number, iy: number): Promise<void>;
@@ -1,97 +0,0 @@
1
- /*
2
- * ram.ts: a TypeScript port of BSD trek(6), from ram.c.
3
- * Ported from NetBSD src/games/trek (trunk 7a9ca154a8f6144307865f23390a3c63b400b801): ram.c 1.8 2009/05/24.
4
- *
5
- * Copyright (c) 1980, 1993
6
- * The Regents of the University of California. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- * 1. Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
13
- * 2. Redistributions in binary form must reproduce the above copyright
14
- * notice, this list of conditions and the following disclaimer in the
15
- * documentation and/or other materials provided with the distribution.
16
- * 3. Neither the name of the University nor the names of its contributors
17
- * may be used to endorse or promote products derived from this software
18
- * without specific prior written permission.
19
- *
20
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
- * SUCH DAMAGE.
31
- *
32
- */
33
- /**
34
- * @file Ramming an object: a Klingon, a star or a starbase.
35
- *
36
- * @module
37
- */
38
- import { BASE, INHABIT, KLINGON, L_STAR, NDEV, SINS, STAR } from './consts.js';
39
- import { damage } from './damage.js';
40
- import { damaged } from './damaged.js';
41
- import { killb, killk } from './kill.js';
42
- import { lose } from './lose.js';
43
- import { franf, ranf } from './rand.js';
44
- /*
45
- ** RAM SOME OBJECT
46
- **
47
- ** You have run into some sort of object. It may be a Klingon,
48
- ** a star, or a starbase. If you run into a star, you are really
49
- ** stupid, because there is no hope for you.
50
- **
51
- ** If you run into something else, you destroy that object. You
52
- ** also rack up incredible damages.
53
- */
54
- /** Rams whatever is at ix,iy. */
55
- export async function ram(t, ix, iy) {
56
- const { Ship, Game, Param } = t.s;
57
- let i;
58
- t.io.printf('\x07RED ALERT\x07: collision imminent\n');
59
- const c = t.s.Sect[ix][iy];
60
- switch (c) {
61
- case KLINGON:
62
- t.io.printf('%s rams Klingon at %d,%d\n', Ship.shipname, ix, iy);
63
- await killk(t, ix, iy);
64
- break;
65
- case STAR:
66
- case INHABIT:
67
- t.io.printf("Yeoman Rand: Captain, isn't it getting hot in here?\n");
68
- await t.io.sleep(2);
69
- t.io.printf('Spock: Hull temperature approaching 550 Degrees ' +
70
- 'Kelvin.\n');
71
- await lose(t, L_STAR);
72
- // falls through (lose() never returns)
73
- case BASE:
74
- t.io.printf('You ran into the starbase at %d,%d\n', ix, iy);
75
- await killb(t, Ship.quadx, Ship.quady);
76
- /* don't penalize the captain if it wasn't his fault */
77
- if (!damaged(t, SINS))
78
- Game.killb += 1;
79
- break;
80
- }
81
- await t.io.sleep(2);
82
- t.io.printf('%s heavily damaged\n', Ship.shipname);
83
- /* select the number of deaths to occur */
84
- i = 10 + ranf(t.rnd, 20 * Game.skill);
85
- Game.deaths += i;
86
- Ship.crew -= i;
87
- t.io.printf('McCoy: Take it easy Jim; we had %d casualties.\n', i);
88
- /* damage devices with an 80% probability */
89
- for (i = 0; i < NDEV; i++) {
90
- if (ranf(t.rnd, 100) < 20)
91
- continue;
92
- await damage(t, i, (2.5 * (franf(t.rnd) + franf(t.rnd)) + 1.0) * Param.damfac[i]);
93
- }
94
- /* no chance that your shields remained up in all that */
95
- Ship.shldup = 0;
96
- }
97
- //# sourceMappingURL=ram.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ram.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/ram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;;EASE;AAEF,iCAAiC;AACjC,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,CAAO,EAAE,EAAU,EAAE,EAAU;IACvD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAS,CAAC;IAEd,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;IACvD,MAAM,CAAC,GAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO;YACV,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvB,MAAM;QAER,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC;YACrE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,kDAAkD;gBAC5D,WAAW,CAAC,CAAC;YACf,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACtB,uCAAuC;QACzC,KAAK,IAAI;YACP,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,sCAAsC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,uDAAuD;YACvD,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;gBAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YACvC,MAAM;IACV,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnD,0CAA0C;IAC1C,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;IAEnE,4CAA4C;IAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;YAAE,SAAS;QACpC,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClB,CAAC"}
@@ -1,29 +0,0 @@
1
- /** glibc's random(), from a seed. */
2
- export declare class TrekRandom {
3
- private table;
4
- private front;
5
- private rear;
6
- /**
7
- * @param seed - As srandom() takes it.
8
- */
9
- constructor(seed: number);
10
- /** Seeds as glibc's srandom (TYPE_3, degree 31, separation 3). */
11
- srandom(seed: number): void;
12
- /** The next value, 0 .. RANDOM_MAX. */
13
- random(): number;
14
- }
15
- /**
16
- * ranf: a random integer, 0 .. max-1 (0 when max <= 0).
17
- *
18
- * @param rnd - The source.
19
- * @param max - The bound.
20
- * @returns The integer.
21
- */
22
- export declare function ranf(rnd: TrekRandom, max: number): number;
23
- /**
24
- * franf: a random double, 0 .. 1.
25
- *
26
- * @param rnd - The source.
27
- * @returns The double.
28
- */
29
- export declare function franf(rnd: TrekRandom): number;
@@ -1,109 +0,0 @@
1
- /*
2
- * rand.ts: a TypeScript port of BSD trek(6), from ranf.c.
3
- * Ported from NetBSD src/games/trek (trunk 7a9ca154a8f6144307865f23390a3c63b400b801): ranf.c 1.7 2009/05/25.
4
- *
5
- * Copyright (c) 1980, 1993
6
- * The Regents of the University of California. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- * 1. Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
13
- * 2. Redistributions in binary form must reproduce the above copyright
14
- * notice, this list of conditions and the following disclaimer in the
15
- * documentation and/or other materials provided with the distribution.
16
- * 3. Neither the name of the University nor the names of its contributors
17
- * may be used to endorse or promote products derived from this software
18
- * without specific prior written permission.
19
- *
20
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
- * SUCH DAMAGE.
31
- *
32
- */
33
- /**
34
- * @file trek's random source: ranf() and franf() over random().
35
- *
36
- * random() is glibc's, reproduced exactly (the additive feedback generator
37
- * of degree 31, seeded as srandom() seeds it), so a game played here from a
38
- * seed is the game the C plays from the same seed: the port is checked
39
- * against the original, transcript for transcript.
40
- *
41
- * @module
42
- */
43
- import { RANDOM_MAX } from './consts.js';
44
- /** glibc's random(), from a seed. */
45
- export class TrekRandom {
46
- table = [];
47
- front = 0;
48
- rear = 0;
49
- /**
50
- * @param seed - As srandom() takes it.
51
- */
52
- constructor(seed) {
53
- this.srandom(seed);
54
- }
55
- /** Seeds as glibc's srandom (TYPE_3, degree 31, separation 3). */
56
- srandom(seed) {
57
- let word = seed | 0;
58
- if (word === 0)
59
- word = 1;
60
- const state = new Array(31);
61
- state[0] = word;
62
- for (let i = 1; i < 31; i++) {
63
- // 16807 * state[i-1] % 2147483647, by Schrage's method, as glibc does.
64
- const hi = Math.trunc(word / 127773);
65
- const lo = word % 127773;
66
- word = 16807 * lo - 2836 * hi;
67
- if (word < 0)
68
- word += 2147483647;
69
- state[i] = word;
70
- }
71
- this.table = state;
72
- this.front = 3;
73
- this.rear = 0;
74
- // glibc discards the first 310 outputs.
75
- for (let i = 0; i < 310; i++)
76
- this.random();
77
- }
78
- /** The next value, 0 .. RANDOM_MAX. */
79
- random() {
80
- const sum = (this.table[this.front] + this.table[this.rear]) | 0;
81
- this.table[this.front] = sum;
82
- const result = (sum >>> 1) & RANDOM_MAX;
83
- this.front = (this.front + 1) % 31;
84
- this.rear = (this.rear + 1) % 31;
85
- return result;
86
- }
87
- }
88
- /**
89
- * ranf: a random integer, 0 .. max-1 (0 when max <= 0).
90
- *
91
- * @param rnd - The source.
92
- * @param max - The bound.
93
- * @returns The integer.
94
- */
95
- export function ranf(rnd, max) {
96
- if (max <= 0)
97
- return 0;
98
- return rnd.random() % max;
99
- }
100
- /**
101
- * franf: a random double, 0 .. 1.
102
- *
103
- * @param rnd - The source.
104
- * @returns The double.
105
- */
106
- export function franf(rnd) {
107
- return rnd.random() / RANDOM_MAX;
108
- }
109
- //# sourceMappingURL=rand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rand.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/rand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qCAAqC;AACrC,MAAM,OAAO,UAAU;IACb,KAAK,GAAa,EAAE,CAAC;IACrB,KAAK,GAAW,CAAC,CAAC;IAClB,IAAI,GAAW,CAAC,CAAC;IAEzB;;OAEG;IACH,YAAY,IAAY;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,kEAAkE;IAC3D,OAAO,CAAC,IAAY;QACzB,IAAI,IAAI,GAAW,IAAI,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC;QACzB,MAAM,KAAK,GAAa,IAAI,KAAK,CAAS,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,uEAAuE;YACvE,MAAM,EAAE,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAW,IAAI,GAAG,MAAM,CAAC;YACjC,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;YAC9B,IAAI,IAAI,GAAG,CAAC;gBAAE,IAAI,IAAI,UAAU,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IAED,uCAAuC;IAChC,MAAM;QACX,MAAM,GAAG,GAAW,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAY,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAY,CAAC,GAAG,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC7B,MAAM,MAAM,GAAW,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,GAAe,EAAE,GAAW;IAC/C,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAe;IACnC,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC;AACnC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Trek } from './context.js';
2
- /** The rest command. */
3
- export declare function rest(t: Trek, _v: number): Promise<void>;
@@ -1,76 +0,0 @@
1
- /*
2
- * rest.ts: a TypeScript port of BSD trek(6), from rest.c.
3
- * Ported from NetBSD src/games/trek (trunk 7a9ca154a8f6144307865f23390a3c63b400b801): rest.c 1.9 2009/05/24.
4
- *
5
- * Copyright (c) 1980, 1993
6
- * The Regents of the University of California. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- * 1. Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
13
- * 2. Redistributions in binary form must reproduce the above copyright
14
- * notice, this list of conditions and the following disclaimer in the
15
- * documentation and/or other materials provided with the distribution.
16
- * 3. Neither the name of the University nor the names of its contributors
17
- * may be used to endorse or promote products derived from this software
18
- * without specific prior written permission.
19
- *
20
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
- * SUCH DAMAGE.
31
- *
32
- */
33
- /**
34
- * @file Resting for repairs: waiting for something to happen, never
35
- * through a long range tractor beam.
36
- *
37
- * @module
38
- */
39
- import { DOCKED, E_LRTB } from './consts.js';
40
- import { getfltpar, getynpar } from './getpar.js';
41
- /*
42
- ** REST FOR REPAIRS
43
- **
44
- ** You sit around and wait for repairs to happen. Actually, you
45
- ** sit around and wait for anything to happen. I do want to point
46
- ** out however, that Klingons are not as patient as you are, and
47
- ** they tend to attack you while you are resting.
48
- **
49
- ** You can never rest through a long range tractor beam.
50
- **
51
- ** In events() you will be given an opportunity to cancel the
52
- ** rest period if anything momentous happens.
53
- */
54
- /** The rest command. */
55
- export async function rest(t, _v) {
56
- const { Ship, Move } = t.s;
57
- let tm;
58
- /* get the time to rest */
59
- tm = await getfltpar(t, 'How long');
60
- if (tm <= 0.0)
61
- return;
62
- const percent = Math.trunc(100 * tm / t.s.Now.time + 0.5);
63
- if (percent >= 70) {
64
- t.io.printf('Spock: That would take %d%% of our remaining time.\n', percent);
65
- if (!(await getynpar(t, 'Are you really certain that is wise')))
66
- return;
67
- }
68
- Move.time = tm;
69
- /* boundary condition is the LRTB */
70
- tm = t.s.Event[t.s.Now.eventptr[E_LRTB]].date - t.s.Now.date;
71
- if (Ship.cond !== DOCKED && Move.time > tm)
72
- Move.time = tm + 0.0001;
73
- Move.free = 0;
74
- Move.resting = 1;
75
- }
76
- //# sourceMappingURL=rest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/rest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;EAYE;AAEF,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,CAAO,EAAE,EAAU;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAU,CAAC;IAEf,0BAA0B;IAC1B,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACpC,IAAI,EAAE,IAAI,GAAG;QAAE,OAAO;IACtB,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAClE,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,sDAAsD,EAChE,OAAO,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC;YAAE,OAAO;IAC1E,CAAC;IACD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAEf,oCAAoC;IACpC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;QAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;IACpE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * @file The event queue: scheduling, rescheduling and unscheduling an
3
- * event, and the abbreviated forms whose dates are drawn at random.
4
- *
5
- * An event is named by its slot in `Event`; -1 stands for the C's NULL.
6
- *
7
- * @module
8
- */
9
- import type { Trek } from './context.js';
10
- /**
11
- * SCHEDULE AN EVENT: an event of type 'type' is scheduled for time NOW +
12
- * 'offset' into the first available slot; 'x', 'y' and 'z' are its
13
- * attributes. The slot is returned.
14
- */
15
- export declare function schedule(t: Trek, type: number, offset: number, x: number, y: number, z: number): number;
16
- /** RESCHEDULE AN EVENT: the event in slot 'e' is rescheduled to the current time plus 'offset'. */
17
- export declare function reschedule(t: Trek, e: number, offset: number): void;
18
- /** UNSCHEDULE AN EVENT: the event at slot 'e' is deleted. */
19
- export declare function unschedule(t: Trek, e: number): void;
20
- /** Abbreviated schedule routine: the event index and a factor for the time figure. */
21
- export declare function xsched(t: Trek, ev: number, factor: number, x: number, y: number, z: number): number;
22
- /** Simplified reschedule routine: the event, its index and the division factor. */
23
- export declare function xresched(t: Trek, e: number, ev: number, factor: number): void;
@@ -1,55 +0,0 @@
1
- import { E_EVENT, E_GHOST, MAXEVENTS, TOOLARGE } from './consts.js';
2
- import { franf } from './rand.js';
3
- /**
4
- * SCHEDULE AN EVENT: an event of type 'type' is scheduled for time NOW +
5
- * 'offset' into the first available slot; 'x', 'y' and 'z' are its
6
- * attributes. The slot is returned.
7
- */
8
- export function schedule(t, type, offset, x, y, z) {
9
- const date = t.s.Now.date + offset;
10
- for (let i = 0; i < MAXEVENTS; i++) {
11
- const e = t.s.Event[i];
12
- if (e.evcode)
13
- continue;
14
- // got a slot
15
- if (t.s.Trace)
16
- t.io.printf('schedule: type %d @ %.2f slot %d parm %d %d %d\n', type, date, i, x, y, z);
17
- e.evcode = type;
18
- e.date = date;
19
- e.x = x;
20
- e.y = y;
21
- e.systemname = z;
22
- t.s.Now.eventptr[type & ~E_GHOST] = i;
23
- return i;
24
- }
25
- t.io.printf('trek: Cannot schedule event %d parm %d %d %d\n', type, x, y, z);
26
- return t.io.exit(1);
27
- }
28
- /** RESCHEDULE AN EVENT: the event in slot 'e' is rescheduled to the current time plus 'offset'. */
29
- export function reschedule(t, e, offset) {
30
- const ev = t.s.Event[e];
31
- const date = t.s.Now.date + offset;
32
- ev.date = date;
33
- if (t.s.Trace)
34
- t.io.printf('reschedule: type %d parm %d %d %d @ %.2f\n', ev.evcode, ev.x, ev.y, ev.systemname, date);
35
- }
36
- /** UNSCHEDULE AN EVENT: the event at slot 'e' is deleted. */
37
- export function unschedule(t, e) {
38
- const ev = t.s.Event[e];
39
- if (t.s.Trace)
40
- t.io.printf('unschedule: type %d @ %.2f parm %d %d %d\n', ev.evcode, ev.date, ev.x, ev.y, ev.systemname);
41
- t.s.Now.eventptr[ev.evcode & E_EVENT] = -1;
42
- ev.date = TOOLARGE;
43
- ev.evcode = 0;
44
- }
45
- /** Abbreviated schedule routine: the event index and a factor for the time figure. */
46
- export function xsched(t, ev, factor, x, y, z) {
47
- const when = -t.s.Param.eventdly[ev] * t.s.Param.time * Math.log(franf(t.rnd)) / factor;
48
- return schedule(t, ev, when, x, y, z);
49
- }
50
- /** Simplified reschedule routine: the event, its index and the division factor. */
51
- export function xresched(t, e, ev, factor) {
52
- const when = -t.s.Param.eventdly[ev] * t.s.Param.time * Math.log(franf(t.rnd)) / factor;
53
- reschedule(t, e, when);
54
- }
55
- //# sourceMappingURL=schedule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../../src/builtins/games/trek/schedule.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * @file The score: each item that counts, and the total.
3
- *
4
- * @module
5
- */
6
- import type { Trek } from './context.js';
7
- /** PRINT OUT THE CURRENT SCORE */
8
- export declare function score(t: Trek): number;