Podobne do generowania siatek trałowców , chociaż wyzwaniem jest stworzenie działającej siatki trałowców. To będzie dłuższy kod niż normalnie (tak myślę) .
więcej informacji o trałowcu .
Saper to gra logiczna, którą można znaleźć w większości systemów operacyjnych. Celem gry jest ustalenie, gdzie znajdują się miny na siatce, z podanymi liczbami wskazującymi liczbę min wokół tego miejsca.
Wymagane funkcje:
-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)
Uwaga na temat punktacji :
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.
Bardziej szczegółową wersję tego problemu natrafiłem na zajęciach z informatyki: stwórz działającą wersję z najmniejszą liczbą linii w Visual Basic (mam 57 linii) i pomyślałem, że będzie to interesujące wyzwanie dla golfa kodowego. Jeśli są jakieś sugestie dotyczące ulepszenia pytania, prosimy o komentarz. Najkrótszy kod w bajtach wygrywa.
źródło
Odpowiedzi:
Python 2.7 (487C)
Pełne wrażenia z gry:
Ostatni krok jest jednak niebezpieczny.
źródło
-1 for...
i1 if...
zaoszczędzić dwa bajty.JavaScript, 978 bajtów (824 bez CSS)
http://jsbin.com/otayez/6/
Lista kontrolna:
JS:
MiniJS 812 bajtów :
HTML 12 bajtów
CSS nie jest konieczny z punktu widzenia funkcjonalności, ale z punktu widzenia użyteczności:
Mini CSS 154 bajty :
źródło
C
568, 557,537przykładowa gra:
kod:
źródło
for(x=64;x--;)...
pracę dla C?Mathematica
566 5481056Edycja : To jest kompletne przepisanie. Zrezygnowałem z próby uzyskania najkrótszego kodu i zamiast tego zdecydowałem się na wbudowanie funkcji, które miały największy sens.
r
wskazuje liczbę wierszy w siatce.c
wskazuje liczbę kolumn w siatce.m
: liczba kopalń.Rozgrywka polega na kliknięciu myszką przycisków. Jeśli gracz kliknie na minę, komórka zmieni kolor na czarny, a program wyświetli „You Lose!”
Pole wyboru „u” pozwala w dowolnym momencie zerknąć na kompletne rozwiązanie. Flagi „?” i "!" można umieścić w dowolnej komórce według potrzeb.
Stan początkowy
W późniejszym momencie ...
źródło
Pyton (
502566)Lista kontrolna:
Ma również wykrywacz wygranych.
Dane wejściowe są podawane podczas działania gry, za pomocą
(f, x, y)
.(x, y)
to współrzędne wyboru siatki,f
czy chcesz oflagować czy nie.(0, 0, 0)
otworzy się(0, 0)
i(1, 2, 3)
oznaczy (2, 3). Oznaczanie działa w cyklu: dwukrotne oznaczenie kwadratu daje znak zapytania.(liczba) - liczba min
(spacja) - niezbadane
. - 0 kopalni
! - flaga
”- pytanie
Należy poprawić: funkcja R [zbierz wszystkie kwadraty wokół przedmiotu p] (101 znaków), drukowanie (69 znaków), oznaczanie (72 znaków)
źródło
Dyalog APL, 113 bajtów
{⎕←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
niekonkurujące: brak flag „moje” i „nieznane”
wydruki
*
dla nieotwartych komórek i cyfry dla otwartych (w tym0
)wielokrotnie prosi użytkownika o otwarcie współrzędnych komórki na podstawie 1
ostatecznie wyniki
0
po awarii (kopalnia otwarta) lub1
sukcesie (pozostało tylko 10 nieotwartych)wygląda tak:
...
źródło