Similar a la generación de cuadrículas de dragaminas , aunque el desafío es hacer una cuadrícula de dragaminas que funcione. Este será un código más largo de lo normal (creo) .
Más información sobre el buscaminas .
Buscaminas es un juego de lógica que se encuentra en la mayoría de los sistemas operativos. El objetivo del juego es determinar dónde están las minas en una cuadrícula, dados los números que indican el número de minas alrededor de ese lugar.
Características requeridas:
-Randomized mine generation
-8x8 field with 10 mines
-Mine and "unknown" flags
-Reveal nearby blank spaces when a blank space has been revealed.
-Input and output code: It must be playable. (Input and output code counts in the total)
Nota sobre la puntuación :
Anything that is needed to make the program work is counted.
If it can be deleted and not affect the program, get rid of it.
I will occasionally update the selected answer to shorter programs if needed.
Encontré una versión más específica de este problema en la clase de informática: hice una versión funcional con el menor número de líneas en Visual Basic (obtuve 57 líneas), y pensé que sería un desafío interesante para el golf de código. Si hay alguna sugerencia para mejorar la pregunta, por favor comente. El código más corto en bytes gana.
fuente
Respuestas:
Python 2.7 (487C)
Experiencia completa del juego:
Sin embargo, el último paso es peligroso.
fuente
-1 for...
y1 if...
guardar dos bytes.Javascript, 978 bytes (824 sin CSS)
http://jsbin.com/otayez/6/
Lista de Verificación:
JS:
MiniJS 812 bytes :
HTML 12 bytes
El CSS no es necesario desde el punto de vista de la funcionalidad, sino desde el punto de vista de la usabilidad:
Mini CSS 154 bytes :
fuente
C,
568, 557,537juego de ejemplo:
código:
fuente
for(x=64;x--;)...
el trabajo de c?Mathematica
566 5481056Editar : Esta es una reescritura completa. Dejé de intentar obtener el código más corto y decidí incorporar las funciones que tenían más sentido.
r
indica el número de filas en la cuadrícula.c
indica el número de columnas en la cuadrícula.m
: número de minas.El juego se juega haciendo clic con el mouse en los botones. Si el jugador hace clic en una mina, la celda se vuelve negra y el programa imprime "¡Pierdes!"
La casilla de verificación "u" permite al jugador echar un vistazo a la solución completa en cualquier momento. Las banderas, "?" y "!" se puede colocar en cualquier celda según se desee.
Estado inicial
En un punto posterior ...
fuente
Pitón (
502566)Lista de Verificación:
Tiene un detector de victorias también.
La entrada se da mientras el juego se está ejecutando, con
(f, x, y)
.(x, y)
son las coordenadas de la selección de cuadrícula,f
es si quieres marcar o no.(0, 0, 0)
se abriría(0, 0)
y(1, 2, 3)
marcaría (2, 3). Marcar funciona en un ciclo: marcar un cuadrado dos veces da un signo de interrogación.(número) - número de minas
(espacio) - sin explorar
. - 0 minas
! - bandera
"- pregunta
Necesita mejorarse: función R [obtener todos los cuadrados alrededor del elemento p] (101 caracteres), imprimir (69 caracteres), marcar (72 caracteres)
fuente
Dyalog APL, 113 bytes
{⎕←1 0⍕c+○○h⋄10=+/,h:1⋄m⌷⍨i←⎕:0⋄∇{~⍵⌷h:0⋄(⍵⌷h)←0⋄0=⍵⌷c:∇¨(,⍳⍴m)∩⍵∘+¨,2-⍳3 3⋄0}i}h←=⍨c←{⍉3+/0,⍵,0}⍣2⊢m←8 8⍴10≥?⍨64
no competidoras: no hay banderas "mías" y "desconocidas"
impresiones
*
para celdas sin abrir y dígitos para abiertos (incluidos0
)pide repetidamente al usuario las coordenadas basadas en 1 de una celda para abrir
en última instancia, resultados
0
en caso de falla (mina abierta) o1
en caso de éxito (solo quedan 10 sin abrir)Se ve como esto:
...
fuente