czwartek, 5 stycznia 2017

arkusz do gry w kości - około 2011

http://web.archive.org/web/20160314165214/http://nc.jogger.pl/2010/01/12/arkusz-do-gry-w-kosci/

Swego czasu miałem przyjemność po raz pierwszy zagrać w kości - zabawa bardzo mi się spodobała. Oczywiście natychmiast przyszedł mi do głowy pomysł stworzenia .xls’a do przyśpieszenia samych obliczeń.

Zacząłem od sprawdzenia, czy przypadkiem już ktoś nie stworzył czegoś, co sprostałoby naszym wymaganiom - oczywiście jest tego multum, jednak nie wszystko jest takie, jakbym tego chciał.

Program Gadowe kości, którego autorem jest Grzegorz "GAD" Drozd, prezentuje się całkiem ładnie, ale wolę mieć 100% wpływu na zasady gry - kilka fajnych pomysłów wykorzystałem w moim arkuszu (choćby fantastyczny pomysł dodatkowych figur, z żółwiem i krokodylem na czele. Opis w samym arkuszu - komentarz do komórki opisanej jako MAX).

Innym źródłem pomysłów była strona [deefacto.pl.pl] oraz arkusz do gry w kości pana Piotra Palęckiego - kilka rozwiązań części wizualnej i nie tylko, pochodzą właśnie z tego arkusza (chociażby wykres postępu rozgrywki, który właściwie na nic nie wpływa, jednak puste miejsce aż prosiło się o takie właśnie jego wykorzystanie :D).

Trzecią stroną, dzięki której miałem z arkuszem sporo zabawy, jest [excelblog.pl]

Arkusz zawiera 5 makr, które służyły mi w czasie formowania komend - zwijanie i rozwijanie kolumn i wierszy oraz zaznaczanie obszaru wyników (5 makr); a także dwa makra od Nowej Rundy i Nowej Gry - pierwsze czyści wyniki rundy, drugie dodatkowo także tabelę wyników generalnych, nazwy rozgrywających i wykreślone figury; 10 makr odpowiedzialnych za wpisywanie wyników danej rundy do tabeli generalnej (opis skrótów klawiaturowych w arkuszu); makro włączające wykres czasu do zakończenia rozgrywki; makra pozwalające poprawnie działać symulatorowi rzutów kości. Główny arkusz zawiera też formułę odpowiedzialną za formatowanie zaznaczonego/aktywnego wiersza.

Poza wyżej wymienionymi aspektami, cała reszta została rozwiązana na komendach, jeśli więc nie zdecydujesz się na włączenie makr, arkusz i tak będzie działał wyśmienicie.

Same komendy zaś rozwiązane są tak, jak lubię, czyli kawa na ławę, z łopatologiczną wręcz prostotą ich czytania nawet, jeśli ogląda się arkusz po raz pierwszy - duża kontrola, chociaż może także odrobinę „niewiedzy” :D, nie wstydzę się tego, nie jestem informatykiem (wtedy nie robiłbym arkusza, a samodzielny program), lecz zapaleńcem.

Arkusz zabezpieczony jest arcytrudnym hasłem „1”, głównie w celu ułatwienia nawigacji w przypadku użycia klawiatury (zaznaczenie komórki przeskakuje tylko po odblokowanych polach). Jeśli coś jest nie tak, lub zwyczajnie masz ochotę pomajsterkować przy arkuszu, śmiało - jeśli stworzysz na bazie tego materiału jakieś cudo, miło by było o tym usłyszeć/przeczytać.

Wspomniałem już o pomysłach zaczerpniętych z Gadowych kości (dodatkowe figury), otóż nie tylko - praktycznie cały mój arkusz jest niejako odmianą kości. Runda to pojedyncza kolumna (a nie tak jak w klasycznych rozgrywkach: 3 kolumny), po której wpisujemy zajęte przez nas miejsce w tabeli klasyfikacji, potem gramy kolejną rundę i tak dalej. Jest to najbardziej grywalny moim (i moich znajomych) zdaniem układ. Pojedyncza runda dla 6 osób trwa czasami 60 minut, więc nie wyobrażam sobie jednej rozgrywki na trzech kolumnach. Równocześnie pozbyłem się w ten sposób niezwykle frustrującego etapu klasycznej rozgrywki (czyli trzeciej kolumny). Niektórym przypadnie to do gustu, innym nie, i dla tych właśnie jest hasło „1” i do roboty, przerobić według uznania.

Staraliśmy się też czasami coś pozmieniać w bonusach, i takim oto sposobem powstała kolumna bonusów, gdzie każdy może sobie bardzo łatwo ustalić, ile dodatkowych punktów ma przypadać na każdą figurę. Zdarzały się dni, kiedy wyjątkowo często wypadały nam fulle, wtedy mały update i już bonusy hulają jak trzeba - powiedzmy, że to taki mały balans gry :D.

Wrzucam dosyć często aktualizacje, gdyż powoli gubię się w nowościach :D, co powoduje konieczność wprowadzania szybkich poprawek. W kolumnie A pojawiły się nowe miejsca na wstawienie (bądź wykreślenie), "x" - dotyczy kryteriów maksymalnego postępu rozgrywki, który to wprowadziłem ostatnio, ze względu na nagminne zapominanie o rzeczywistości podczas zabawy :D. Istnieje możliwość określenia maksymalnej ilości rund jakie stoczymy; lub wprowadzenia daty/godziny zakończenia rozgrywki, co zaowocuje niezbyt przyjemnym dla oka (względy estetyczne - brak weny na inną postać tegoż 'zdarzenia'), komunikatem.

