xlArkanoid vtk1 ;-)
  strona główna:
A po co ten Excel ;-)
 
 
Dziś ambitny temat ;-)  
Próbowaliście napisać Arkanoida w Excelu?? Pomysł na  
realizację tego planu zrodził mi się już jakiś czas temu.  
Pamiętam że pierwsze podejście było klęską :-)  
Zamknąłem kulkę w 4'rech ściankach, opisałem prostą  
"fizykę" kulki, rekurencyjnie z opóźnieniem wywoływałem  
procedurę przesuwającą kulkę o jakieś współrzędne i   
całość działała :-) Teraz paletka. Jak nią poruszać?  
Łatwiej za pomocą klawiszy strzałek. No to f. API.  
GetAsyncKeyState w procedurze głównej i jak wcisnę  
strzałkę to paletka ma się przesunąć w odpowiednią  
stronę. Pomysł prosty i kod też ale…  pętla główna  
programu wydłużona o przesunięcie paletki powodowała   
że kulka zwalniała :-((   
          Pomysł porzuciłem aż do czasu..  :D  
 
Dziś w Arkykule: Jak napisać xlArkanoida ? :-)  
 
Opis kodu będę próbował prowadzić wg kolejności jego  
wykonywania. Główne Etapy są również podzielone  
w modułach. Będzie więc o:  
 
1. UserForm1  
 - Procedura pod przyciskiem Start  
 - Procedura LoadGame: tworzenie ramki, paletki  
    piłki, start procedur przechwytujących "zdarzenia"  
    klawiatury i myszy, załadowanie pierwszego level'u.  
2. modLevels  
 - Struktura (typ) Klocek, Struktura Level  
 - definicja Level'u i jego załadowanie na "planszy"  
 - procedura UtworzKlocek.  
3. modHookKeyPress  
 - Funkcja LowLevelKeyboardProc i określenie reakcji programu na określone klawisze.  
 - Procedury PaletMove i OffsetKulki  
4. modHookMauseMove  
 - Funkcja LowLevelMouseProc i przechwytywanie "zdarzeń": WM_MOUSEMOVE i WM_LBUTTONDOWN  
 - Procedura Mmove  
5. modGra   Grę można pobrać tu:
 - Procedura StartGRY   xlArkanoid.zip
 - Obsługa procedury TimeProc funkcjami SetTimer, KillTimer  
 - TimerProc: odbiecie od ramki, odbicie od paletki ze zmiennym kontem ruchu kulki w zależności od miejsca uderzenia o paletkę,  
    odbicie od klocków, reakcja programu na Wygraną, Pauzę, Przerwanie Gry.  
 - Procedury: Pauza, Reset, Zliczanie odbić, Zmiana przyspieszenia piłki.  
 
Sukcesywnie postaram się opisać ww tematy.  
 
Z grubsza tyle :-) Wiem.. W prawdziwym arkanoidzie jest masa innych ciekawych rzeczy: wydłużenie paletki, strzelanie do klocków,   
roztrojenie piłki,… :-) Ta wersja jest pozbawiona takich "wodotrysków" choć nie twierdzę że kiedyś się nie pokuszę o ich dodanie.