1 points par GN⁺ 2024-10-27 | 1 commentaires | Partager sur WhatsApp
  • Une variante de puzzle logique de type Battleship Solitaire, idéale à résoudre tranquillement en écoutant un podcast ou de la musique, où l’on déduit et remplit sur la grille les cases cachant des bateaux et celles contenant de l’eau
  • Les chiffres de chaque ligne et colonne indiquent le nombre de cases de bateau présentes sur cette ligne, et la liste des bateaux en haut du puzzle donne les tailles des bateaux à trouver
  • Les bateaux ne peuvent pas se toucher, et le contact en diagonale est également interdit, ce qui permet de déduire que les cases autour d’un bateau confirmé sont de l’eau
  • En cas de blocage, on peut utiliser des règles comme les places restantes, le reste en eau, le traitement de l’eau dans les coins, l’encerclement des bateaux terminés et la recherche de l’unique position possible pour le plus grand bateau
  • Le jeu est aussi jouable sur mobile, et une fonction permet de cliquer sur les chiffres pour remplir automatiquement l’eau, afin de réduire les saisies répétitives

Fonctionnement du puzzle

  • Battleship Solitaire est une version du Battleship Logic Puzzle), également appelé Battleship Solitaire, Bimaru ou Yubotu
  • Plusieurs bateaux de tailles différentes sont cachés sur la grille, et en haut du puzzle s’affiche la liste des tailles de bateaux à trouver
  • L’utilisateur clique sur chaque case pour indiquer où se trouvent les bateaux et où se trouve l’eau
  • Les chiffres des lignes et des colonnes indiquent le nombre de cases de bateau contenues dans la ligne ou la colonne correspondante
  • Le puzzle est résolu lorsque toutes les cases sont correctement remplies
  • Les bateaux ne peuvent pas se toucher, pas même en diagonale

Règles de résolution et fonctions pratiques

  • Règle des places restantes : si une ligne doit contenir 3 cases de bateau et qu’il ne reste exactement que 3 cases qui ne sont pas de l’eau, alors ces 3 cases sont toutes des bateaux
  • Règle du reste en eau : si une ligne contient déjà le nombre requis de cases de bateau, toutes les autres cases de cette ligne sont de l’eau
    • Une ligne dont le nombre requis de cases de bateau est 0 peut être traitée de la même manière, entièrement comme de l’eau
    • En cliquant sur un chiffre, on peut remplir automatiquement l’eau
  • Règle de l’eau dans les coins : comme les bateaux ne peuvent pas se toucher en diagonale, les cases situées sur les coins diagonaux d’une case de bateau sont toujours de l’eau
  • Règle d’encerclement d’un bateau terminé : lorsqu’on connaît la position complète d’un bateau, on peut l’entourer entièrement d’eau
  • Règle de l’unique place possible : il arrive qu’il ne reste plus qu’un seul emplacement où le plus grand bateau du plateau peut entrer
  • Le jeu peut aussi se jouer sur appareil mobile