Zmianie uległ także wykres pierścieniowy po lewej. Zewnętrzna jego strona pokazuje teraz także zaawansowanie całej rozgrywki (ze względu na określoną przez nas ilość rund jakie rozegramy). Czerwona część na screenach obrazuje 'zablokowaną przestrzeń gry', w przypadku określenia procentu maksymalnego postępu/ukończenia rozgrywki na mniej niż 1.

Wersja 5.6.043 została stworzona w wyniku potrzeby zabicia chwili :D - dodaje dwie funkcje:
1. Symulator kostki (zapewne nie będzie często używany, stąd nie przypuszczam dalszego rozwijania tegoż dodatku). Włączenie następuje poprzez makro [ctrl + f], pierwszy rzut kostką [ctrl + a], drugi [ctrl + s], trzeci [ctrl + d], 'wyłączenie' symulatora [ctrl + g] - przypominam, że MAKRA muszą być włączone, inaczej będą obowiązywać standardowe funkcje skrótów excela. Symulator pokazuje także sumę oczek oraz dostępne figury.
2. Rozszerzenie wizualnej strony ograniczenia czasowego. Obecnie jeśli wpiszemy datę i godzinę końca rozgrywki i uruchomimy skrypt [ctrl + h], po chwili zaobserwujemy, że wykres całości rozgrywki zostaje z czasem zapełniany przez czerwony pasek (wykres oprócz wizualizacji ograniczenia maksymalnego ukończenia rozgrywki, uwzględnia także czas do jej zakończenia).

----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----

Przykładowa rozgrywka.

Po uruchomieniu arkusza, w zależności od tego jaki poziom zabezpieczeń mamy ustawiony:
- makra mogą zostać całkowicie wyłączone;
- możemy otrzymać komunikat o tym, że makra zostały wyłączone z możliwością włączenia ich ręcznie
itd.

Zaleca się ustawienie poziomu zabezpieczeń na Średnie, to jest właśnie w ten sposób, że za każdym uruchomieniem arkusza z makrami, dostaniemy możliwość ich ręcznego włączenia.

Kiedy aktywujemy makra, możemy przejść do wpisania nazw graczy. Arkusz automatycznie aktywuję odpowiednie kolumny. Następnie rzucamy kostkami według standardowych zasad a wyniki wpisujemy w odpowiednie pola. Arkusz wyświetla aktualnie wykonującego ruch gracza, co ułatwia zorientowanie się, co też zostało jeszcze do wpisania. W przypadku, gdy nie chcemy używać niestandardowych figur (parzyste, nieparzyste, krokodyl, oczko), wpisujemy znak „x” przy danej figurze w kolumnie A (A11 do A23), co spowoduje przyznanie jej wartości „0” i wyłączy podświetlanie.

Jeśli chcemy uruchomić licznik czasu, usuwamy znak „x” w komórce A41, a następnie wpisujemy datę i godzinę planowanego zakończenia rozgrywki do komórki B41 (format daty jak w B40) - przydatne, gdyż przy odpowiednich warunkach człowiek zapomina o późnej godzinie ;D - bądź też określoną liczbę rund w polu E40 (od 1 do 10), lub procent maksymalnego zaawansowania rozgrywki E41 (od 0 do 1) - można zastosować różne kombinacje kryteriów, to jest przykładowo: określoną godzinę i maksymalnie 2 rundy.
Po określeniu kryteriów daty/godziny, stosujemy skrót [ctrl + h], co uruchomi wykres.
Można także włączyć „mini wykres”, usuwając znak „x” z pola A34; lub liczbową wartość pozostałych minut, usuwając znak „x” z pola A33.

Po zakończeniu rundy (czyli po wpisaniu wartości wszystkich nie-wykreślonych figur), stosujemy skrót [ctrl + q], co spowoduje wpisanie wyników do pierwszej linii tabeli generalnej, oraz kolejno [ctrl + n], co rozpocznie nową rundę. Po zakończeniu rundy drugiej, wpisanie wyników do tabeli generalnej nastąpi poprzez skrót [ctrl + w] (wpisanie wyników do drugiej linii tabeli generalnej), oraz ponownie [ctrl + n] (rozpoczęcie nowej rundy).
Wpisanie wyników do trzeciej linii tabeli generalnej to skrót [ctrl + e]; do czwartej [ctrl + r]; ... ; do dziesiątej [ctrl + p].

W arkuszu zrobiłem również symulator rzutu kostkami, uruchamiany poprzez skrót [ctrl + f], wyłączany poprzez [ctrl + g]. Kolejne rzuty kostkami to, [ctrl + a], [ctrl + s], [ctrl + d]. Po pierwszym rzucie możemy określić, które wartości liczby oczek mają zostać wylosowane ponownie - robimy to poprzez wstawienie znaku „x” pod określoną wartością liczby oczek.

----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----

[ARKUSZ Kości saCOOL’a 5.6.098 - dropbox.com]

do wersji 5.6.098:
* drobne poprawki i udogodnienia;
* dodanie kolejnych buttoników (są już dla większości makr = praktycznie nie trzeba używać skrótów klawiaturowych);
* dodanie małej tabelki z układami figur w komentarzu do komórki G2 - ułatwia tłumaczenie zasad nowym graczom.

5.6.072:
* optymalizacja komend (wyrzuciłem masę zapętleń 'jeżeli', co odchudziło arkusz pod względem zasobo-żerności :D);
* odrobinę zmieniłem tabelę wyników generalnych.

To by było chyba na tyle, pozdrawiam wszystkich grających w kości.

Autor: saCOOL
Inspiracje/pomysły/rozwiązania: [gad.art.pl], [deefacto.pl.pl], [excelblog.pl]

Obrazki wrzucone ponownie (2017) ;)





Brak komentarzy: