From 987a5fa3347320e811160a8f562d8dc68035ff8e Mon Sep 17 00:00:00 2001 From: "smx.pusha" <139338836+smxpusha@users.noreply.github.com> Date: Thu, 6 Aug 2026 09:00:45 +0200 Subject: [PATCH] ADD - minesweeper phone game --- .../src/assets/audio/minesweeper/flag.wav | Bin 0 -> 16360 bytes .../src/assets/audio/minesweeper/mine.wav | Bin 0 -> 32678 bytes .../src/assets/audio/minesweeper/reveal.wav | Bin 0 -> 10628 bytes frontend/src/assets/audio/minesweeper/win.wav | Bin 0 -> 57374 bytes .../src/assets/img/app-icons/minesweeper.webp | Bin 0 -> 37362 bytes frontend/src/config/apps.test.ts | 6 + frontend/src/config/apps.ts | 15 + .../src/features/games/minesweeper/audio.ts | 42 ++ .../features/games/minesweeper/engine.test.ts | 123 +++++ .../src/features/games/minesweeper/engine.ts | 260 ++++++++++ .../src/features/games/minesweeper/store.ts | 140 ++++++ .../src/features/games/minesweeper/types.ts | 32 ++ frontend/src/stores/phone.ts | 31 ++ frontend/src/types/apps.ts | 1 + frontend/src/utils/preferences.ts | 1 + frontend/src/views/apps/MinesweeperApp.vue | 475 ++++++++++++++++++ sky_phone/config/locales/en.lua | 13 + 17 files changed, 1139 insertions(+) create mode 100644 frontend/src/assets/audio/minesweeper/flag.wav create mode 100644 frontend/src/assets/audio/minesweeper/mine.wav create mode 100644 frontend/src/assets/audio/minesweeper/reveal.wav create mode 100644 frontend/src/assets/audio/minesweeper/win.wav create mode 100644 frontend/src/assets/img/app-icons/minesweeper.webp create mode 100644 frontend/src/features/games/minesweeper/audio.ts create mode 100644 frontend/src/features/games/minesweeper/engine.test.ts create mode 100644 frontend/src/features/games/minesweeper/engine.ts create mode 100644 frontend/src/features/games/minesweeper/store.ts create mode 100644 frontend/src/features/games/minesweeper/types.ts create mode 100644 frontend/src/views/apps/MinesweeperApp.vue diff --git a/frontend/src/assets/audio/minesweeper/flag.wav b/frontend/src/assets/audio/minesweeper/flag.wav new file mode 100644 index 0000000000000000000000000000000000000000..b9a4f728868c0e4bafa5b0f82fd19fd2450dcd1e GIT binary patch literal 16360 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 z

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 literal 0 HcmV?d00001 diff --git a/frontend/src/config/apps.test.ts b/frontend/src/config/apps.test.ts index fa391e1..7c63ac4 100644 --- a/frontend/src/config/apps.test.ts +++ b/frontend/src/config/apps.test.ts @@ -44,6 +44,12 @@ describe('app registry', () => { labelKey: 'Apps.numberMerge.name', route: '/apps/number-merge', }) + expect(PHONE_APPS.find((app) => app.id === 'minesweeper')).toMatchObject({ + dockOrder: null, + gridOrder: 14, + labelKey: 'Apps.minesweeper.name', + route: '/apps/minesweeper', + }) expect( PHONE_APPS.filter((app) => app.dockOrder !== null) .sort((a, b) => (a.dockOrder ?? 0) - (b.dockOrder ?? 0)) diff --git a/frontend/src/config/apps.ts b/frontend/src/config/apps.ts index 72cd43f..edc9bda 100644 --- a/frontend/src/config/apps.ts +++ b/frontend/src/config/apps.ts @@ -1,5 +1,6 @@ import { Calculator, + Bomb, Camera, Clock3, Gamepad2, @@ -29,6 +30,7 @@ import settingsIcon from '@/assets/img/app-icons/settings.webp' import snakeIcon from '@/assets/img/app-icons/snake.webp' import memoryIcon from '@/assets/img/app-icons/memory.webp' import numberMergeIcon from '@/assets/img/app-icons/number-merge.webp' +import minesweeperIcon from '@/assets/img/app-icons/minesweeper.webp' import weatherIcon from '@/assets/img/app-icons/weather.webp' import type { PhoneAppDefinition, PhoneAppId } from '@/types/apps' @@ -215,6 +217,19 @@ export const PHONE_APPS: PhoneAppDefinition[] = [ labelKey: 'Apps.numberMerge.name', route: '/apps/number-merge', }, + { + component: markRaw( + defineAsyncComponent(() => import('@/views/apps/MinesweeperApp.vue')), + ), + dockOrder: null, + gridOrder: 14, + icon: markRaw(Bomb), + iconClass: 'app-icon--minesweeper', + iconImage: minesweeperIcon, + id: 'minesweeper', + labelKey: 'Apps.minesweeper.name', + route: '/apps/minesweeper', + }, ] export const PHONE_APP_IDS = PHONE_APPS.map((app) => app.id) diff --git a/frontend/src/features/games/minesweeper/audio.ts b/frontend/src/features/games/minesweeper/audio.ts new file mode 100644 index 0000000..19f6cab --- /dev/null +++ b/frontend/src/features/games/minesweeper/audio.ts @@ -0,0 +1,42 @@ +import flagUrl from '@/assets/audio/minesweeper/flag.wav?url' +import mineUrl from '@/assets/audio/minesweeper/mine.wav?url' +import revealUrl from '@/assets/audio/minesweeper/reveal.wav?url' +import winUrl from '@/assets/audio/minesweeper/win.wav?url' + +export type MinesweeperSound = 'flag' | 'mine' | 'reveal' | 'win' + +const soundUrls: Record = { + flag: flagUrl, + mine: mineUrl, + reveal: revealUrl, + win: winUrl, +} +const playerPools = new Map() + +function getPlayers(sound: MinesweeperSound): HTMLAudioElement[] { + const existing = playerPools.get(sound) + if (existing) return existing + + const players = Array.from({ length: 3 }, () => { + const player = new Audio(soundUrls[sound]) + player.preload = 'auto' + player.volume = 0.82 + return player + }) + playerPools.set(sound, players) + return players +} + +export function playMinesweeperSound( + sound: MinesweeperSound, + enabled: boolean, +): void { + if (!enabled) return + + const players = getPlayers(sound) + const player = players.find((candidate) => candidate.paused) ?? players[0] + player.currentTime = 0 + void player.play().catch((error: unknown) => { + console.error(`[Minesweeper audio] Failed to play ${sound}`, error) + }) +} diff --git a/frontend/src/features/games/minesweeper/engine.test.ts b/frontend/src/features/games/minesweeper/engine.test.ts new file mode 100644 index 0000000..d6529e0 --- /dev/null +++ b/frontend/src/features/games/minesweeper/engine.test.ts @@ -0,0 +1,123 @@ +import { describe, expect, it } from 'vitest' + +import { + createMinesweeperGame, + isMinesweeperGameState, + revealMinesweeperCell, + toggleMinesweeperFlag, +} from './engine' +import type { MinesweeperGameState } from './types' + +const chooseFirst = () => 0 + +function preparedGame( + width: number, + height: number, + mines: number[], +): MinesweeperGameState { + const state = createMinesweeperGame('quick') + const mineSet = new Set(mines) + return { + ...state, + cells: state.cells.map((cell) => ({ + ...cell, + adjacentMines: state.cells.filter( + (candidate) => + mineSet.has(candidate.id) && + Math.abs(candidate.row - cell.row) <= 1 && + Math.abs(candidate.column - cell.column) <= 1 && + candidate.id !== cell.id, + ).length, + isMine: mineSet.has(cell.id), + })), + height, + mineCount: mines.length, + status: 'playing', + width, + } +} + +describe('minesweeper engine', () => { + it('creates the configured phone boards', () => { + const game = createMinesweeperGame('classic') + expect(game.width).toBe(7) + expect(game.height).toBe(9) + expect(game.mineCount).toBe(11) + expect(game.cells).toHaveLength(63) + }) + + it('places the exact mine count outside the protected first area', () => { + const original = createMinesweeperGame('quick') + const result = revealMinesweeperCell(original, 14, chooseFirst) + const protectedIds = [7, 8, 9, 13, 14, 15, 19, 20, 21] + expect(result.state.cells.filter((cell) => cell.isMine)).toHaveLength(7) + expect( + result.state.cells + .filter((cell) => protectedIds.includes(cell.id)) + .every((cell) => !cell.isMine), + ).toBe(true) + }) + + it('calculates neighbour counts from the placed mines', () => { + const result = revealMinesweeperCell( + createMinesweeperGame('quick'), + 0, + chooseFirst, + ) + for (const cell of result.state.cells) { + const actual = result.state.cells.filter( + (candidate) => + candidate.isMine && + Math.abs(candidate.row - cell.row) <= 1 && + Math.abs(candidate.column - cell.column) <= 1 && + candidate.id !== cell.id, + ).length + expect(cell.adjacentMines).toBe(actual) + } + }) + + it('reveals an empty area and its numbered boundary but no mine', () => { + const game = preparedGame(6, 8, [0, 5, 42, 47, 43, 44, 45]) + const result = revealMinesweeperCell(game, 20) + expect(result.revealedCount).toBeGreaterThan(1) + expect(result.state.cells.some((cell) => cell.isMine && cell.isRevealed)).toBe(false) + expect( + result.state.cells.some( + (cell) => cell.isRevealed && cell.adjacentMines > 0, + ), + ).toBe(true) + }) + + it('does not reveal a flagged cell', () => { + const game = preparedGame(6, 8, [47]) + const flagged = toggleMinesweeperFlag(game, 10).state + const result = revealMinesweeperCell(flagged, 10) + expect(result.changed).toBe(false) + expect(result.state.cells[10].isRevealed).toBe(false) + }) + + it('reveals all mines and records the exploded cell on loss', () => { + const game = preparedGame(6, 8, [1, 47]) + const result = revealMinesweeperCell(game, 1) + expect(result.state.status).toBe('lost') + expect(result.state.explodedCellId).toBe(1) + expect(result.state.cells.filter((cell) => cell.isMine).every((cell) => cell.isRevealed)).toBe(true) + }) + + it('wins when every safe field is revealed', () => { + let game = preparedGame(6, 8, [47]) + for (const cell of game.cells) { + if (!cell.isMine && !game.cells[cell.id].isRevealed) { + game = revealMinesweeperCell(game, cell.id).state + } + } + expect(game.status).toBe('won') + expect(game.cells[47].isFlagged).toBe(true) + }) + + it('validates persisted games', () => { + const game = createMinesweeperGame('expert') + expect(isMinesweeperGameState(game)).toBe(true) + expect(isMinesweeperGameState({ ...game, mineCount: 99 })).toBe(false) + }) +}) diff --git a/frontend/src/features/games/minesweeper/engine.ts b/frontend/src/features/games/minesweeper/engine.ts new file mode 100644 index 0000000..674c5d2 --- /dev/null +++ b/frontend/src/features/games/minesweeper/engine.ts @@ -0,0 +1,260 @@ +import type { + MinesweeperActionResult, + MinesweeperCell, + MinesweeperDifficulty, + MinesweeperGameState, +} from './types' + +export const MINESWEEPER_DIFFICULTIES: Record< + MinesweeperDifficulty, + { height: number; mines: number; width: number } +> = { + quick: { height: 8, mines: 7, width: 6 }, + classic: { height: 9, mines: 11, width: 7 }, + expert: { height: 10, mines: 16, width: 8 }, +} + +function neighbours( + cell: MinesweeperCell, + width: number, + height: number, +): number[] { + const ids: number[] = [] + for (let rowOffset = -1; rowOffset <= 1; rowOffset += 1) { + for (let columnOffset = -1; columnOffset <= 1; columnOffset += 1) { + if (rowOffset === 0 && columnOffset === 0) continue + const row = cell.row + rowOffset + const column = cell.column + columnOffset + if (row >= 0 && row < height && column >= 0 && column < width) { + ids.push(row * width + column) + } + } + } + return ids +} + +function placeMines( + state: MinesweeperGameState, + firstCellId: number, + random: () => number, +): MinesweeperGameState { + const firstCell = state.cells[firstCellId] + const protectedIds = new Set([ + firstCellId, + ...neighbours(firstCell, state.width, state.height), + ]) + const candidates = state.cells + .map((cell) => cell.id) + .filter((id) => !protectedIds.has(id)) + const mineIds = new Set() + + for (let count = 0; count < state.mineCount; count += 1) { + const candidateIndex = Math.min( + candidates.length - 1, + Math.floor(random() * candidates.length), + ) + const [mineId] = candidates.splice(candidateIndex, 1) + mineIds.add(mineId) + } + + const cells = state.cells.map((cell) => ({ + ...cell, + isMine: mineIds.has(cell.id), + })) + return { + ...state, + cells: cells.map((cell) => ({ + ...cell, + adjacentMines: neighbours(cell, state.width, state.height).filter( + (id) => mineIds.has(id), + ).length, + })), + status: 'playing', + } +} + +export function createMinesweeperGame( + difficulty: MinesweeperDifficulty, +): MinesweeperGameState { + const config = MINESWEEPER_DIFFICULTIES[difficulty] + return { + cells: Array.from({ length: config.width * config.height }, (_, id) => ({ + adjacentMines: 0, + column: id % config.width, + id, + isFlagged: false, + isMine: false, + isRevealed: false, + row: Math.floor(id / config.width), + })), + difficulty, + explodedCellId: null, + height: config.height, + mineCount: config.mines, + status: 'ready', + width: config.width, + } +} + +export function toggleMinesweeperFlag( + state: MinesweeperGameState, + cellId: number, +): MinesweeperActionResult { + if (state.status === 'lost' || state.status === 'won') { + return { changed: false, revealedCount: 0, state } + } + + const cell = state.cells[cellId] + if (!cell || cell.isRevealed) { + return { changed: false, revealedCount: 0, state } + } + + const flagCount = state.cells.filter((candidate) => candidate.isFlagged).length + if (!cell.isFlagged && flagCount >= state.mineCount) { + return { changed: false, revealedCount: 0, state } + } + + return { + changed: true, + revealedCount: 0, + state: { + ...state, + cells: state.cells.map((candidate) => + candidate.id === cellId + ? { ...candidate, isFlagged: !candidate.isFlagged } + : candidate, + ), + }, + } +} + +export function revealMinesweeperCell( + originalState: MinesweeperGameState, + cellId: number, + random: () => number = Math.random, +): MinesweeperActionResult { + if (originalState.status === 'lost' || originalState.status === 'won') { + return { changed: false, revealedCount: 0, state: originalState } + } + + const originalCell = originalState.cells[cellId] + if (!originalCell || originalCell.isFlagged || originalCell.isRevealed) { + return { changed: false, revealedCount: 0, state: originalState } + } + + const state = + originalState.status === 'ready' + ? placeMines(originalState, cellId, random) + : originalState + const selectedCell = state.cells[cellId] + + if (selectedCell.isMine) { + return { + changed: true, + revealedCount: 0, + state: { + ...state, + cells: state.cells.map((cell) => + cell.isMine ? { ...cell, isRevealed: true } : cell, + ), + explodedCellId: cellId, + status: 'lost', + }, + } + } + + const cells = state.cells.map((cell) => ({ ...cell })) + const queue = [cellId] + const visited = new Set() + let revealedCount = 0 + + while (queue.length > 0) { + const currentId = queue.shift() as number + if (visited.has(currentId)) continue + visited.add(currentId) + + const cell = cells[currentId] + if (cell.isFlagged || cell.isMine || cell.isRevealed) continue + cell.isRevealed = true + revealedCount += 1 + + if (cell.adjacentMines === 0) { + for (const neighbourId of neighbours(cell, state.width, state.height)) { + if (!visited.has(neighbourId) && !cells[neighbourId].isMine) { + queue.push(neighbourId) + } + } + } + } + + const safeCellCount = cells.length - state.mineCount + const totalRevealed = cells.filter( + (cell) => cell.isRevealed && !cell.isMine, + ).length + const won = totalRevealed === safeCellCount + + return { + changed: true, + revealedCount, + state: { + ...state, + cells: won + ? cells.map((cell) => + cell.isMine ? { ...cell, isFlagged: true } : cell, + ) + : cells, + status: won ? 'won' : 'playing', + }, + } +} + +export function isMinesweeperGameState( + value: unknown, +): value is MinesweeperGameState { + if (!value || typeof value !== 'object') return false + const game = value as Partial + if ( + !['quick', 'classic', 'expert'].includes(game.difficulty ?? '') || + !['ready', 'playing', 'won', 'lost'].includes(game.status ?? '') || + !Number.isInteger(game.width) || + !Number.isInteger(game.height) || + !Number.isInteger(game.mineCount) || + !Array.isArray(game.cells) || + game.cells.length !== (game.width ?? 0) * (game.height ?? 0) || + (game.explodedCellId !== null && !Number.isInteger(game.explodedCellId)) + ) { + return false + } + + const config = MINESWEEPER_DIFFICULTIES[game.difficulty as MinesweeperDifficulty] + if ( + game.width !== config.width || + game.height !== config.height || + game.mineCount !== config.mines + ) { + return false + } + + for (let id = 0; id < game.cells.length; id += 1) { + const cell = game.cells[id] as Partial + if ( + !cell || + cell.id !== id || + cell.row !== Math.floor(id / config.width) || + cell.column !== id % config.width || + !Number.isInteger(cell.adjacentMines) || + (cell.adjacentMines ?? -1) < 0 || + (cell.adjacentMines ?? 9) > 8 || + typeof cell.isFlagged !== 'boolean' || + typeof cell.isMine !== 'boolean' || + typeof cell.isRevealed !== 'boolean' + ) { + return false + } + } + + const placedMineCount = game.cells.filter((cell) => cell.isMine).length + return game.status === 'ready' + ? placedMineCount === 0 + : placedMineCount === game.mineCount +} diff --git a/frontend/src/features/games/minesweeper/store.ts b/frontend/src/features/games/minesweeper/store.ts new file mode 100644 index 0000000..587686f --- /dev/null +++ b/frontend/src/features/games/minesweeper/store.ts @@ -0,0 +1,140 @@ +import { defineStore } from 'pinia' + +import { useGamesStore } from '@/features/games/store' + +import { + createMinesweeperGame, + isMinesweeperGameState, + revealMinesweeperCell, + toggleMinesweeperFlag, +} from './engine' +import type { + MinesweeperActionResult, + MinesweeperBest, + MinesweeperDifficulty, + MinesweeperGameState, +} from './types' + +type MinesweeperSave = { + best: Partial> + elapsedMs: number + game: MinesweeperGameState | null + soundEnabled: boolean +} + +function isBest(value: unknown): value is MinesweeperBest { + return ( + !!value && + typeof value === 'object' && + typeof (value as Partial).timeMs === 'number' && + ((value as Partial).timeMs ?? -1) >= 0 + ) +} + +export const useMinesweeperStore = defineStore('minesweeper', { + state: () => ({ + best: {} as Partial>, + elapsedMs: 0, + game: null as MinesweeperGameState | null, + hydrated: false, + menuOpen: true, + soundEnabled: true, + startedAt: null as number | null, + }), + actions: { + hydrate(): void { + if (this.hydrated) return + + const saved = useGamesStore().readGame>( + 'minesweeper', + ) + for (const difficulty of ['quick', 'classic', 'expert'] as const) { + if (isBest(saved?.best?.[difficulty])) { + this.best[difficulty] = saved.best[difficulty] + } + } + this.elapsedMs = + typeof saved?.elapsedMs === 'number' && saved.elapsedMs >= 0 + ? saved.elapsedMs + : 0 + this.game = isMinesweeperGameState(saved?.game) + ? structuredClone(saved.game) + : null + if (typeof saved?.soundEnabled === 'boolean') { + this.soundEnabled = saved.soundEnabled + } + this.hydrated = true + }, + persist(): void { + useGamesStore().saveGame('minesweeper', { + best: this.best, + elapsedMs: this.elapsedMs, + game: this.game, + soundEnabled: this.soundEnabled, + } satisfies MinesweeperSave) + }, + start(difficulty: MinesweeperDifficulty): void { + this.game = createMinesweeperGame(difficulty) + this.elapsedMs = 0 + this.menuOpen = false + this.startedAt = null + this.persist() + }, + resumeGame(): void { + if (!this.game) return + this.menuOpen = false + if (this.game.status === 'playing') this.startedAt = Date.now() + }, + showMenu(): void { + this.pause() + this.menuOpen = true + this.persist() + }, + updateElapsed(now = Date.now()): void { + if (this.startedAt === null) return + this.elapsedMs += now - this.startedAt + this.startedAt = now + }, + pause(): void { + this.updateElapsed() + this.startedAt = null + }, + reveal(cellId: number): MinesweeperActionResult | null { + if (!this.game) return null + + const previousStatus = this.game.status + const actionStartedAt = Date.now() + const result = revealMinesweeperCell(this.game, cellId) + if (!result.changed) return result + + this.game = result.state + if (previousStatus === 'ready') { + this.startedAt = actionStartedAt + } + if (result.state.status === 'won' || result.state.status === 'lost') { + this.pause() + if (result.state.status === 'won') { + const current = this.best[result.state.difficulty] + if (!current || this.elapsedMs < current.timeMs) { + this.best[result.state.difficulty] = { timeMs: this.elapsedMs } + } + } + } + this.persist() + return result + }, + toggleFlag(cellId: number): MinesweeperActionResult | null { + if (!this.game) return null + const result = toggleMinesweeperFlag(this.game, cellId) + if (result.changed) { + this.game = result.state + this.persist() + } + return result + }, + setSoundEnabled(enabled: boolean): void { + this.soundEnabled = enabled + this.persist() + }, + }, +}) diff --git a/frontend/src/features/games/minesweeper/types.ts b/frontend/src/features/games/minesweeper/types.ts new file mode 100644 index 0000000..a233f6a --- /dev/null +++ b/frontend/src/features/games/minesweeper/types.ts @@ -0,0 +1,32 @@ +export type MinesweeperDifficulty = 'classic' | 'expert' | 'quick' +export type MinesweeperStatus = 'lost' | 'playing' | 'ready' | 'won' + +export type MinesweeperCell = { + adjacentMines: number + column: number + id: number + isFlagged: boolean + isMine: boolean + isRevealed: boolean + row: number +} + +export type MinesweeperGameState = { + cells: MinesweeperCell[] + difficulty: MinesweeperDifficulty + explodedCellId: number | null + height: number + mineCount: number + status: MinesweeperStatus + width: number +} + +export type MinesweeperBest = { + timeMs: number +} + +export type MinesweeperActionResult = { + changed: boolean + revealedCount: number + state: MinesweeperGameState +} diff --git a/frontend/src/stores/phone.ts b/frontend/src/stores/phone.ts index 63e7c84..b4a5b76 100644 --- a/frontend/src/stores/phone.ts +++ b/frontend/src/stores/phone.ts @@ -212,6 +212,37 @@ const defaultLocales: LocaleTree = { wonBody: 'You reached the legendary tile. Continue climbing or begin again.', wonTitle: 'You made 2048!', }, + minesweeper: { + name: 'Minesweeper', + backToMenu: 'Back to game menu', + board: 'Minesweeper board', + chooseBody: + 'Reveal every safe field. Numbers show how many mines touch that field.', + chooseTitle: 'Choose a minefield', + difficulties: { classic: 'Classic', expert: 'Expert', quick: 'Quick' }, + emptyCell: 'Revealed empty field', + eyebrow: 'Mine puzzle', + flaggedCell: 'Flagged field', + gameHint: 'Tap to reveal · Hold or right-click to flag', + hiddenCell: 'Hidden field', + longPressHint: 'Tap to reveal · Hold to place a flag', + lostBody: + 'A mine was hidden there. Mark suspicious fields and try again.', + lostTitle: 'Mine triggered', + mainMenu: 'Main Menu', + mineCell: 'Revealed mine', + mines: 'Mines', + mute: 'Mute game sounds', + noBest: 'No best time yet', + numberCell: 'Revealed field with {count} adjacent mines', + playAgain: 'Play Again', + restart: 'Restart', + resume: 'Continue Game', + time: 'Time', + unmute: 'Turn on game sounds', + wonBody: 'Minefield cleared in {time}.', + wonTitle: 'Field cleared!', + }, map: { name: 'Map', controls: 'Map controls', diff --git a/frontend/src/types/apps.ts b/frontend/src/types/apps.ts index 3ab725a..85ebee0 100644 --- a/frontend/src/types/apps.ts +++ b/frontend/src/types/apps.ts @@ -15,6 +15,7 @@ export type PhoneAppId = | 'snake' | 'memory' | 'number-merge' + | 'minesweeper' export type AppLaunchOrigin = { borderRadius: number diff --git a/frontend/src/utils/preferences.ts b/frontend/src/utils/preferences.ts index f9a8142..65a452e 100644 --- a/frontend/src/utils/preferences.ts +++ b/frontend/src/utils/preferences.ts @@ -53,6 +53,7 @@ const DEFAULT_APP_NOTIFICATIONS: Record< snake: { enabled: true, sounds: true }, memory: { enabled: true, sounds: true }, 'number-merge': { enabled: true, sounds: true }, + minesweeper: { enabled: true, sounds: true }, camera: { enabled: true, sounds: true }, clock: { enabled: true, sounds: true }, weather: { enabled: true, sounds: true }, diff --git a/frontend/src/views/apps/MinesweeperApp.vue b/frontend/src/views/apps/MinesweeperApp.vue new file mode 100644 index 0000000..37fb4c9 --- /dev/null +++ b/frontend/src/views/apps/MinesweeperApp.vue @@ -0,0 +1,475 @@ + + + + + diff --git a/sky_phone/config/locales/en.lua b/sky_phone/config/locales/en.lua index e5b43ae..d1a8087 100644 --- a/sky_phone/config/locales/en.lua +++ b/sky_phone/config/locales/en.lua @@ -99,6 +99,19 @@ Locales["en"] = { unmute = "Turn on game sounds", wonBody = "You reached the legendary tile. Continue climbing or begin again.", wonTitle = "You made 2048!", }, + minesweeper = { + name = "Minesweeper", backToMenu = "Back to game menu", board = "Minesweeper board", + chooseBody = "Reveal every safe field. Numbers show how many mines touch that field.", + chooseTitle = "Choose a minefield", difficulties = { classic = "Classic", expert = "Expert", quick = "Quick" }, + emptyCell = "Revealed empty field", eyebrow = "Mine puzzle", flaggedCell = "Flagged field", + gameHint = "Tap to reveal · Hold or right-click to flag", hiddenCell = "Hidden field", + longPressHint = "Tap to reveal · Hold to place a flag", + lostBody = "A mine was hidden there. Mark suspicious fields and try again.", lostTitle = "Mine triggered", + mainMenu = "Main Menu", mineCell = "Revealed mine", mines = "Mines", mute = "Mute game sounds", + noBest = "No best time yet", numberCell = "Revealed field with {count} adjacent mines", + playAgain = "Play Again", restart = "Restart", resume = "Continue Game", time = "Time", + unmute = "Turn on game sounds", wonBody = "Minefield cleared in {time}.", wonTitle = "Field cleared!", + }, camera = { name = "Camera", shutter = "Take photo", flip = "Flip camera", flash = "Toggle flash", controls = "Camera controls", modes = { timelapse = "Timelapse", slowMo = "Slow-Mo", cinematic = "Cinematic", video = "Video", photo = "Photo", portrait = "Portrait", pano = "Pano" },