Autor Wątek: SDL Saper  (Przeczytany 1265 razy)

Offline Xirdus

  • Redaktor

# Listopad 07, 2010, 21:54:36
Ostatnio, w celu treningu w używaniu biblioteki SDL, napisałem sobie w tejże sapera. Ma on wszystkie funkcjonalności windowsowego, oprócz trzymania rekordów (bo powiększyłoby to rozmiar exeka o 1000%). W czasie jego tworzenia, dała mi się we znaki pewna niedogodność SDLa: dostępne jest tylko jedno okno. Uniemożliwia to wyświetlenie dialogu zmiany rozmiarów planszy. Rozwiązania są dwa:

1) Kasować okno i w jego miejsce tworzyć dialog. Jest to oczywiście rozwiązanie co najmniej bardzo nieprofesjonalne ;)
2) Wyświetlić prostokąt na środku okna. Rozwiązanie bardzo dobre, ale nie sprawdza się przy najmniejszym rozmiarze okna, kiedy dialog jest od niego większy (to nie wina designu; słowa "szerokość" i "wysokość" są po prostu za długie). Powiększanie wtedy okna jest mało estetyczne i z pewnych powodów trochę kłopotliwe.

Po rozważeniu obu opcji wybrałem trzecią: nie robić dialogu w ogóle :) Długo rozmyślałem jak to rozwiązać, i wpadłem na takie oto rozwiązanie:
  • rozmiar planszy zmieniamy rozciągając okno - w title'u podane są obecne wymiary planszy
  • ilość min zmieniamy rolką, gdy mysz jest nad licznikiem min (nie działa podczas gry); zależnie, nad którą cyfrą jest kursor, liczba zmienia się o 1, 10 lub 100 naraz
  • dodatkowo, do klawiszy 1, 2 i 3 przypisałem trzy standardowe (takie jak w windowsowym saperze) poziomy trudności

Takie rozwiązanie (pierwsze dwa punkty) wydaje mi się dość innowacyjne, i nie wiem, jak bardzo jest to intuicyjne i wygodne. Dlatego chciałbym was prosić o przetestowanie i ocenę tego rozwiązania, a także recenzję kodu.

Link: http://www.mediafire.com/?mt2fb835580yn
« Ostatnia zmiana: Wrzesień 27, 2011, 21:06:30 wysłana przez Dab »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline cybek

  • Użytkownik
    • Strona domowa!

# Listopad 07, 2010, 22:44:45
Gra działa ładnie, powiem szczerze... jak napisałeś że to trening w SDL'u sądziłem że jesteś amatorem, a tutaj widzę ładny, schludny projekcik.
Oby tak dalej ;)
Pozdrawiam

PS: w kod nie patrzyłem, wybacz

Offline ANtY

  • With fury and fire
  • Użytkownik
    • ANtY

  • Zbanowany
# Listopad 08, 2010, 00:15:47
Nie zauważyłem żadnych bugów, fajne to rozciąganie, co do ilości min to raczej nikt się nie domyśli.
Grafika schludna, jak powiedział kolega wyżej, ale mogłeś się bardziej postarać ;)
Jak chcesz to mogę ci ogarnąć trochę lepszą grafikę, pisz na pw jak coś.

Offline dikamilo

  • Użytkownik
    • blog

# Listopad 08, 2010, 21:52:51
Co do powiększania planszy, to fajny pomysł, ale jak tego gdzieś nie napiszesz to nikt nie będzie wiedział, no i przydało by się aby wraz z powiększaniem planszy zwiększała się liczba min.

A jeśli chodzi o dialogi, to możesz zrobić swoje UI, albo jeżeli to ma być projekt tylko na Windowsa, to chyba nie powinno być problemu z napisaniem dialogów w winAPI.

W SDL 1.3 można stworzyć kilka okien :)

Offline Xirdus

  • Redaktor

# Listopad 08, 2010, 22:26:25
co do ilości min to raczej nikt się nie domyśli.
Co do powiększania planszy, to fajny pomysł, ale jak tego gdzieś nie napiszesz to nikt nie będzie wiedział
Dlatego napisałem ;) Chodziło mi o to, czy jest to wygodne (gdy się już o tym wie).

A jeśli chodzi o dialogi, to możesz zrobić swoje UI, albo jeżeli to ma być projekt tylko na Windowsa, to chyba nie powinno być problemu z napisaniem dialogów w winAPI.
Chciałem zrobić okno WinAPI, ale stwierdziłem, że nie ma co poświęcać ultraniskiej wagi i przenośności (wierzę, że jest przenośne) dla głupiego okienka.

W SDL 1.3 można stworzyć kilka okien :)
SDL 1.3 jest wersją niestabilną i ma problemy z wieloma rzeczami, m.in. właśnie z wieloma oknami. Wolałem nie ryzykować.

Dziękuję za tak pozytywne opinie. Bardzo się z ich powodu cieszę. Pozdrawiam.