Saper

0

Witam napisałem sobie sapera w C# WPF.

Fajnie jakby ktoś mógł odpowiedzieć na poniższe pytania:

  1. Co sądzicie o próbie oddzielenia logiki od wyglądu? Próbowałem napisać klasy Settings, Tile i Game tak, abym mógł ich np. użyć bez względu czy to WPF, Forms czy konsola.
  2. Co sądzicie o nazewnictwie? Np. funkcja Image_LeftButtonUp nie powinna być nazwana np. TileClick?
  3. Jak wygląda sprawa nazewnictwa tak samo metod np. w Game i MainWindow mam NewGame. Powinienem to jakoś zamienić, żeby uniknąć mylenia się nazw?
  4. Czy powinienem zawsze pisać w xamlu nazwy z dodatkiem typu? Np. minesScoreTextBox
  5. W których miejscach powinienem dodać komentarze,które rzeczy wydają się niezrozumiale - wiadomo dla mnie wszystko wydaje się jasne, bo to pisałem.
  6. Jakie rzeczy byście u mnie zmienili? Na co powinienem zwracać uwagę? Czego powinienem się douczyć?
0

No teraz działa na WinXP :]

Wskazówki ode mnie:

  • odsuń obrazki od matrycy planszy,
  • zmniejsz o połowę przyciski na planszy, bo są zbyt duże,
  • stosuj raczej jednolite przyciski - łatwiej się gra,
    Dodatkowo, brakuje obsługi jednoczesnego kliknicia LPM i RPM - to bardzo przydatna funkcja, bez której rozwiązywanie jest czasochłonne; Zobacz sobie jak to wygląda w systemowej grze w Windows; Ale tak poza tym to gra dobra.
0

Dodałem/zmieniłem następujące rzeczy:

  • Możliwość ustawienia wielkości kafelków
  • Obsługa LPM + PPM
  • Odsunąłem trochę obrazki
0

Naciśnięcie buźki w celu zresetowania gry zawsze centruje grę na głównym monitorze. Ja sobie ustawiam okno gdzie chcę i denerwujące jest, kiedy mi sprzed wzroku ucieka.

0

Poprawione.

1

Nie jest dobrze nadal - testuję grę na WinXP i po każdym kliknięciu LPM okno ustawia się w centrum głównego ekranu... Po co to jest? Denerwuje niesamowicie...


Co wypadałoby jeszcze zmienić:

  • przyciski w matrycy planszy są zbyt duże i mało czytelne - trzeba coś z tym zrobić, bo nie gra się wygodnie,
  • brak animacji po najechaniu/kliknięciu obrazka-buźki do resetowania gry,
  • brak zabezpieczenia przed zbyt małym rozmiarem kafelek - brzmi poważnie, ale chodzi o to, że jeśli ustawi sie mały rozmiar kafelek (np. 20), to elementy GUI nakładają się:

minesweeper.png

  • kolejna sprawa to LPM + PPM - jest słabo zabezpieczony i działa wadliwie, bo jeśli gracz pomyli się i źle oznaczy flagami pola (nada ich zbyt dużo), to gra się zacina i nie wiadomo co się stało:

flags.png

W takim przypadku powinieneś pokazać gdzie są miny oraz wyróżnić pole z błędnie nadaną flagą;

  • brak obsługi klawisza F2 do resetowania gry - to standard, jeśli chodzi o Saperów z Windowsa,
  • okienko z rekordami pokazuje się randomowo, poza tym nie można wpisać swojego imienia i nie wiadomo na jakim poziomie są te rekordy zdobyte,
  • używanie okna MessageBox do pokazywania wyników jest bardzo słabym rozwiązaniem - powinieneś okna zrobić sam,
  • nie można wyłączyć obsługi kafelki z pytajnikiem - ja np. z tego w ogóle nie korzystam, stąd oczekiwałbym po kliknięciu PPM zdjęcia flagi, a nie wstawienia pytajnika;
    W trybie trydny odsłanianie kafelek działa bardzo wolno, a przed chwilą grę szlag trafił i wyłączyła się całkowicie, bez żadnego komunikatu; Poza tym LPM + PPM działa wadliwie - z początku działa dobrze, ale im dłużej się gra tym więcej z nim problemów; W końcu w ogóle nie chce odsłaniać kafelek (oczywiście przy poprawnym oflagowaniu kafelek), aż gra się wyłącza sama i tyle...

Sporo jeszcze przed Tobą, aby ta gra była dobra, wyglądała dobrze, grało się dobrze i ustawiało się dobrze; Póki co to pierwszy szkielet, jeszcze nieco zabugowany - w każdym razie jeszcze daleko do wersji produkcyjnej :]

1

A mnie ciekawi w jaki sposób generujesz plansze. Tzn jak radzisz sobie z Minesweeper Consistency Problem? :)

0

Lista zmian:

  • Po najechaniu/kliknięciu na buźkę pojawia się animacja
  • Aplikacja nie powinna już przestawiać się na środek ekranu
  • Rozmiar kafelek jest ograniczony od 20 do 35
  • Poprawiona funkcja LPM + PPM
  • Pokazywanie źle ustawionych flag
  • Skrót F2 rozpoczynający nową grę
  • Wszystkie okienka pojawiają się teraz na środku aplikacji
  • Własne okienko wyników - choć wygląd raczej marny
  • Skrót F3 do wyświetlania wyników
  • Możliwość wpisania imienia po rekordzie
  • Możliwość zresetowania rekordów
  • Wybór czy chcemy grać z pytajnikami
  • Brak najeżdżania na siebie obrazków
  • Dostosowywanie obrazków do rozmiaru kafelków
  • Teraz okienka można zamykać klawiszem ESC lub klikając Enter w dowolnym TextBox'ie
  • Jedna wspólna wersja

Co do wolnego działania na trudnym, odpaliłem na XP ze 128 MB i bardziej zamulało mi menu, jeśli problem dalej występuje to postaram się go jakoś poprawić.

Nie jestem pewny o jakie przyciski na planszy chodzi - kafelki i ich grafiki?.

Planszę generuję według wymiarów, następnie losuje miny, na końcu ustawiam wartości o ilości min w okolicy dla wolnych pól.

0

Po co wydajesz dwie wersje - dla XP i nie dla XP?

0

Dla XP styl powodował puste miejsce po bokach, ale dodałem wykrywanie systemu i teraz jest jedna wersja.

1 użytkowników online, w tym zalogowanych: 0, gości: 1