@journey-to-code/games 0.1.2 → 0.1.3

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.
package/dist/bowling.d.ts CHANGED
@@ -1,11 +1,13 @@
1
- import { type World } from "@journey-to-code/physics";
2
- import { type ShotMove, type SportGame, type SportShot } from "./sport.js";
1
+ import { type Point, type Shape, type World } from "@journey-to-code/physics";
2
+ import { type ShotMove, type SportBlock, type SportGame, type SportShot } from "./sport.js";
3
3
  import { type BaseRules } from "./table.js";
4
4
  export interface BowlingRules extends BaseRules {
5
5
  /** Frames in a game: ten, or five for a quick one. */
6
6
  frames: number;
7
7
  /** Rails along the lane: no gutter balls. */
8
8
  bumpers: boolean;
9
+ /** The lane, by its id in LANES. Left out: the plain lane. */
10
+ lane?: string;
9
11
  }
10
12
  export declare const tenFrames: BowlingRules;
11
13
  export declare const tenBumpers: BowlingRules;
@@ -13,16 +15,43 @@ export declare const fiveFrames: BowlingRules;
13
15
  export declare const fiveBumpers: BowlingRules;
14
16
  export declare const PIN_R = 800;
15
17
  export declare const BALL_R = 1300;
18
+ /** Half the lane's width: it runs from -LANE_HALF to LANE_HALF across. */
19
+ export declare const LANE_HALF = 5330;
16
20
  /** The foul line, where the ball starts, and the head pin. */
17
21
  export declare const FOUL_Y = 60000;
22
+ export declare const HEAD_Y = 0;
18
23
  export declare const BOWL_MIN_POWER = 150;
19
24
  export declare const BOWL_MAX_POWER = 1000;
20
25
  /** The spots of the ten pins, numbered as they are said: 1 at the front, 7 to 10 across the back, 7 on the left. */
21
26
  export declare const PIN_SPOTS: [number, number][];
22
27
  export declare const bowlingBallId = "ball";
23
28
  export declare const pinId: (n: number) => string;
29
+ export interface BowlingLane {
30
+ id: string;
31
+ name: string;
32
+ blocks?: {
33
+ points: Point[];
34
+ kind: SportBlock["kind"];
35
+ height?: number;
36
+ }[];
37
+ bumpers?: {
38
+ at: Point;
39
+ r?: number;
40
+ kick?: number;
41
+ }[];
42
+ slopes?: {
43
+ shape: Shape;
44
+ pull: Point;
45
+ }[];
46
+ sand?: Shape[];
47
+ water?: Shape[];
48
+ }
49
+ export declare const plainLane: BowlingLane;
50
+ /** Every lane there is. */
51
+ export declare const LANES: BowlingLane[];
52
+ export declare const laneOf: (id: unknown) => BowlingLane;
24
53
  /** The lane as a physics world, with `standing` pins (by number, 1 to 10) and the ball ready on the foul line. */
