Posty

Wyświetlanie postów z październik, 2022

Sprawdzam Sudoku - Kurs Unity - 4. Ustawianie wartości

Obraz
W poprzednim kroku stworzyliśmy szkielet aplikacji . W tym kroku zaimplementujemy mechanizm ustawiania wartości w komórkach planszy: Implementacja Aby wypełnić planszę do gry kwadratami 3x3 (potrzebujemy ich 9) oraz pojedynczymi komórkami (potrzebujemy 81), tworzymy odpowiednie prefabrykaty i korzystamy z  GridLayout  aby je wyświetlić. Tworzymy  GroupRect  dla każdej grupy 3x3 oraz  CellImage  dla każdej komórki: Podobnie robimy z roboczą komórką, gdzie wyświetlamy możliwe wartości. Tworzymy  PossibilityRect  do wyświetlenia możliwej wartości komórki: Po kliknięciu na komórkę planszy ( CellImage ), chcemy, aby coś (???) zaznaczyło wybraną komórkę ramką, a robocza komórka ( WorkCellImage ) pokazała aktualną wartość danej komórki. Po kliknięciu na inną komórkę planszy, coś powinno odznaczyć poprzednią komórkę, zaznaczyć nową i pokazać nową aktualną wartość w roboczej komórce. Pytanie 1: Który element powinien pamiętać aktualnie wybraną komórk...

Sprawdzam Sudoku - Kurs Unity - 3. Szkielet aplikacji

Obraz
W poprzednim kroku skonfigurowaliśmy Unity oraz GitHub . W tym kroku stworzymy szkielet aplikacji, która posiada stronę główną, panel z ustawieniami, pusty panel z grą, itp.: Implementacja Ponieważ widać, że przez ostanie lata sporo się w Unity zmieniło (np. teraz używa się TextMeshPro zamiast zwykłego tekstu) rozpoczynamy od przerobienia prostego samouczka: Creative Core: UI Zacznijmy od strony głównej. Chcemy aby w tle znajdowało się zdjęcie Sudoku, ale nie chcemy płacić za zdjęcia "stockowe", dlatego też drukujemy jedną stronę z zadań z WSPC 2021 i robimy zdjęcie samodzielnie: Pierwszym wyzwaniem jest sprawienie, aby strona tytułowa wyglądała dobrze zarówno w orientacji pionowej jak i poziomej telefonu. Osiągamy to wykorzystując AspectRatioFitter dla tła jak opisane  tutaj . Po przeczytaniu tego dodajemy tytuł zakotwiczony do lewego górnego narożnika oraz panel z przyciskami zakotwiczonymi do prawego dolnego narożnika.  Otrzymujemy następujące UI: Dodajemy lecącą w tle...

Sprawdzam Sudoku - Kurs Unity - 2. Konfiguracja

Obraz
Unity Ponieważ ostatnio w Unity pisałem kilka lat temu musiałem zainstalować Unity Hub oraz najnowszą wersję Unity (2022.1.20f1) z  oficjalnej strony . Aby móc nagrywać GIF'y z aplikacji zainstalowałem również LICEcap . Lokalizacja czcionek Dodanie do UI pierwszego elementu typu "Text - TextMeshPro" pokazuje dialog importujący podstawowe i dodatkowe zasoby (m.in. czcionki). Importujemy obie te rzeczy: Następnie przenosimy czcionki z których zamierzamy korzystać (np. "Roboto-Bold.ttf") do nowego folderu "Fonts": Lokalizacja skryptów Standardowo wszystkie skrypty Unity (np. dla obiektu "GameManager") tworzone są bezpośrednio w folderze "Assets". Przenosimy je do nowego folderu "Scripts": Lokalizacja plików audio Pliki audio (np. muzykę lecąca w tle) umieszczamy w nowym folderze "Audio": GitHub Projekt zapisujemy lokalnie, następnie aby nie utracić pracy w przypadku awarii komputera korzystając z np. GitHub Desktop ...

Sprawdzam Sudoku - Kurs Unity - 1. Pomysł

Obraz
Problem Zacznijmy od czegoś prostego. Napiszmy aplikację do rozwiązywania klasycznego Sudoku . Użytkownicy Użytkownikami będą osoby, które chcą się nauczyć samodzielnie rozwiązywać nawet najtrudniejsze klasyczne Sudoku. Funkcjonalność Aplikacja będzie wspomagała rozwiązywanie Sudoku, poprzez: podpowiadanie które pola mają już wydedukowane wartości dla pola z wydedukowaną wartością, wyjaśnianie dlaczego akurat ta wartość musi się w nim znaleść Aplikacja NIE BĘDZIE (przynajmniej w pierwszej wersji): generowała plansz Sudoku do gry rozwiązywała Sudoku automatycznie skanowała planszy sudoku korzystając z aparatu telefonu / kamery komputera Interfejs użytkownika Interfejs będzie bardzo prosty. W trakcie rozwiązywania aplikacja będzie zaznaczała pola z wydedukowanymi wartościami: Po wybraniu zaznaczonego pola, pojawi się grafika, oraz tekstowy opis wyjaśniający dlaczego akurat ta wartość musi znajdować się w wybranej komórce. Po wybraniu podpowiadanej wartości, pole staje się polem wypełnion...

Początki

Motywacja Jako programista a jednocześnie pasjonat łamigłówek ( GMiL , WSPC ), kredytobiorca, właściciel nieruchomości, zarządca domowego budżetu, itp. ułatwiam sobie życie za pomocą komputera na wiele sposobów: Piszę programy rozwiązujące niektóre łamigłówki - dla sprawdzenia własnego rozwiązania oczywiście ;-) Tworzę arkusze wyliczające raty kredytu hipotecznego - frankowego oczywiście ;-) Piszę aplikację analizującą publiczne dane z Elektronicznych Ksiąg Wieczystych - na własny użytek Raz na pół roku analizuję budżet domowy swojej rodziny - żeby się dowiedzieć kiedy w końcu będę wolny finansowo ... Uświadomiłem sobie, że przecież nie jestem jedyną osobą z takimi problemami / pytaniami, więc postanowiłem stworzyć zestaw narzędzi rozwiązujących je, a co za tym idzie ułatwiających codzienne życie. Co tutaj będzie? Aby zwiększyć swoją motywację, a może również zmotywować innych do dzielenia się swoimi narzędziami, planuję opisywać proces tworzenia wszystkich narzędzi na tym blogu. Aby ...