piątek, 8 grudnia 2006

Mała przerwa

Trzeba zdać, no i święta idą ;)
Sporo roboty mam teraz na głowie i jakoś nie mam czasu siedzieć na Kurniku. Pewnie w święta coś się projektem zainteresuję, o ile nie dorwę jakiejś siekaninki typu Space Hack, która była dołączona w zeszłym roku do CD-Action ;) Aktualnie i na najbliższe dwa tygodnie, głównym obiektem mojego zainteresowania będą chore i pokręcone przedmioty pokroju chemii, geografii, tudzież języka polskiego.

wtorek, 5 grudnia 2006

Niezabezpieczony Kurnik

Masowe zakładanie kont
Otóż jak pewnie sporo osób zauważyło, przy zakładaniu nowego konta wystarczy podać proponowany login, wpisać hasło, potwierdzić je, a następnie opcjonalnie wypełnić dodatkowe informacje. Jednak czegoś tutaj brakuje.. Chodzi mi o takie małe pole tekstowe, do którego wpisuje się tekst z obrazka. Stało się to bardzo popularne na wielu serwisach i to nie bez przyczyny. Napisałem wczoraj dosłownie ciągu 10 minut programik, który jest w stanie założyć 15 tysięcy kont w ciągu 12 godzin. Przy takim tempie zakładania nowych kont, jeśli by się ktoś uparł może zaspamować Kurnik. Jak jest to przedstawione na wynikach z 15 czerwca 2006 roku, Kurnik ma 2 miliony użytkowników. Łatwo sobie policzyć, że wystarczą dwa miesiące i jeden użytkownik jest w stanie podwoić liczbę zarejestrowanych kont. To daje do myślenia ;) Dlatego ciekaw jestem jak szybko administracja www.kurnik.pl wprowadzi zabezpieczenie przed botami zakładającymi masowo konta.

poniedziałek, 4 grudnia 2006

Mały zonk ;)

Blokada kont
I się stało :D Po bardzo długim okresie użytkowania konta ti4h5mh zostałem zablokowany. Nie dziwię się. Po tym co ostatnio na nim wyczyniałem to przewinień starczyłoby na zbanowanie kilku loginów :D Oprócz tego zawieszono mi konto nc3 oraz chyba już sławne szachotron. Ale ja się tak szybko nie poddam. Tak jak mówiłem, mam kilka kont i nie miałem na myśli tylko tych trzech wymienionych powyżej. Ciekawe jak szybko władza kurnikowa się zorientuje, które to są ]:->
Cóż, ja jestem cierpliwy i będę zakładał kolejne konta dla Szachotrona. Póki mi się Kurnik nie znudzi, nie dam im spokoju. I to nie tylko w grze w szachy...
Czuję się wyróżniony ze względu na komentarz odnoszący się do blokady konta. "Zastanów się człowieku, co robisz." Jednocześnie chciałbym mieć możliwość odpowiedzenia. Chciałem powiedzieć, że ja bardzo dobrze wiem co robie. Pisanie Szachotrona sprawia mi bardzo dużą przyjemność. Nie uznaję się za bezmózgowca, który próbuje wygrywać w szachy tak jak to zwykli "kompiarze" robią. Umiem grać w szachy. Może nie aż tak dobrze jak widać to po moich statystykach na kontach, ale wygrywam z niejednym przeciwnikiem na Kurniku. Jestem programistą i wykorzystuje swoje umiejętności do własnych celów. Każdy programista grający swoim programem może być też "kompiarzem", ale zapewniam, że praktycznie żaden "kompiarz" nie jest w stanie być programistą, a zwłaszcza takim, który umie napisać program pokroju Szachotrona.

niedziela, 3 grudnia 2006

Oficjalny turniej kurnikowy

Jest nieźle, ale mogło być lepiej
Zająłem trzecie miejsce. W sumie jestem zadowolony. Zawiódł mnie jednak silnik szachowy Zappa. Trafiłem na przeciwnika _admax. Potraktowałem go jak zwykłego śmiertelnika i używałem jednosekundowych ruchów. Partia była wyrównana do samego końca, gdy nagle straciłem skoczka, a oponent promował piona do hetmana. To był natychmiastowy zwrot akcji, który zakończył się moją sromotną klęską. Zdziwiłem się bardzo takim obrotem wydarzeń, ale nie zmieniłem silnika dla potrzeb następnej partii. Pełny nadziei przystąpiłem do gry z adamxxxxl. I tutaj również silnik mnie zawiódł. Wprawdzie nie przegrałem, ale silnik po prostu się poddał :/ Wykonał trzy ruchy takie jak przeciwnik i nastąpił remis. Po tym zdarzeniu się zdenerwowałem i zrezygnowałem z Zappa'y na rzecz sprawdzonej w bojach TogaII. Wygrałem dwie następne partie, po czym trzecia rozgrywała się po mojej myśli, aż popełniłem błąd :) Dokładnie to błąd był po stronie Szachotrona, który jeszcze nie rozpoznaje sytuacji, w której przeciwnik promuje piona, a taka sytuacja właśnie miała miejsce w tej partii. Od tego ruchu polegałem na sobie i spotkanie zakończyło się patem. Ostatnie dwa mecze wygrałem i ogólny bilans wyniósł dziewięć wygranych, jedna porażka oraz dwa remisy.