25
- export declare function laneWorld(standing: number[], rules: Pick<BowlingRules, "bumpers">): World;
54
+ export declare function laneWorld(standing: number[], rules: Pick<BowlingRules, "bumpers" | "lane">): World;
26
55
  export interface BowlingState {
27
56
  game: "bowling";
28
57
  rules: BowlingRules;
@@ -64,7 +93,7 @@ export interface Roll {
64
93
  pins: number;
65
94
  }
66
95
  /** The best ball from the foul line at these pins that a search can find: what a perfect bowler would roll. */
67
- export declare function bestRoll(standing: number[], rules: Pick<BowlingRules, "bumpers">): Roll;
96
+ export declare function bestRoll(standing: number[], rules: Pick<BowlingRules, "bumpers" | "lane">): Roll;
68
97
  /** The most a computer player's aim (hundredths of a degree) and strength (a share of it) can be off: at full skill, and how much more at none. */
69
98
  export declare const BOWL_AIM_SLIP: readonly [18, 130];
70
99
  export declare const BOWL_POWER_SLIP: readonly [0.05, 0.3];
package/dist/bowling.js CHANGED
@@ -29,10 +29,11 @@ const PRESETS = [tenFrames, tenBumpers, fiveFrames, fiveBumpers];
29
29
  // the top, and the ball is rolled up the lane (angle 27000, straight ahead).
30
30
  export const PIN_R = 800;
31
31
  export const BALL_R = 1300;
32
- const LANE_HALF = 5330;
32
+ /** Half the lane's width: it runs from -LANE_HALF to LANE_HALF across. */
33
+ export const LANE_HALF = 5330;
33
34
  /** The foul line, where the ball starts, and the head pin. */
34
35
  export const FOUL_Y = 60000;
35
- const HEAD_Y = 0;
36
+ export const HEAD_Y = 0;
36
37
  /** Where the pit begins, behind the last row. */
37
38
  const PIT_Y = -9500;
38
39
  const GUTTER = 3400;
@@ -53,9 +54,23 @@ export const PIN_SPOTS = (() => {
53
54
  export const bowlingBallId = "ball";
54
55
  export const pinId = (n) => `pin-${n}`;
55
56
  const pinOfId = (id) => (id.startsWith("pin-") ? Number(id.slice(4)) : 0);
57
+ export const plainLane = { id: "plain", name: "The lane" };
58
+ /** Every lane there is. */
59
+ export const LANES = [plainLane];
60
+ export const laneOf = (id) => LANES.find((l) => l.id === id) ?? plainLane;
61
+ /** How a ball rolls through sand on a lane (the lane's own friction is the world's). */
62
+ const LANE_SAND = 30000;
63
+ const laneBumpers = (lane) => (lane.bumpers ?? []).map((b, i) => ({ id: `toadstool-${i + 1}`, x: b.at[0], y: b.at[1], r: b.r ?? 380, fixed: true, kick: b.kick ?? 7000 }));
64
+ const laneWalls = (lane) => (lane.blocks ?? []).map((b, i) => ({ id: `block-${i + 1}`, closed: true, points: b.points }));
65
+ const laneRegions = (lane) => [
66
+ ...(lane.slopes ?? []).map((sl, i) => ({ id: `slope-${i + 1}`, shape: sl.shape, slope: sl.pull })),
67
+ ...(lane.sand ?? []).map((shape, i) => ({ id: `sand-${i + 1}`, shape, friction: LANE_SAND })),
68
+ ...(lane.water ?? []).map((shape, i) => ({ id: `water-${i + 1}`, shape, out: true })),
69
+ ];
56
70
  /** The lane as a physics world, with `standing` pins (by number, 1 to 10) and the ball ready on the foul line. */
57
71
  export function laneWorld(standing, rules) {
58
- const bodies = [{ id: bowlingBallId, x: 0, y: FOUL_Y, r: BALL_R, mass: 3.4, restitution: 0.75 }];
72
+ const lane = laneOf(rules.lane);
73
+ const bodies = [{ id: bowlingBallId, x: 0, y: FOUL_Y, r: BALL_R, mass: 3.4, restitution: 0.75 }, ...laneBumpers(lane)];
59
74
  for (const n of [...standing].sort((a, b) => a - b))
60
75
  bodies.push({ id: pinId(n), x: PIN_SPOTS[n - 1][0], y: PIN_SPOTS[n - 1][1], r: PIN_R, mass: 1.6, restitution: 0.5 });
61
76
  const edge = LANE_HALF;
@@ -73,28 +88,37 @@ export function laneWorld(standing, rules) {
73
88
  ? [
74
89
  { id: "bumper-left", points: [[-edge, FOUL_Y + 3000], [-edge, PIT_Y]] },
75
90
  { id: "bumper-right", points: [[edge, FOUL_Y + 3000], [edge, PIT_Y]] },
91
+ ...laneWalls(lane),
76
92
  ]
77
- : [],
93
+ : laneWalls(lane),
78
94
  pockets: [],
79
95
  regions: [
80
96
  { id: "gutter-left", shape: { points: [[-edge - GUTTER, FOUL_Y + 3000], [-edge, FOUL_Y + 3000], [-edge, PIT_Y], [-edge - GUTTER, PIT_Y]] }, out: true },
81
97
  { id: "gutter-right", shape: { points: [[edge, FOUL_Y + 3000], [edge + GUTTER, FOUL_Y + 3000], [edge + GUTTER, PIT_Y], [edge, PIT_Y]] }, out: true },
82
98
  { id: "pit", shape: { points: [[-edge - GUTTER, PIT_Y], [edge + GUTTER, PIT_Y], [edge + GUTTER, PIT_Y - 2400], [-edge - GUTTER, PIT_Y - 2400]] }, out: true },
99
+ ...laneRegions(lane),
83
100
  ],
84
101
  };
85
102
  }
86
- const LOOK = (rules) => ({
103
+ const LOOK = (rules, lane = laneOf(rules.lane)) => ({
87
104
  frame: { x: -LANE_HALF - GUTTER - 700, y: PIT_Y - 1500, w: 2 * (LANE_HALF + GUTTER + 700), h: FOUL_Y + 4000 - PIT_Y + 1500 },
88
105
  base: "paving",
89
- ground: [{ shape: { points: [[-LANE_HALF - GUTTER, PIT_Y], [LANE_HALF + GUTTER, PIT_Y], [LANE_HALF + GUTTER, FOUL_Y + 3000], [-LANE_HALF - GUTTER, FOUL_Y + 3000]] }, surface: "deck" }, { shape: { points: [[-LANE_HALF, PIT_Y], [LANE_HALF, PIT_Y], [LANE_HALF, FOUL_Y + 3000], [-LANE_HALF, FOUL_Y + 3000]] }, surface: "lane" }],
90
- regions: [{ id: "pit", surface: "soil" }],
106
+ ground: [{ shape: { points: [[-LANE_HALF - GUTTER, PIT_Y], [LANE_HALF + GUTTER, PIT_Y], [LANE_HALF + GUTTER, FOUL_Y + 3000], [-LANE_HALF - GUTTER, FOUL_Y + 3000]] }, surface: "deck" },
107
+ { shape: { points: [[-LANE_HALF, PIT_Y], [LANE_HALF, PIT_Y], [LANE_HALF, FOUL_Y + 3000], [-LANE_HALF, FOUL_Y + 3000]] }, surface: "lane" },
108
+ ...(lane.sand ?? []).map((shape) => ({ shape, surface: "sand" })),
109
+ ...(lane.water ?? []).map((shape) => ({ shape, surface: "water" })),
110
+ ],
111
+ regions: [
112
+ { id: "pit", surface: "soil" },
113
+ ...laneRegions(lane).map((r) => ({ id: r.id, surface: r.out ? "water" : r.slope ? "slope" : "sand" })),
114
+ ],
91
115
  rails: rules.bumpers
92
116
  ? [
93
117
  { wall: "bumper-left", material: "timber", side: "left", width: 900, height: 600 },
94
118
  { wall: "bumper-right", material: "timber", side: "right", width: 900, height: 600 },
95
119
  ]
96
120
  : [],
97
- blocks: [],
121
+ blocks: (lane.blocks ?? []).map((b, i) => ({ wall: `block-${i + 1}`, kind: b.kind, height: b.height ?? 500 })),
98
122
  ledges: [],
99
123
  tunnels: [],
100
124
  pockets: "pocket",
@@ -280,6 +304,7 @@ function apply(state, seat, move) {
280
304
  // ---- What a seat sees ---------------------------------------------------------------------------
281
305
  const TONES = ["red", "blue", "gold", "green", "purple", "orange"];
282
306
  const ballLook = (seat) => ({ id: bowlingBallId, owner: seat, kind: "ball", tone: TONES[seat % TONES.length], label: `${who(seat)}'s ball` });
307
+ const bumperLook = (b) => ({ id: b.id, owner: null, kind: "toadstool", tone: "red", label: "a toadstool", height: 640 });
283
308
  const pinLook = (n) => ({ id: pinId(n), owner: null, kind: "pin", tone: "white", label: `pin ${n}`, mark: String(n), height: 3800 });
284
309
  const winnersOf = (s) => {
285
310
  const totals = Array.from({ length: s.seats }, (_, i) => scoreOf(s, i));
@@ -322,11 +347,11 @@ function view(s, seat) {
322
347
  phase: s.phase,
323
348
  turn: playing ? s.turn : null,
324
349
  table: {
325
- key: `lane/${s.rules.bumpers ? "bumpers" : "open"}`,
350
+ key: `lane/${s.rules.bumpers ? "bumpers" : "open"}${s.rules.lane && s.rules.lane !== plainLane.id ? `/${s.rules.lane}` : ""}`,
326
351
  name: playing ? `Frame ${s.frame + 1}, ball ${balls}` : "The lane",
327
352
  world: laneWorld(s.standing, s.rules),
328
353
  look: LOOK(s.rules),
329
- bodies: [ballLook(playing ? s.turn : (s.last?.seat ?? 0)), ...ALL.map(pinLook)],
354
+ bodies: [...laneBumpers(laneOf(s.rules.lane)).map(bumperLook), ballLook(playing ? s.turn : (s.last?.seat ?? 0)), ...ALL.map(pinLook)],
330
355
  ghosts: [],
331
356
  },
332
357
  shoot: mine ? { body: bowlingBallId, minPower: BOWL_MIN_POWER, maxPower: BOWL_MAX_POWER } : null,
@@ -351,9 +376,11 @@ const clampPower = (power) => Math.min(BOWL_MAX_POWER, Math.max(BOWL_MIN_POWER,
351
376
  const thoughts = new Map();
352
377
  const TARGETS = Array.from({ length: 23 }, (_, i) => -5500 + i * 500);
353
378
  const POWERS = [600, 780, 960];
379
+ const WIDE = Array.from({ length: 16 }, (_, i) => (i < 8 ? -1 : 1) * (7000 + (i % 8) * 2500));
354
380
  /** The best ball from the foul line at these pins that a search can find: what a perfect bowler would roll. */
355
381
  export function bestRoll(standing, rules) {
356
- const key = `${standing.join(",")}/${rules.bumpers}`;
382
+ const lane = laneOf(rules.lane);
383
+ const key = `${standing.join(",")}/${rules.bumpers}/${lane.id}`;
357
384
  const known = thoughts.get(key);
358
385
  if (known)
359
386
  return known;
@@ -361,12 +388,15 @@ export function bestRoll(standing, rules) {
361
388
  let best = { angle: 27000, power: 780, pins: -1 };
362
389
  let bestScore = -Infinity;
363
390
  const toward = (x, y) => angleTo({ x: 0, y: FOUL_Y }, { x, y });
364
- for (const tx of TARGETS) {
391
+ // On a lane with things on it, the straight balls may all be in the way of something: look wider,
392
+ // at balls sent off to the side to come back off a bumper, a block or a slope.
393
+ const targets = lane === plainLane ? TARGETS : [...TARGETS, ...WIDE];
394
+ for (const tx of targets) {
365
395
  for (const power of POWERS) {
366
396
  const angle = toward(tx, HEAD_Y);
367
397
  const down = pinsDown(simulate(world, { body: bowlingBallId, angle, power }).world);
368
398
  // Pins knocked is what counts; all else equal, a ball that is still on the lane and harder is steadier.
369
- const score = down.length * 100 + power / 20 - Math.abs(tx) / 400;
399
+ const score = down.length * 100 + power / 20 - Math.min(Math.abs(tx), 5500) / 400;
370
400
  if (score > bestScore) {
371
401
  bestScore = score;
372
402
  best = { angle, power, pins: down.length };
@@ -397,7 +427,8 @@ function normalize(rules) {
397
427
  const given = (rules && typeof rules === "object" ? rules : {});
398
428
  const base = PRESETS.find((p) => p.id === given.id) ?? tenFrames;
399
429
  const r = { ...base, ...given };
400
- return { id: String(r.id), name: String(r.name), frames: Number(r.frames) === 5 ? 5 : 10, bumpers: r.bumpers === true };
430
+ const lane = typeof r.lane === "string" && r.lane && r.lane !== plainLane.id ? { lane: r.lane.slice(0, 80) } : {};
431
+ return { id: String(r.id), name: String(r.name), frames: Number(r.frames) === 5 ? 5 : 10, bumpers: r.bumpers === true, ...lane };
401
432
  }
402
433
  export const bowling = {
403
434
  id: "bowling",
@@ -421,6 +452,7 @@ export const bowling = {
421
452
  "A strike (all ten with the first ball) scores ten plus your next two balls; a spare (all ten with two) scores ten plus your next ball. Otherwise, a frame scores the pins knocked down.",
422
453
  `In the last frame a strike or a spare earns more balls: ${r.frames === 10 ? "up to three" : "up to three"}, with the pins set up again.`,
423
454
  r.bumpers ? "Bumpers are up, so there are no gutter balls." : "A ball in the gutter knocks nothing down, unless it already hit something.",
455
+ ...(laneOf(r.lane) !== plainLane ? [`This is ${laneOf(r.lane).name}: there are things on the lane to roll round, off or over. Sand slows the ball, water takes it, and a slope pulls it.`] : []),
424
456
  "The highest score wins.",
425
457
  ];
426
458
  },
@@ -1 +1 @@
1
- {"version":3,"file":"bowling.js","sourceRoot":"","sources":["../src/bowling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bowling.js","sourceRoot":"","sources":["../src/bowling.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@journey-to-code/games",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "The card room's other games on one kit: pure, deterministic engines that each describe their table the same way, so one table screen, one room and one set of bots serve them all.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",