Je jouais juste au jeu de société Désolé! avec certaines personnes, et j'ai réalisé que je pouvais en baser quelques défis intéressants. Celui-ci est assez simple.
Votre tâche consiste simplement à produire une version ascii-art d'un tableau désolé, en plaçant les pièces là où je vous le dis.
Spécifications
D'abord, voici une image d'un vrai Désolé! conseil pour référence:
Le tableau vide ressemble à:
# > - - o # # # # > - - - o # #
# # S v
o # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # # # # # H # o
^ S # #
# # o - - - < # # # # o - - < #
Remarquez quelques fonctionnalités.
- Ce
#
sont des carrés vides. - Les
S
'etH
' sont respectivement ceux de Start et Home. - Les
>v<^
« s sont le début des diapositives, selon la direction , ils doivent faire face. - Les
|
«et-
» sont les intermédiaires des diapositives, selon qu'ils sont horizontaux ou verticaux. - Ce
o
sont la fin des diapositives. - Chaque colonne est séparée par une colonne d'espaces pour lui donner un aspect plus carré.
Maintenant, voici ce que vous devez faire:
- Votre entrée est une liste de coordonnées des différentes pièces qui ont été placées sur le plateau.
- Les coordonnées commencent au
0
carré en dehors du début de la couleur du bas (jaune sur l'image) et augmentent d'une unité par carré dans le sens des aiguilles d'une montre. - Après ces 60 carrés, les zones de sécurité ont les 20 coordonnées suivantes et les dernières, en commençant par celle du bas (qui obtient 60-64), puis dans le sens horaire.
- Vous devrez placer les étoiles
*
sur la bonne coordonnée, en remplaçant le personnage en dessous pour tous les joueurs. - De plus, si l'un des joueurs se trouve sur la case de départ d'un curseur, déplacez-le à la fin du curseur avant de le placer.
- Vous pouvez supposer qu'il n'y aura pas de collisions, avant ou après la résolution des curseurs.
- Vous n'avez pas besoin de vous soucier du Home ou du Start.
- Vous pouvez être indexé 1 si vous le souhaitez, mais les cas de test sont indexés 0.
Cas de test
[0, 20] ->
# > - - o # # # # > - - - o # #
# # S v
* # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # # # # # H # o
^ S # #
# # o - - - < # # # # * - - < #
[2, 7, 66] ->
# > - - o # # # # > - - - o # #
# # S v
o # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # * # # # H # o
^ S # #
# # o - * - < # # * # o - - < #
0, 5
et le second pourrait l'être2, 60, 37
).Réponses:
Python 2, 476 octets
Solution courte à 3 lignes ( Essayez-la en ligne )
One-liner en 534 ( Essayez-le en ligne ):
Je suppose les indices de zone de sécurité de cette façon:
Explication (les lignes sont un peu séparées pour une meilleure compréhension):
la source