ultratears
Tears of the Kingdom 1.4.3을 Windows에 비공식 포팅, 플레이어가 추출한 데이터로 로컬 컴파일, 게임 파일 미포함
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A browser-based Battleship game in which you take on Admiral Byte, a sarcastic AI naval commander. It's built with React and Vite and runs entirely in the browser. There's no backend, no account and no tracking.README 전문 보기 ↗A browser-based Battleship game in which you take on Admiral Byte, a sarcastic AI naval commander. It's built with React and Vite and runs entirely in the browser. There's no backend, no account and no tracking.
R to rotate, click to place, click a placed ship to pick it back up). Overlapping, out-of-bounds and diagonal placements are rejected, and the live preview shows invalid positions.prefers-reduced-motion support plus a manual Motion toggle (Auto / Full / Reduced).localStorage.| Concern | Choice |
|---|---|
| UI | React 18 (JavaScript) |
| Build / dev server | Vite 5 |
| Styling and animation | Plain CSS (custom properties, keyframes) |
| Tests | Vitest 2, jsdom, Testing Library |
| Linting | ESLint 9 |
| Sound | Web Audio API (synthesized) |
The only runtime dependencies are react and react-dom.
Requires Node.js 18+ (developed on Node 20).
git clone <your-repo-url> operation-deep-blue
cd operation-deep-blue
npm install
npm run dev # http://localhost:5173
Other scripts:
npm test # run the full test suite once
npm run test:watch # watch mode
npm run lint # ESLint
npm run build # production build into dist/
npm run preview # serve the production build locally
Deterministic games: add ?seed=<number> to the URL (for example http://localhost:5173/?seed=777) to get the same fleets and AI choices every time. This is useful for reproducing bugs and for scripted browser tests.
New battle in the header restarts at any time, including mid-turn.
The AI code is in src/engine/ai.js and is deliberately simple and deterministic given a seed. It only sees the results of its own shots (getAIView). It never reads your ship positions.
Every candidate is filtered against cells it has already fired at, so the AI never repeats a shot. The tests check this by playing thousands of shots across many seeds.
npm test
There are 64 tests across 7 files:
board.test.js: placement validation, overlap and bounds rejection, random fleet placement across many seeds, sinking.attack.test.js: hit/miss/sunk resolution, duplicate rejection, immutability.ai.test.js: no repeated shots over full games, neighbour targeting after a hit, line extension, return to hunt after a sink, no access to hidden ships.game.test.js: turn sequencing, win/loss detection, no moves after game over, reset, stale AI moves from a previous game being ignored, manual placement rules.stats.test.js / dialogue.test.js: accuracy, ranks, debrief, no repeated dialogue lines.App.test.jsx (integration): full rendered games, rapid clicking during the AI turn, restarting mid-AI-turn, the game ending during an animation, reduced motion, and that sound is muted by default.The game was also played through in a real browser with Playwright scripts. See BUGFIXES.md.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