Podsumowanie
Turniej pokazał, że działający na standardowych ustawieniach silnik Zappa jest kiepski. Natomiast TogaII jak zwykle pokazała swoją klasę i uchroniła mnie przed spadnięciem z podium ;) Dobrze się stało, że nie wygrałem dziewiątej partii, bo przypomniałem sobie o wspomnianej wcześniej wadzie Szachotrona. Najprawdopodobniej jak będę robił jakieś większe poprawki zmodyfikuję i to. Jednak póki co rzadko kiedy zdarza się żeby TogaII pozwoliła przeciwnikowi zdobyć hetmana, dlatego chwilowo pozostawiam to bez zmian.

sobota, 2 grudnia 2006

Zmiany

Kolejne bajerki

Dodałem możliwość definiowania własnych skrótów klawiszowych w pliku konfiguracyjnym. Natomiast sam Szachotron obsługuje teraz wszystkie silniki szachowe zgodne z UCI. Tutaj można znaleźć przykładową listę silników. Dzięki temu ustandaryzowaniu programu nie muszę już tak jak dotychczas robiłem, korzystać z odpowiednio zmodyfikowanej wersji TogaII. Jednak mimo możliwości korzystania z tak dużej ilości oprogramowania, pozostanę przy tym, którego aktualnie używam. Głównym argumentem, który mnie do tego skłania jest fakt, że TogaII ma ELO ~2800 i jeszcze ani razu mi się nie wysypała.
W testach pomiędzy silnikami wyszło mi, że Zappa jest silniejsza od TogaII. Może użyję tego programu na dzisiejszym kurnikowym turnieju. Mam nadzieję, że nie sprawi mi jakichś problemów. Chociaż może bardziej roztropne byłoby użycie jednak tego silnika, którym rozegrałem juz blisko 500 partii ;)
Dodałem również, jak mi się wydaje, bard
o ważną funkcję. Mianowicie blokadę możliwości wykonania ruchu podczas tury przeciwnika ;) Jest to o tyle ważne, że jeśli zostałby wykonany ruch podczas nie swojej tury, Szachotron zinterpretowałby ostatnie wykonane przez siebie posunięcie jako to autorstwa oponenta. Skutek byłby taki, że silnik szachowy by zgłupiał i nie możnaby było przewidzieć późniejszego jego zachowania.

Pomysły
Tak sobie myślałem nad jakimiś dodatkowymi bajerkami i wpadłem na pomysł zrobienia skrótu klawiszowego, po naciśnięciu którego Szachotron wysyłałby w oknie rozmowy, na przykład "cześć", albo "dzięki za grę ;)", tudzież "zagrajmy rewanż". Takie małe udogodnienie, żeby nie trzeba było pisać w kółko ciągle tych samych formułek.
Oprócz tego małego, nazwijmy to gadżetu, myślałem nad wprowadzeniem pomysłu, który był zrealizowany w poprzedniej wersji Szachotrona. Mówię tutaj o niewielkim panelu sterowania umiejscowionym nie w oknie mojego programu, a w oknie ze stołem gry. Dokladnie chodzi mi o miejsce zaznaczone za screenie:
Free Image Hosting at www.ImageShack.us

Analizując budowę okna ze stołem gry dowiedziałem się sporo o działaniu tej aplikacji. Między innymi jakie komunikaty okienkowe są wysyłane przy odpowiednich zdarzeniach i temu podobne rzeczy. W miejscu oznaczonym czerwonym prostokątem, ku mojemu zdziwieniu znajduje się dodatkowe okno. Tyle, że jest niebieskie i ma styl popup, więc go nie widać. W bardzo łatwy sposób udało mi się je wykorzystać i stowrzyć kolejne okno-dziecko, w którym mogę umieśić co tylko mi się podoba. Od przycisków przez pola richedit do kontrolek ActiveX i możliwość wyświetlania grafiki przy pomocy DirectX ;) Przy okazji okdkryłem, że jeśli da się odpowiedni styl temu nowemu oknu to zdejmując fokus z okna ze stołem nick nie bedzie się robić szary. Czyli teoretycznie kolejny bonus od Szachotrona: podczas partii można rozmawiać przez komunikator i wcale nie być posądzanym, że się gra programem ;)
Po dzisiejszym turnieju pomyślę nad wprowadzeniem tych udogodnień. Tymczasem biorę się dalej za robotę.