1 commentaires

 
GN⁺ 2024-10-27
Commentaires Hacker News
  • Si vous aimez ce genre de puzzles, Puzzles, de Simon Tatham, le créateur de PuTTY, vaut vraiment le détour : https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
    Les portages Android et iPhone sont également excellents, gratuits, sans publicité ni fioritures

    • Il y en a aussi ici : https://puzz.link/db/
      En revanche, il faut chercher soi-même les règles de chaque puzzle
  • Fait intéressant, les puzzles Battleships sont NP-complets : http://www.mountainvistasoft.com/docs/BattleshipsAsDecidabil...
    On ne connaît pas d’algorithme de résolution en temps polynomial quand la taille du puzzle ou du plateau augmente

    • Je dirais que la NP-complétude est plutôt courante qu’exceptionnelle. Wikipédia a même une liste de problèmes NP-complets : https://en.wikipedia.org/wiki/List_of_NP-complete_problems#G...
    • C’est sans doute pour cela que beaucoup de puzzles semblaient impossibles à résoudre autrement que par essais et erreurs
  • C’est appréciable que ce soit adapté au mobile. Le site que j’utilisais d’habitude était pratiquement inutilisable, et la plupart de ce que j’ai trouvé sur le Play Store était des applis essayant de vendre 50 puzzles générés sans grand effort pour 1,99 $ ; j’ai failli créer moi-même une version Android
    Ils présentaient même un puzzle gratuit par semaine comme un immense geste de générosité. J’aimerais toutefois avoir un réglage pour inverser le comportement par défaut du clic gauche/droit. Pour ce type de puzzle, je préfère « cliquer là où il y en a un, et marquer ce qui n’y est pas avec le clic droit »

    • C’est déjà possible. J’ai rapidement ajouté un paramètre d’URL pour inverser les boutons : https://lukerissacher.com/battleships?swapmouse=1
      S’il y a de la demande, ce serait mieux d’en faire un réglage enregistré
    • Selon les puzzles, il y en a qui demandent vraiment un travail de conception, et beaucoup de ces puzzles ne sont pas générés automatiquement
      Avec suffisamment d’expérience de résolution, on distingue généralement un puzzle généré d’un puzzle créé par une personne. Je me demande aussi si vous cherchez des puzzles Battleship, ou plus largement des variantes de Sudoku
  • Ça ressemble à une variante de Nonogram assez amusante. Si ce puzzle vous plaît, les Nonogram devraient aussi vous plaire : https://en.wikipedia.org/wiki/Nonogram

  • Curieusement, dans l’ensemble, les puzzles 15x15 me semblent plus faciles que les 6x6. C’est peut-être parce que les 15x15 sont moins denses et nécessitent moins de logique de second ordre
    Une suggestion : ce serait bien de pouvoir marquer une case comme emplacement possible avec un clic du milieu

  • Il m’a fallu un moment pour oublier les règles du Nonogram, où je supposais que les nombres sur le côté indiquaient des bateaux consécutifs. Après ça, c’était très amusant

  • Un jeu de puzzle similaire est Dungeons & Diagrams dans Last Call BBS de Zachtronics. Sur une grille 8x8, il faut déterminer quelles cases sont des murs pour créer un donjon, tout en respectant des contraintes comme « une impasse doit toujours contenir un monstre, et inversement »
    Ce jeu indique aussi les totaux à respecter pour chaque ligne et colonne. Il existe aussi un clone gratuit : https://netchips.dev/

  • Bimaru est un puzzle amusant. Je me souviens avoir mis sur le Store une appli Android dont le libellé contenait Battleships, et Hasbro avait déposé une réclamation pour atteinte au droit d’auteur ; Google l’avait immédiatement retirée du Store
    Je l’ai donc recréée en version web, et elle devrait encore être visible ici : https://www.kleemans.ch/static/bimaru-web/

  • Sur Firefox Mobile sous Android, ça ne fonctionne pas au-delà de 10x10. Les zones tactiles semblent devenir trop petites pour être sélectionnées
    On peut toucher les nombres pour les faire passer en rouge, mais aucune case ne semble sélectionnable. Les tailles plus petites, ou Chrome sur le même appareil, fonctionnent bien

    • C’était un bug bizarre, que je viens de corriger ; un rafraîchissement devrait suffire. C’était un problème CSS où, sur écran étroit, uniquement dans Firefox, la hauteur des éléments de case passait à 0, alors même que ces éléments et leurs parents avaient une hauteur explicite
      Je l’ai corrigé en ajoutant un contournement avec positionnement absolu
  • Par rapport à des moteurs similaires, l’implémentation du glisser-déposer est assez agaçante. Le comportement auquel on est habitué est qu’après un clic, le glisser ne fonctionne que sur une seule ligne horizontale ou verticale, et n’effectue qu’une même action en tenant compte de l’état initial et du nouvel état
    En particulier, si l’on a déjà rempli une case sur deux avec de l’eau, faire glisser en mode « bateau » devrait ne remplir que les cases vides, pas écraser les marques d’eau. Il faudrait aussi un annuler via Ctrl-Z, U et un bouton. Pour retrouver un peu la sensation du papier, une zone de texte pour prendre des notes à côté, effacée au démarrage d’un nouveau puzzle, serait aussi utile

    • Le fait que le glisser après clic ne soit pas limité à une ligne est en réalité utile pour entourer d’eau un bateau terminé. On peut toucher les indices numériques à l’extérieur pour remplir les marques d’eau manquantes, ce qui réduit le besoin de tracer de longues lignes droites
      Cela dit, ce serait mieux de faire en sorte qu’il n’effectue qu’une seule et même action
    • Un annuler serait vraiment bienvenu. Sur mobile, surtout avec une grande grille, il est facile de toucher la mauvaise case par accident et difficile de retrouver l’état précédent
    • Le glisser après clic qui n’écrase pas les cases non vides est une bonne fonctionnalité de la série Picross de Nintendo