ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌ Π΄Π²Π΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈΡ ΠΌΠ΅ΡΡΠΎΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ. ΠΠ΅ΡΠΎΠ΄ increaseWorm () ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½Ρ, ΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ. Π¦Π²Π΅Ρ ΡΠΎΠ½Π°… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΈΠ³ΡΠ° Π·ΠΌΠ΅ΠΉΠΊΠ° Π°ΠΏΠΏΠ»Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ²: Worm Worm2 Main ΠΈ Shapes. WormΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ x ΠΈ y Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ.
public class Worm {.
int x;
int y;
public Worm (int a, int b).
{.
x=a;
y=b;
}.
}.
Worm2 — ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ.
public class Worm2 {.
int x;
int y;
public Worm2(int a, int b).
{.
x=a;
y=b;
}.
ΠΠ»Π°ΡΡ Shapes ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠ΅ΡΠΎΠ΄ Paint () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΈ ΡΠΈΡΡΠ΅Ρ ΡΠ²Π΅ΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
- 1- ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΈΡΠ»Π° «1» ΠΈΠ· Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
- 2- ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ±Π»ΠΎΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΈΡΠ»Π° «2» ΠΈΠ· Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
- 3- ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΈΡΠ»Π° «3» ΠΈΠ· Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
public void paint (Graphics g).
{.
super.paint (g);
for (int i=0;i.
for (int j=0;j.
{.
if (a[i][j]==2).
{.
Graphics2D graphics2D =(Graphics2D)g; //ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ±Π»ΠΎΠΊΠ°.
graphics2D.setPaint (Color.red);
graphics2D.fill (new Ellipse2D. Double (i*20,j*20, 20, 20));
int iPoints[]={i*20+12, i*20+11, i*20+14, i*20+18, i*20+20, i*20+18, i*20+16, i*20+14}; // ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΡΡΠΊΠ° Π½Π° ΡΠ±Π»ΠΎΠΊΠ΅.
int jPoints[]={j*20+7, j*20+3, j*20−1, j*20−2, j*20, j*20+2, j*20+4, j*20+6};
GeneralPath leave = new GeneralPath ();
leave.moveTo (iPoints[0], jPoints[0]);
for (int count=0; count.
leave.lineTo (iPoints[count], jPoints[count]);
leave.closePath ();
graphics2D.setColor (new Color (2, 161, 6));
graphics2D.fill (leave);
}.
else.
if (a[i][j]==1) //ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΡΠΊΠ°.
{.
Graphics2D graphics2D =(Graphics2D)g;
graphics2D.setPaint (Color.black);
graphics2D.setStroke (new BasicStroke (1.0f));
graphics2D.fill (new Rectangle2D. Double (i*20,j*20, 20, 20));
graphics2D.setPaint (Color.orange);
graphics2D.setStroke (new BasicStroke (1.0f));
graphics2D.fill (new Rectangle2D. Double (i*20+1,j*20+1, 18, 18));
}.
else.
if (a[i][j]==3) //ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΡΠΊΠ°2.
{.
Graphics2D graphics2D =(Graphics2D)g;
graphics2D.setPaint (Color.black);
graphics2D.setStroke (new BasicStroke (1.0f));
graphics2D.fill (new Rectangle2D. Double (i*20,j*20, 20, 20));
graphics2D.setPaint (Color.green);
graphics2D.setStroke (new BasicStroke (1.0f));
graphics2D.fill (new Rectangle2D. Double (i*20+1,j*20+1, 18, 18));
}.
}.
}.
ΠΠ΅ΡΠΎΠ΄ dropBonus () Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ±Π»ΠΎΠΊΠΈ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅. ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎ ΠΏΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ xBonus ΠΈ yBonus ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ±Π»ΠΎΠΊΠ°.
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ.
public void dropBonus ().
{.
int xBonus;
int yBonus;
do{.
Random rand=new Random ();
xBonus=rand.nextInt (39);
yBonus=rand.nextInt (39);
}.
while (a[xBonus][yBonus]≠0);
a[xBonus][yBonus]=2;
repaint ();
}.
ΠΠ΅ΡΠΎΠ΄ increaseWorm () ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½Ρ, ΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ.
public static void increaseWorm2(Worm2 worm2[]).
{.
int n=wormLength2(worm2);
if (worm2[n-1]. x==worm2[n-2].x).
{.
if (worm2[n-1]. y>worm2[n-2].y).
{.
worm2[n]. x=worm2[n-1].x;
worm2[n]. y=worm2[n-1].y+1;
}.
else.
{.
worm2[n]. x=worm2[n-1].x;
worm2[n]. y=worm2[n-1].y-1;
}.
}.
else.
{.
if (worm2[n-1]. x>worm2[n-2].x).
{.
worm2[n]. y=worm2[n-1].y;
worm2[n]. x=worm2[n-1].x+1;
}.
else.
{.
worm2[n]. y=worm2[n-1].y;
worm2[n]. x=worm2[n-1].x-1;
}.
}.
}.
ΠΠ°ΡΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π·ΠΌΠ΅Π΅ΠΊ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² a ΠΈ b.
public int [][] a;
public int [][] b;
…
a=new int [40][40];
b=new int [40][40];
ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π²ΡΠ±ΡΠ°Π½Π° Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»Ρ 800 Π½Π° 800 Π° ΠΎΠ΄Π½Π° ΠΊΠ»Π΅ΡΠΊΠ° ΠΏΠΎΠ»Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ²Π°Π΄ΡΠ°Ρ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 20 Π½Π° 20 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
Π¦Π²Π΅Ρ ΡΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° Π½Π΅ΠΌ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ Π²ΠΈΠ΄Π½ΠΎ, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΠΎ ΡΡΡΠΎΡΠΊΠ°: getContentPane ().setBackground (Color.black);
Π ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° a ΠΎΠ±Π½ΡΠ»ΡΠ΅ΠΌ. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Paint () ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1 2 ΠΈ 3.
for (int i=0;i.
for (int j=0;j.
a[i][j]=0;
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌ Π΄Π²Π΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈΡ ΠΌΠ΅ΡΡΠΎΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
a[20][20]=2;
worm[0]. x=4;
worm[0]. y=20;
worm[1]. x=3;
worm[1]. y=20;
worm[2]. x=2;
worm[2]. y=20;
worm[3]. x=1;
worm[3]. y=20;
— ΠΏΠ΅ΡΠ²Π°Ρ Π·ΠΌΠ΅ΠΉΠΊΠ°.
b[20][20]=2;
worm2[0]. x=20;
worm2[1]. y=19;
worm2[1]. x=20;
worm2[2]. y=18;
worm2[2]. x=20;
worm2[3]. y=17;
worm2[3]. x=20;
worm2[0]. y=20;
— Π²ΡΠΎΡΠ°Ρ Π·ΠΌΠ΅ΠΉΠΊΠ° ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ Π·ΠΌΠ΅Π΅ΠΊ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΌΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² ΠΌΠ΅ΡΠΎΠ΄ formMatrix () Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½Π°ΡΠΈΠΌΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ°ΠΌΠΈ. ΠΠ΅ΡΠ²ΠΎΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π² ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠΎΡΠΎΠ½) ΠΈ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΠ±Π»ΠΎΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ dropBonus ().
Random r=new Random (); // Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
for (int d=0;d<30;d++).
{.
int dir=r.nextInt (3);
int dir2=r.nextInt (3);
int t=r.nextInt (6);
int t2=r.nextInt (6);
Π² ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΡΠ±ΠΎΡ ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΈ Π΅Π΅ Π΄Π»ΠΈΠ½Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. Dir ΠΈ dir2 ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ t ΠΈ t2 Π·Π° Π΄Π»ΠΈΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ΄Π½Ρ ΠΈΠ· Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΠΎΡΠΎΠ½ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π² ΠΎΠ΄Π½Ρ ΠΈΠ· Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΠΎΡΠΎΠ½.
int n=wormLength (worm);
for (int j=0;j.
{.
if (j>19).
break;
a[worm[j]. x][worm[j].y]=1;
}.
repaint ();
tempX=worm[n-1]. x;
tempY=worm[n-1]. y;
for (int j=n-1;j>0;j—).
{.
worm[j]. x=worm[j-1].x;
worm[j]. y=worm[j-1].y;
}.
worm[0]. y—;
a[tempX][tempY]=0;
if (a[worm[0]. x][worm[0].y]==2).
{.
increaseWorm (worm);
dropBonus ();
}.
try {.
Thread.sleep (50);
} catch (InterruptedException e).
{.
// TODO Auto-generated catch block.
e.printStackTrace ();
}.