Šoreiz izveidosim labi pazīstamo čūskas spēli. Pirms tam svarīgi ir izplānot (pierakstīt), kas spēlei jādara jeb kādas ir tās prasības. Vispirms noformulēsim, ko nozīmē "čūskas spēle".
Spēlētājs ar tastatūru kontrolē tārpu, kas nedrīkst saskrieties nedz ar laukuma sienām, nedz arī ar savu asti. Tārpam jāsavāc pēc iespējas vairāk ābolu. Ar katru apēstu ābolu tārpa aste pagarinās.
Uzrakstīsim spēles noteikumus sīkāk, jo tie nosaka, ko un kā mums vajadzētu programmēt.
Vienkāršos teikumos aprakstīsim spēles funkcionalitāti:
Jānoskaidro arī spēles tehniskās prasības:
Šeit ir piemērs tam, kā tārps pārvietojas režģī:
Piemērā tārpa garums ir 5 segmenti (zaļa galva + 4 astes fragmenti). Čūskai virzoties pa spēles laukumu, tās galva pārvietojas pa režģi, ķermenis tai seko un pēdējais astes fragments izgaist.
Šeit ir piemērs tam, kā pagarināšana notiek, ēdot ābolu:
Kad čūskas galva un ābols nonāk vienā laukuma režģa rūtiņā, ābols izgaist un līdz ar nākamo kustību čūskas astes galā tiek pievienots jauns segments, tādējādi čūskas ķermeņa garums palielinās par 1.
Lai čūskas ķermenis varētu paklausīgi sekot galvai, nepieciešams saglabāt datora atmiņā čūskas kustības trajektoriju. Mums jāzina, kurā vietā uz spēles laukuma atrodas katrs astes fragments, jo tikai tā mēs varam secīgi tos pārvietot pa režģa rūtiņām.
Spēles laukums ir iedomāts režģis, bet režģlīnijas nebūs redzamas. Režģi varam uztvert kā koordinātu plakni. Spēles loģikai, savukārt, jādarbojas saskaņā ar režģa izmēriem.
Katrs čūskas ķermeņa fragments un arī ābols, pēc kura tā tieksies, spēles laukuma režģī tiks attēloti kā kvadrāti ar izmēru 30px x 30px. Figūru zīmēšana notiek kā atskaites punktu ņemot figūras augšējo kreiso stūri (redzams attēlā). Ja gribēsim iezīmēt kvadrātu režģa augšējā kreisajā stūrī, tā koordinātes būs x=0 un y=0, īsāk pierakstot (0, 0).
Tādā veidā mēs varam pierakstīt pozīciju režģī visiem čūskas ķermeņa fragmentiem.
Turpinājums sekos...