Cześć,
Temat kompletnie od czapy... od czasu do czasu syn mój męczy mnie... "Tato.. napiszmy grę"... nie bardzo wiedziałem jak mu uzmysłowić na czym polega pisanie gier, jeżeli nie za bardzo dziecko ma pojęcie o programowaniu... ale dziś wieczorem to się w miarę udało... powstał mini-projekt w Atari BASIC, szumnie nazwany "symulator gry w piłkę"...
"Gra" jest czysto losowa... losuje się po 11 zawodników każdej drużny... potem losuje się piłka... jeżeli piłka znajdzie się w bramce... należy doliczyć punkt odpowiedniej drużynie :) po ocenie sytuacji na boisku, wciskamy klawisz i wszystko zaczyna się od nowa... zabawa trwa do czasu wciśnięcia klawisza "BREAK", "RESET" albo wyłączenia komputera :)
Kod jest wręcz prymitywny, miejscami okropny, nieczytelny i ma błędy (chociażby nierówne bramki :P) ... ale ma jedną zaletę... uzmysłowił młodemu umysłowi ile potrzeba pracy aby postawić parę nieruchomych linii oraz parę kropek na ekranie. Do tego zrozumiał do czego przydaje się matematyka (np. czym jest układ współrzędnych i na czym polega rysowanie okręgu)... do kompletu wszystkie linie programu "wklepał" dzielnie sam, siedząc przy prawdziwym Atari i był bardzo zadowolony z efektu który powstał...
Nie traktujcie tego zbyt poważanie, te moje wywody proszę traktować jako ciekawostkę, piszę to bardziej dlatego aby podzielić się swoimi spostrzeżeniami... może kogoś to jakoś zainspiruje do działania aby obudzić w młodych ludziach jakąś wewnętrzną ciekawość :)
screen z emulatora:
i dodatkowo wspominany kod...
10 DEG :GRAPHICS 7+16:COLOR 1:POKE 708,15:POKE 712,194:POKE 709,60
11 REM --- BOISKO ---
12 PLOT 0,0:DRAWTO 159,0:DRAWTO 159,79:DRAWTO 0,79:DRAWTO 0,0:PLOT 80,0:DRAWTO 80,79
13 REM --- RYSUJEMY KOLO ---
14 XE=80:YE=40:R=20:GOSUB 100
15 REM --- BRAMKI ---
16 PLOT 1,20:DRAWTO 10,20:DRAWTO 10,50:DRAWTO 1,50
17 PLOT 159,20:DRAWTO 150,20:DRAWTO 150,50:DRAWTO 159,50
19 REM --- ZAWODNICY ---
20 FOR I=1 TO 11
21 XE=10+RND(0)*140
22 YE=5+RND(0)*70
23 COLOR 2:GOSUB 110
24 XE=10+RND(0)*140
25 YE=5+RND(0)*70
26 COLOR 3:GOSUB 110
27 NEXT I
30 REM --- PILKA ---
31 XE=1+RND(0)*157
32 YE=5+RND(0)*70
50 POKE 764,255
51 COLOR 0:GOSUB 120:COLOR 1:GOSUB 120:IF PEEK(764)=255 THEN 51
54 GOTO 10
99 REM ---- KOLO ----
100 F=0:FOR I=0 TO 360 STEP 30
101 X=SIN(I)*R:Y=COS(I)*R
102 IF F THEN DRAWTO XE+X,YE-Y
103 IF F=0 THEN PLOT XE+X,YE-Y:F=1
104 NEXT I
105 RETURN
109 REM --- ZAWODNIK ---
110 PLOT XE,YE:PLOT XE-1,YE:PLOT XE+1,YE:PLOT XE,YE-1:PLOT XE,YE+1
111 RETURN
120 REM --- PILKA ---
121 PLOT XE-1,YE:PLOT XE+1,YE:PLOT XE,YE-1:PLOT XE,YE+1
122 RETURN