Ê×Ò³ > ±à³Ì¿ª·¢ > Java > ÕýÎÄ  
Java »î¶¯Í¼Ïñ³ÌÐòºÍÓÎÏ·±àд
³ö×Ô£ºnull null 2002Äê08ÔÂ21ÈÕ 22:00
[תÌù]

Java »î¶¯Í¼Ïñ³ÌÐòºÍÓÎÏ·±àд.

Ò» ¹ØÓÚÓÃJava¹¹ÔìÓÎÏ·.
ÔÚ±¾ÎÄÖбÊÕßÓÃJava±àдһ¸öСÓÎÏ·Èí¼þ.ΪʲôдÓÎÏ·Èí¼þ?ÓÎÏ·Èí¼þÒªÇóµÄ±à³ÌÄÜÁ¦½Ï¸ß,Ò²ºÜÉÙÓбÈдÓÎÏ·Èí¼þ¸ü¼Ó¼¤¶¯ÈËÐĵĴ´ÔìÐÔ¹¤×÷ÁË.Òò´Ë,дÓÎÏ·ÊǺܺõÄѧϰ±à³ÌµÄÊÖ¶Î:±ÊÕßÏàÐÅÒ»¾äÀÏ»°:\\"È¡·¨ºõÉÏ,µÃºõÆäÖÐ\\". ¼ÙÈç¶ÁÕß¿ÉÒÔŪ¶®±¾Îĸø³öµÄ¸÷ÖÖËã·¨,²¢¾ÙÒ»·´Èý,ÏàÐÅ¿ÉÒԺܿìÕÆÎÕĿǰÁ÷ÐеĻÖ÷Ò³µÄ±àд·½·¨.
ÏÔÈ»,ÓÃJava¹¹ÔìÉÌÆ·»¯µÄÓÎÏ·Èí¼þĿǰ²»¿ÉÄÜ.Ϊʲô?C++±à³ÌµÄÓÎÏ·,Æä×îÖÕÔËÐÐÎļþÊÇÔËÐÐÆ½Ì¨µÄÖÐÑë´¦Àí»úµÄ»úÆ÷Âë,ÔËÐÐËÙ¶ÈÏ൱¸ß.¶øJava½«ÒÔ×Ö½ÚÂëµÄÐÎʽÔËÐÐÓÚJavaÐéÄâ»úÉÏ,ЧÂʵÍÏÂ.µ«±ÊÕßÏ£Íûͨ¹ý±¾ÆªÎÄÕÂÄܶÔJavaµÄ³õѧÕßÌṩ°ïÖú,ŪÇåһЩJava±à³Ì¼¼ÇÉ,Èçʼþ,Ïß³Ì,¶¯»­,Ë«»º³åͼÏñ,¸´ºÏ¼ü¿ØÖÆ,µÈ.Ò»·½ÃæÓÐÖúÓÚJava±à³Ìѧϰ,ÁíÒ»·½Ã漴ʹʹÓÃC»òC++±à³Ì,±¾ÎĵÄËã·¨ºÍ¼¼ÇÉÒ²¶¼ÓÐÏ൱¼ÛÖµ.
±¾Îļٶ¨¶ÁÕßÓÐÒ»¶¨µÄJava±à³Ì³£Ê¶,Ò²³õ²½Àí½âÃæÏò¶ÔÏóµÄº¬Òå.ͬʱ,Ϊ±ãÓÚʵ¼ù,¶ÁÕß×îºÃÄÜ×Ô¼ºÊ¹ÓÃPhotoShopÖ®ÀàµÄͼÏñ´¦ÀíÈí¼þ±à¼­Í¼Æ¬.³ÌÐòÔÚIE4.0ÏÂÔËÐÐ.

¶þ ×î¼òµ¥µÄ³ûÐÎ:Ö§³Ö¸´ºÏ¼ü¿ØÖƵÄС·½¿é.
Ê×ÏÈÎÒÃÇҪд³öÒ»¸öÄÜÔÚÆÁÄ»ÉÏËæÐÄËùÓûÒÆ¶¯µÄС·½¿é.Óû§ÓüüÅÌ¿ØÖÆÐ¡·½¿éµÄÒÆ¶¯,µ«Ö§³Ö¸´ºÏ¼ü¿ØÖÆ.±ÈÈç,¼ÙÈçÓû§°´ÏÂÏòÉϼü,С·½¿éÏòÉÏÒÆ¶¯.Óû§ÓÖ°´ÏÂÁËÏòÓÒ¼ü,С·½¿éÏòÓÒÉÏ·½Òƶ¯.ËæºóÓû§ËÉ¿ªÏòÓÒ¼ü,С·½¿é»Ö¸´ÏòÉÏÒÆ¶¯.
¹Ø¼üÊdzÌÐòÖÐÓÐËĸö±íʾ·½ÏòµÄ²¼¶û±äÁ¿.±äÁ¿µÄÖµËæ¼üÅ̵Ä״̬¸Ä±ä¶ø¸Ä±ä,°´ÏÂij¸ö·½Ïò¼ü,ÏàÓ¦µÄ·½Ïò²¼¶û±äÁ¿ÖÃλ;ËÉ¿ª,¾ÍÇåÁã.С·½¿éµÄÒÆ¶¯¸ù¾ÝËĸö·½Ïò²¼¶û±äÁ¿µÄֵȷ¶¨,ij·½ÏòΪtrue,¾ÍÏòÄĸö·½ÏòÒÆ¶¯.¶ÁÕß¿ÉÒÔÉèÏë,¼ÙÈçÓû§°´ÏÂÏòÉϼü,ÏòÉϲ¼¶û±äÁ¿Îªtrue,С·½¿éÏòÉÏÒÆ¶¯,ÓÖ°´ÏÂÏòÓÒ¼ü,ÏòÓÒ²¼¶û±äÁ¿Îªtrue,С·½¿éÓÖÏòÓÒÒÆ¶¯,×ÜÌåЧ¹û¾ÍÊÇÏòÓÒÉÏÒÆ¶¯.Óû§ÔÙ°´ÏÂÏò×ó¼ü,С·½¿éÏòÉÏ,ÏòÓÒ,ÔÙÏò×ó,×ÜÌå½á¹û¾ÍÊÇÏòÉÏ.ҪעÒâµÄÊÇ,Óû§±ØÐëʹÓÃÊý×Ö¼üÅÌÇøµÄ·½Ïò¼ü! ´ËÍâ,¶ÁÕßÓ¦ÏÈÓÃÊó±êÆ÷ÔÚ³ÌÐòÔËÐл­ÃæÉϵã»÷Ò»´Î,ʹÆÁÄ»½¹µãÂäÔÚ±¾³ÌÐòÉÏ.
³ÌÐòÖÐÓüüÅÌʼþÀ´¿ØÖƱíʾ·½ÏòµÄ²¼¶û±äÁ¿µÄÖµ,°´Ï¼ü,ÖÃtrue;ËÉ¿ª,ÖÃfalse.С·½¿éµÄÒÆ¶¯ÓÉÏß³ÌÍê³É,ÒòΪÏ߳̿ÉÒÔ²»ÒªÈκμ¤ÀøÖܶø¸´Ê¼µÄ²»¶ÏÔËÐÐ.ÏÂÃæÊdzÌÐò´úÂë.×¢Òâ:ÎļþÃûÒª½Ðwumin1.java
ÊäÈë±àÒëºó,»¹ÒªÊäÈëÒ»¸öHTMLÎļþʹËüÔÚä¯ÀÀÆ÷ÖпÉÒÔÔËÐÐ.±¾ÎÄÒ»Ñù¸ø³ö·¶Àý.

import java.awt.*;
import java.applet.*;

public class wumin1 extends Applet
{
carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý.


public void start()
{
if (carton_1==null)//¼ÙÈçδ³õʼ»¯
{
carton_1=new carton(getGraphics(),this);//³õʼ»¯
carton_1.start();//Æô¶¯
}
}

public void stop()
{
carton_1.stop();//Í£Ö¹
carton_1=null;//ÊÍ·Å×ÊÔ´
}

//¼ü±»°´ÏÂʼþµÄ´¦Àí.
public boolean keyDown(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´ÏÂ
carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´ÏÂ
carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´ÏÂ
carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃtrue
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´ÏÂ
carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue
return true;
}

//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí.
public boolean keyUp(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª
carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª
carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃfalse
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª
carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃfalse
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª
carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse
return true;
}
}

//С·½¿éËùÊôÀàµÄÃèÊö
class carton extends Thread//´ÓThreadÀàÅÉÉú
{
boolean up=false,down=false,left=false,right=false;//Ëĸö±íʾ·½ÏòµÄ²¼¶û±äÁ¿
int position_x=200,position_y=150;//×ø±ê.³õʼλÖÃÊÇ(200,150)
Applet applet;
Graphics g;
int sleep_time=5;//˯Ãßʱ¼ä

Color my_color;

//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ
public carton(Graphics a,Applet app)
{
g=a;
applet=app;
}

//ÕâÊÇÖ÷ÔËÐк¯Êý.
public void run()
{
while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ
{
set_position();//¼ÆËãС·½¿é×ø±ê

draw_image();//»­Ð¡·½¿é

try//±ê×¼µÄÔÝÍ£·½Ê½
{
sleep(sleep_time);
}
catch(InterruptedException e)
{
}
}
}


//¼ÆËãС·½¿éµÄ×ø±ê
public void set_position()
{
if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1
position_y--;//С·½¿éÏòÉÏÒÆ¶¯
if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330
position_y++;//С·½¿éÏòÏÂÒÆ¶¯
if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1
position_x--;//С·½¿éÏò×óÒÆ¶¯
if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380
position_x++;//С·½¿éÏòÓÒÒÆ¶¯
}

//»­ÆÁÄ»
public void draw_image()
{
my_color=new Color(179,179,179);
g.setColor(my_color);
g.fillRect(0,0,400,350);//»­±³¾°

my_color=new Color(100,100,100);
g.setColor(my_color);
g.fillRect(position_x,position_y,20,20);//¸ù¾ÝС·½¿éµÄ×ø±ê»­Ð¡·½¿é
}

//±íʾ·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃtrue·½·¨
public void set_direction(int direction_)
{
switch(direction_)
{
case(0)://ÏòÉϼü±»°´ÏÂÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃλ
up=true;
break;
case(1)://Ïòϼü±»°´ÏÂÔòÏòϵIJ¼¶û±äÁ¿ÖÃλ
down=true;
break;
case(2)://Ïò×ó¼ü±»°´ÏÂÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃλ
left=true;
break;
case(3)://ÏòÓÒ¼ü±»°´ÏÂÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃλ
right=true;
break;
default:
break;
}
}

//±íʾ·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃfalse·½·¨
public void clear_direction(int direction_)
{ switch(direction_)
{
case(0)://ÏòÉϼü±»ËÉ¿ªÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
up=false;
break;
case(1)://Ïòϼü±»ËÉ¿ªÔòÏòϵIJ¼¶û±äÁ¿ÖÃfalse
down=false;
break;
case(2)://Ïò×ó¼ü±»ËÉ¿ªÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃfalse
left=false;
break;
case(3)://ÏòÓÒ¼ü±»ËÉ¿ªÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse
right=false;
break;
default:
break;
}
}
}

ÏÂÃæÊÇHTMLÎļþ
<APPLET CODE=\\"wumin1.class\\"WIDTH=400 HEIGHT=370></APPLET>

Èý С·½¿é±ä³É¶¯»­¿¨Í¨.
ÏÖÔÚÎÒÃÇÔöÇ¿³ÌÐò¹¦ÄÜ.ûÓÐÈËÔ¸Òâ¿´µ½Ëû¿ØÖƵĶÔÏóÊÇÒ»¸ö´ô°åС·½¿é.³ÌÐò¸Ä¶¯ºó,С·½¿é½«ÓÐÈçϱ仯: Óû§²»°´ÏÂÈκοØÖƼü,С·½¿é¾²Ö¹,µ«ËüÖÜÆÚÐԵĸıä×Ô¼ºµÄͼÑù.´Ëºó,ÎÒÃDz»ÔÙ°ÑÎÒÃÇ¿ØÖƵĶÔÏó½ÐС·½¿é,¶ø½ÐС¿¨Í¨\\"¸ñ¸ñ\\".Óû§°´Ï·½Ïò¼üºó,¸ñ¸ñµÄÑù×Ó±ä³ÉÖ¸ÏòÄǸö·½ÏòµÄ¼ýÍ·.
Ê×ÏȶÁÕßÓÃPhotoShopÖ®ÀàµÄͼÏñ´¦ÀíÈí¼þÉú³ÉÏÂÃæ°Ë¸öͼƬ.×¢Òâ:ͼƬ´óС¶¼ÊÇ10 X 10µã,´øÓÐÈç±¾ÎÄËùʾһÑùµÄAlphaͨµÀ(AlphaͨµÀµÄºÚÉ«²¿·Ö½«Ê¹Í¼Æ¬µÄ¶ÔÓ¦²¿·Ö͸Ã÷,´Ó¶ø²»±»ÏÔʾ³öÀ´,ÕâÑù±³¾°¾Í¿É¼ûÁË),ÓÃGIF¸ñʽ´æÅÌ.ÕâЩͼƬ¾ÍÊǸñ¸ñÒÆ¶¯Ê±µÄÏÔʾͼƬ.ͼƬµÄÎļþÃû¾ÍÓÃÏàӦͼƬÏÂÃæµÄ.

|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||

ÏòÉÏͼƬ AlphaͨµÀ ÓÒÉÏͼƬ AlphaͨµÀ ÏòÓÒͼƬ AlphaͨµÀ ÓÒÏÂͼƬ AlphaͨµÀ

up.gif up_right.gif right.gif down_right.gif


|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||

ÏòÏÂͼƬ AlphaͨµÀ ×óÏÂͼƬ AlphaͨµÀ Ïò×óͼƬ AlphaͨµÀ ×óÉÏͼƬ AlphaͨµÀ

down.gif down_left.gif left.gif up_left.gif

È»ºó¶ÁÕßÔÙÓÃPhotoShopÖ®ÀàµÄͼÏñ´¦ÀíÈí¼þÉú³ÉÏÂÃæÁ½¸öͼƬ.ͼƬ´óС¶¼ÊÇ20 X 20µã,ͬÑù´øÓÐAlphaͨµÀ.ÓÃGIF¸ñʽ´æÅÌ,ÕâÊǸñ¸ñ¾²Ö¹Ê±µÄÏÔʾͼƬ,ËüÃDZ»½»ÌæÏÔʾÒÔÐγɶ¯»­Ð§¹û.ͼƬµÄÎļþÃû¾ÍÓÃÏàӦͼƬÏÂÃæµÄ.

|||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| |||||||

¸ñ¸ñͼƬ1 AlphaͨµÀ ¸ñ¸ñͼƬ2 AlphaͨµÀ

center_open.gif center_close.gif

¸ñ¸ñ¾²Ö¹Ê±»­ÃæµÄ´¦ÀíºÜ¼òµ¥.¼ÙÈç¸ñ¸ñÏÖÔÚµÄλÖú͸ղÅÏàͬ,±íʾ¸ñ¸ñ¾²Ö¹.´Ëʱ,¹ýÒ»¶Îʱ¼ä,¾Í¸ü»»¸ñ¸ñµÄͼƬ.¸ñ¸ñµÄÑù×ӾͻáÖÜÆÚÐԵĸıäÐγɶ¯»­Ð§¹û.
ÒÆ¶¯Ê±ÅжϾͲ»ºÃ°ìÁË.Óû§¿ÉÄܰ´ÏÂÒ»¸ö,Á½¸ö,ÉõÖÁÈý¸ö·½Ïò¼ü,Ëĸö·½ÏòÒ»¼Ó×éºÏ,¿ÉÄÜÐÔÌ«¶à,ºÜÄѸù¾ÝÄǸö·½Ïò¼ü±»°´ÏÂÁËÀ´Ñ¡ÔñÓ¦¸ÃÏÔʾÄǸöͼƬ.ÎÒÃÇÓÃÈçϼ¼Çɽâ¾öÎÊÌâ: Óøñ¸ñÏÖÔÚµÄλÖú͸ղŵÄλÖñȽÏ,ÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒ±ß,˵Ã÷¸ñ¸ñÔÚÏòÓÒÒÆ¶¯,¾ÍÑ¡ÔñÏòÓÒµÄͼƬÏÔʾ;ÔÚÓÒÉÏ·½,˵Ã÷¸ñ¸ñÔÚÏòÓÒÉÏ·½Òƶ¯,¾ÍÑ¡ÔñÏòÓÒÉÏ·½µÄͼƬÏÔʾ,µÈµÈ.ÕâÑù,×î¶àÖ»ÓаËÖÖ¿ÉÄÜ,±ãÓÚ´¦ÀíÁË.ÏàÐŶÁÕß»áÓа취Èøñ¸ñÒÆ¶¯Ê±Ò²ÏÔʾ¶¯»­Í¼Ïñ.
È»ºóÎÊÌâ¾ÍÀ´ÁË.»­Ãæ±»ÏÔʾµÄͬʱ,³ÌÐòÓÖÔڸıäËü,ÓÚÊÇ»­ÃæÉÁ˸.Õâʱ³ÌÐò±ØÐëʹÓÃË«»º³å¼¼Êõ.Ë«»º³åµÄº¬ÒåÊÇ:ÄãÔÚÄÚ´æÖпª±ÙÒ»Æ¬ÇøÓò×÷Ϊºǫ́»­Ãæ,³ÌÐò¶ÔËü¸üÐÂ,ÐÞ¸Ä,Íê³Éºó,ÔÙÏÔʾËü.ÕâÑù,±»ÏÔʾµÄͼÏñÓÀÔ¶ÊÇÒѾ­ÍêÈ«»­ºÃµÄͼÏñ,³ÌÐòÐ޸ĵÄÒ²²»ÊÇÕýÔÚ±»ÏÔʾµÄͼÏñ.Ë«»º³å¼¼Êõ¿ÉÒÔÍêÈ«½â¾öͼÏñµÄÉÁ˸ÎÊÌâ.
¶ÁÕß¿ÉÒÔÕâÑùʹÓÃË«»º³å¼¼Êõ:
1.ʹÓà Image ÀàµÄ CreatImage(int weith, int heigh) ´´½¨ºǫ́ͼÏñ.
Èç: Image off_screen_buffer= null;
off_screen_buffer=createImage(400,350);//´´½¨¿íΪ400µã,¸ßΪ300µãµÄͼÏñ.
2.ʹÓà Graphics ÀàµÄgetGraphics()ȡͼÐÎÉ豸»·¾³.
Èç: Graphics off_screen=off_screen_buffer.getGraphics();
3.ÔÚ´ËͼÐÎÉ豸»·¾³ÉÏ»­Í¼,ÕâʱÊÇ»­ÔÚºǫ́ͼÏñÉϵÄ.
Èç: off_screen.drawImage(back_ground,0,0,this);
4.ÏÔʾ.¼ÙÈ統ǰͼÐÎÉ豸»·¾³ÊÇg.
Èç: g.drawImage(off_screen_buffer);
²¢²»¸´ÔÓ,¶Ô²»¶Ô?

ÏÂÃæ¸ø³ö³ÌÐò.ÒÀÈ»ÅäºÏÉÏÃæµÄHTMLÔÚä¯ÀÀÆ÷ÖÐÔËÐÐ.Ϊʹ³ÌÐòÈÝÒ×±»Àí½â,±ÊÕßÒÀÈ»¸ø³öÈ«²¿µÄ³ÌÐòÂë.

import java.awt.*;
import java.applet.*;

public class wumin1 extends Applet
{
carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý.

public void start()
{
if (carton_1==null)//¼ÙÈçδ³õʼ»¯
{
carton_1=new carton(getGraphics(),this);//³õʼ»¯?
carton_1.start();//Æô¶¯?
}
}

public void stop()
{
carton_1.stop();//Í£Ö¹?
carton_1=null;//ÊÍ·Å×ÊÔ´?
}

//¼ü±»°´ÏÂʼþµÄ´¦Àí.
public boolean keyDown(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´ÏÂ
carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´ÏÂ
carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´ÏÂ
carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿true
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´ÏÂ
carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue
return true;
}

//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí.
public boolean keyUp(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª
carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª
carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃfalse
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª
carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃfalse
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª
carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse
return true;
}
}

//¸ñ¸ñËùÊôÀàµÄÃèÊö
class carton extends Thread//´ÓThreadÀàÅÉÉú
{
Graphics g,off_screen=null;//gÊǵ±Ç°µÄͼÐÎÉ豸»·¾³,off_screenÊǺǫ́»º³åÇøÍ¼ÐÎÉ豸»·¾³
boolean up=false,down=false,left=false,right=false;//Ëĸö·½Ïò²¼¶û±äÁ¿
boolean img_now_switch=true;//ͼƬÇл»¿ª¹Ø.
int position_x=200,position_y=150,pos_x,pos_y;//(position_x,position_y)ÊǸñ¸ñµ±Ç°Î»ÖÃ,(pos_x,pos_y)ÊǸղŵÄλÖÃ
int img_now_switch_count=0;//¸ñ¸ñͼƬÇл»¼ÆÊý.µ½Ò»¶¨Öµ¾ÍÇл»
int img_now_switch_count_top=30;//Çл»Öµ.ͼƬÇл»¼ÆÊýµ½´ËÖµ,¾ÍÇл»
Image img_center_close,img_center_open,img_up,img_down,img_left;
Image img_right,img_up_left,img_up_right,img_down_left,img_down_right;//È«²¿µÄͼƬ
Image img_now;//ÏÖÔÚÒªÏÔʾµÄͼƬ(µ±Ç°Í¼Æ¬).Ëü»á¸Ä±äµÄ
Image off_screen_buffer=null;//ºǫ́ͼÐλº³å
Applet applet;

int sleep_time=5;

Color my_color;

//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ
public carton(Graphics a,Applet app)
{
g=a;
applet=app;

//ÏÂÃæ°ÑËùÓÐÒªÓõÄͼƬµ÷Èë
img_center_close=applet.getImage(applet.getCodeBase(),\\"center_close.gif\\");
img_center_open=applet.getImage(applet.getCodeBase(),\\"center_open.gif\\");

img_up=applet.getImage(applet.getCodeBase(),\\"up.gif\\");
img_down=applet.getImage(applet.getCodeBase(),\\"down.gif\\");
img_left=applet.getImage(applet.getCodeBase(),\\"left.gif\\");
img_right=applet.getImage(applet.getCodeBase(),\\"right.gif\\");
img_up_left=applet.getImage(applet.getCodeBase(),\\"up_left.gif\\");
img_up_right=applet.getImage(applet.getCodeBase(),\\"up_right.gif\\");
img_down_left=applet.getImage(applet.getCodeBase(),\\"down_left.gif\\");
img_down_right=applet.getImage(applet.getCodeBase(),\\"down_right.gif\\");

//ÉèÖõ±Ç°Í¼Æ¬
img_now=img_center_open;

//´´½¨ºǫ́»º³åÇø,²¢È¡ÆäͼÐÎÉ豸»·¾³
off_screen_buffer=applet.createImage(400,350);
off_screen=off_screen_buffer.getGraphics();
}

//ÕâÊÇÖ÷ÔËÐк¯Êý.
public void run()
{
while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ
{
set_position();//¼ÆËã¸ñ¸ñµÄ×ø±ê

select_image();//Ñ¡Ôñµ±Ç°Í¼Æ¬

draw_image();//»­¸ñ¸ñ


try//±ê×¼µÄÔÝÍ£·½Ê½
{
sleep(sleep_time);
}
catch(InterruptedException e)
{
}
}
}


//¼ÆËã¸ñ¸ñµÄ×ø±ê
public void set_position()
{
//Ê×Ïȱ£Áôµ±Ç°Î»ÖÃ×ø±êÖµ
pos_x=position_x;
pos_y=position_y;

if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1
position_y--;//С·½¿éÏòÉÏÒÆ¶¯
if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330
position_y++;//С·½¿éÏòÏÂÒÆ¶¯
if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1
position_x--;//С·½¿éÏò×óÒÆ¶¯
if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380
position_x++;//С·½¿éÏòÓÒÒÆ¶¯
}

//»­ÆÁÄ»
public void draw_image()
{

my_color=new Color(179,179,179);
off_screen.setColor(my_color);
off_screen.fillRect(0,0,400,350);//ÔÚºǫ́»­±³¾°

off_screen.drawImage(img_now,position_x,position_y,applet);//ÔÚºǫ́»­¸ñ¸ñ

g.drawImage(off_screen_buffer,0,0,applet);//Ë͵½Ç°¾°ÏÔʾ
}


//Ñ¡ÔñͼƬ
public void select_image()
{
//¼ÙÈç¸ñ¸ñûÓж¯
if(position_x==pos_x && position_y==pos_y)
{
img_now_switch_count++;//Çл»¼ÆÊý¼Ó1
if (img_now_switch_count==img_now_switch_count_top)//¼ÆÊýµ½ÁËÇл»Öµ
{
img_now_switch=!img_now_switch;//Çл»±ê־ȡ·´
img_now_switch_count=0;//Çл»¼ÆÊýÇåÁã
}
//Çл»±ê־Ϊtrue,Ñ¡Ôñimg_center_openÈ¥ÏÔʾ;Ϊfalse,Ñ¡Ôñimg_center_closeÈ¥ÏÔʾ
img_now=(img_now_switch)?img_center_open:img_center_close;
}

if(position_x==pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÉÏ·½
img_now=img_up;//Ñ¡Ôñimg_upÈ¥ÏÔʾ
if(position_x>pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÉÏ·½
img_now=img_up_right;//Ñ¡Ôñimg_up_rightÈ¥ÏÔʾ
if(position_x>pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒ·½
img_now=img_right;//Ñ¡Ôñimg_rightÈ¥ÏÔʾ
if(position_x>pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÏ·½
img_now=img_down_right;//Ñ¡Ôñimg_down_rightÈ¥ÏÔʾ
if(position_x==pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÏ·½
img_now=img_down;//Ñ¡Ôñimg_downÈ¥ÏÔʾ
if(position_x<pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÏ·½
img_now=img_down_left;//Ñ¡Ôñimg_down_leftÈ¥ÏÔʾ
if(position_x<pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×ó·½
img_now=img_left;//Ñ¡Ôñimg_leftÏÔʾ
if(position_x<pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÉÏ·½
img_now=img_up_left;//Ñ¡Ôñimg_up_leftÈ¥ÏÔʾ
}


//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃλ·½·¨
public void set_direction(int direction_)
{
switch(direction_)
{
case(0)://ÏòÉϼü±»°´ÏÂÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue
up=true;
break;
case(1)://Ïòϼü±»°´ÏÂÔòÏòϵIJ¼¶û±äÁ¿true
down=true;
break;
case(2)://Ïò×ó¼ü±»°´ÏÂÔòÏò×óµÄ²¼¶û±äÁ¿true
left=true;
break;
case(3)://ÏòÓÒ¼ü±»°´ÏÂÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue
right=true;
break;
default:
break;
}
}

//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÇåÁã·½·¨
public void clear_direction(int direction_)
{
switch(direction_)
{
case(0)://ÏòÉϼü±»ËÉ¿ªÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
up=false;
break;
case(1)://Ïòϼü±»ËÉ¿ªÔòÏòϵIJ¼¶û±äÁ¿ÖÃfalse
down=false;
break;
case(2)://Ïò×ó¼ü±»ËÉ¿ªÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃfalse
left=false;
break;
case(3)://ÏòÓÒ¼ü±»ËÉ¿ªÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse
right=false;
break;
default:
break;
}
}
}


ËÄ ¸ñ¸ñ»á¿ªÇ¹ÁË
¸ñ¸ñÅÜÀ´ÅÜÈ¥¿ÉÒÔ×öµãÊÂÇéÁË.ÈÃÎÒÃǰÑËýÎä×°ÆðÀ´.ÏÖÔÚËýÓÐÒ»°Ñǹ,¿ÉÒÔÏòÔ˶¯·½ÏòÉè»÷.Óû§Ã¿ËÉ¿ªÒ»´Î¿Õ¸ñ¼ü(²»Êǰ´ÏÂ!²»¹ýÒªÊǶÁÕßÔ¸Òâ,¿ÉÒԸijɰ´ÏÂ:¿ªÇ¹ËÙ¶È»á¿ìºÜ¶à,»ú¹ØÇ¹!),¸ñ¸ñ¿ªÒ»Ç¹.
´¦Àí×Óµ¯ÓеãÂé·³.Ê×ÏȳÌÐòÊÂÏȲ»ÖªµÀ»áÓм¸¿Å×Óµ¯Òª´¦Àí,Æä´Î,¿ÉÄÜÏÈ·¢ÉäµÄ×Óµ¯»¹ÔÚÆÁÄ»ÉÏ,µ«ºó·¢ÉäµÄ¾ÍÒѾ­Ô½³öÆÁÄ»±ß½ç»ò»÷ÖÐÄ¿±ê²»Òª´¦ÀíÁË.
ÓÃÁ´±íËã·¨´¦Àí×Óµ¯µ¹ÊǺܷ½±ã.¿ªÒ»Ç¹,¼ÓÈëÒ»¸ö½Úµã,ÓÐÒ»¸ö×Óµ¯Ô½³öÆÁÄ»±ß½ç,¾Íɾ³ýÏàÓ¦½Úµã.µ«Á´±í±à³ÌËã·¨ÄѶȴó,Ϊʹ³õѧÕßÒ×ÓÚÀí½â,±ÊÕßûÓÐÓÃ.Æäʵ»¹ÓбÈÁ´±í¸üºÃµÄ·½·¨,¼ÙÈçÉè¼ÆÒ»¸ö×Óµ¯Àà,ÿ¸ö×Óµ¯ÊÇÒ»¸öʵÀý,ʵÀýÖÕÖ¹µÄÌõ¼þÊÇ×Óµ¯»÷ÖÐÄ¿±ê»òÔ½³öÆÁÄ»±ß½ç,ÕâÑù¸üºÃ.µ«±ÊÕßµÄÄ¿µÄÊÇÔÚ±¾ÎÄÖо¡Á¿Ìṩ¸ü¶àµÄËã·¨,Òò´ËÏóÏÂÃæÕâÑù´¦Àí:
³ÌÐòÖе±Óû§ËÉ¿ª¿Õ¸ñ¼üºó,ÒªÇó¿ªÇ¹µÄ²¼¶û±äÁ¿ÖÃλ.ËæºóÈç¹û¸ñ¸ñÔÚÒÆ¶¯,¾ÍÏò¼Í¼×Óµ¯×´Ì¬µÄµÄÊý×é¼ÓÈëÒ»¸öÔªËØ(¸ñ¸ñ¾²Ö¹Ê±,³ÌÐò²»ÖªµÀÏòÄĸö·½ÏòÉä»÷,¹Ê²»×¼¿ªÇ¹),¼ÇÏÂÕâ¿Å×Óµ¯µÄ³õʼλÖúͷ½Ïò,ͬʱ×Óµ¯¼ÆÊý¼ÓÒ».
×Óµ¯Ô½³öÆÁÄ»±ß½çºó,ɾ³ý¼Í¼Õâ¿Å×Óµ¯Î»ÖõÄÔªËØ,ͬʱºóÃæµÄÔªËØÏòÇ°ÒÆ¶¯,Ìî²¹¿Õȱ,Òò´Ë¼Í¼×Óµ¯Î»ÖõÄÊý×é×ÜÊÇ\\"Ãܼ¯\\"µÄ.Ëæºó,×Óµ¯¼ÆÊý¼õÒ».
±ÈÈç,Êý×éÖÐÓÐ0,1,2,3,4ºÅÔªËØ,˵Ã÷ÓÐ5¿Å×Óµ¯.µÚ¶þ¿Å(1ºÅ)×Óµ¯Ô½³öÆÁÄ»±ß½çºó,2,3,4ºÅÔªËØ»áÏòÇ°ÒÆ¶¯,Òò´Ë,Êý×é±äΪӵÓÐ0,1,2,3ºÅÔªËØ.ÆäÖÐ0ºÅÔªËØºÍÔ­À´Ò»Ñù,1ºÅÔªËØµÄÄÚÈÝÊÇÔ­À´2ºÅÔªËØµÄÄÚÈÝ,2ºÅÔªËØµÄÄÚÈÝÊÇÔ­À´3ºÅÔªËØµÄÄÚÈÝ,ÒÀ´ËÀàÍÆ.³ÌÐò»áÒÀ´Î´¦Àíÿһ¿Å×Óµ¯,ÿ·¢ÏÖij¿Å×Óµ¯Ô½³öÆÁÄ»±ß½ç»ò»÷ÖÐÄ¿±ê,¾ÍÈ¥µôËü,ͬʱ½«ËüºóÃæµÄ×Óµ¯Êý¾ÝÇ°ÒÆÀ´Ìî²¹Õâ¸ö¿Õȱ.
ÏÂÃæÊÇ×Óµ¯µÄͼÏñºÍеijÌÐòÂë.×Óµ¯Í¼ÏñµÄ·ùÃæÊÇ10 X 10µã.ͬʱÒýÈëÁËÉùÒô.ҪעÒâµÄÊÇ,ÉùÒô±ØÐëÊÇ.au¸ñʽµÄ,ͬʱ,³ÖÐøÊ±¼äÒÔ²»³¬¹ý1ÃëΪºÃ.±³¾°ÒôÀÖ¿ÉÒÔ³¤Ò»Ð©,×Ô¼ºÑ¡.

|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||

×Óµ¯ÏòÉÏͼƬ AlphaͨµÀ ×Óµ¯ÓÒÉÏͼƬ AlphaͨµÀ ×Óµ¯ÏòÓÒͼƬ AlphaͨµÀ ×Óµ¯ÓÒÏÂͼƬ AlphaͨµÀ

bullet_up.gif bullet_up_right.gif bullet_right.gif bullet_down_right.gif


|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||

×Óµ¯ÏòÏÂͼƬ AlphaͨµÀ ×Óµ¯×óÏÂͼƬ AlphaͨµÀ ×Óµ¯Ïò×óͼƬ AlphaͨµÀ ×Óµ¯×óÉÏͼƬ AlphaͨµÀ

bullet_down.gif bullet_down_left.gif bullet_left.gif bullet_up_left.gif

import java.awt.*;
import java.applet.*;

public class wumin1 extends Applet
{
carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý.
AudioClip back_ground_music;//ÉùÃ÷Ò»¸öÉùÒôʵÀý.ÕâÊDZ³¾°ÒôÀÖ

public void init()
{
back_ground_music=getAudioClip(getCodeBase(),\\"spacemusic.au\\");
back_ground_music.loop();//±³¾°ÒôÀÖÑ­»·²¥·Å
}

public void start()
{
if (carton_1==null)//¼ÙÈçδ³õʼ»¯
{
carton_1=new carton(getGraphics(),this);//³õʼ»¯
carton_1.start();//Æô¶¯
}
}

public void stop()
{
carton_1.stop();//Í£Ö¹
carton_1=null;//ÊÍ·Å×ÊÔ´

back_ground_music.stop();//±³¾°ÒôÀÖÍ£Ö¹
}

//¼ü±»°´ÏÂʼþµÄ´¦Àí.
public boolean keyDown(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´ÏÂ
carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´ÏÂ
carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´ÏÂ
carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃtrue
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´ÏÂ
carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue
/*
È¥µôÕâÁ½ÌõÖ¸ÁîÉÏϵÄ×¢Êͱê¼Ç,¸ñ¸ñ¾Í»áÄûú¹ØÇ¹¿ª»ð
if (key==32)
carton_1.fire_wanna_switch(true);//Blank to fire.
*/
return true;
}

//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí.
public boolean keyUp(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª
carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª
carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÇåÖÃfalse
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª
carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÇåÖÃfalse
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª
carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÇåÖÃfalse
if (key==32)//¼ÙÈçÊǿոñ¼ü±»ËÉ¿ªÒªÇó¿ªÇ¹
carton_1.fire_wanna_switch(true);//ÇëÇó¿ªÇ¹.
return true;
}
}

//¸ñ¸ñËùÊôÀàµÄÃèÊö
class carton extends Thread//´ÓThreadÀàÅÉÉú
{
Graphics g,off_screen=null;//gÊǵ±Ç°µÄͼÐÎÉ豸»·¾³,off_screenÊǺǫ́»º³åÇøÍ¼ÐÎÉ豸»·¾³
boolean up=false,down=false,left=false,right=false;//Ëĸö·½Ïò²¼¶û±äÁ¿
boolean img_now_switch=true;//ͼƬÇл»¿ª¹Ø.
boolean fire_wanna=false,fire_proposal=false;//fire_wannaÊÇÒªÇó¿ªÇ¹,Óû§Ã¿´ÎËÉ¿ª¿Õ¸ñ¼ü¾ÍÖÃλ,fire_proposalÊÇ×¼Ðí¿ªÇ¹,¸ñ¸ñÕýÔÚÒÆ¶¯Ê±ÖÃλ
int position_x=200,position_y=150,pos_x,pos_y;//(position_x,position_y)ÊǸñ¸ñµ±Ç°Î»ÖÃ,(pos_x,pos_y)ÊǸղŵÄλַ int img_now_switch_count=0;//¸ñ¸ñͼƬÇл»¼ÆÊý.µ½Ò»¶¨Öµ¾ÍÇл»
int img_now_switch_count_top=30;//Çл»Öµ.ͼƬÇл»¼ÆÊýµ½´ËÖµ,¾ÍÇл»
int i=0,j=0,k=0;//ÕâЩÊdzÌÐòÖмÆËãʱµÄÁÙʱ±äÁ¿
int fire_direction=0;//×Óµ¯·½Ïò.1=ÉÏ,2=ÓÒÉÏ,3=ÓÒ,4=ÓÒÏÂ,5=ÏÂ,6=×óÏÂ,7=×ó,8=×óÉÏ
int bullet_amount=0;//×Óµ¯×ÜÊýÁ¿
int bullet_position[][]=new int[31][3];//È«²¿×Óµ¯ÐÅÏ¢¼Í¼.ÿ¸ö×Óµ¯Õ¼ºáÏòÈý¸öÔªËØ.µÚÒ»¸öÊǺá×ø±ê,µÚ¶þ¸öÊÇ×Ý×ø±ê,µÚÈý¸öÊÇ·½Ïò
Image img_center_close,img_center_open,img_up,img_down,img_left;
Image img_right,img_up_left,img_up_right,img_down_left,img_down_right;//¸ñ¸ñÈ«²¿µÄͼƬ
Image img_now,bullet_now;//ÏÖÔÚÒªÏÔʾµÄ¸ñ¸ñͼƬ(µ±Ç°Í¼Æ¬).Ëü»á¸Ä±äµÄ
Image bullet_up,bullet_up_left,bullet_up_right,bullet_right;
Image bullet_left,bullet_down,bullet_down_left,bullet_down_right;//×Óµ¯µÄÈ«²¿Í¼Æ¬
Image off_screen_buffer=null;//ºǫ́ͼÐλº³å
AudioClip fire_sound;//¿ªÇ¹µÄÉùÒô
Applet applet;//ÔËÐл·¾³

int sleep_time=5;//¸ñ¸ñÐÝÃßʱ¼ä

Color my_color;//ÁÙʱÑÕÉ«

//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ
public carton(Graphics a,Applet app)
{
g=a;//»ñµÃµ±Ç°Í¼ÐÎÉ豸»·¾³
applet=app;//»ñµÃµ±Ç°ÔËÐл·¾³

//ÏÂÃæ°ÑËùÓÐÒªÓõÄͼƬµ÷Èë
img_center_close=applet.getImage(applet.getCodeBase(),\\"center_close.gif\\");
img_center_open=applet.getImage(applet.getCodeBase(),\\"center_open.gif\\");

img_up=applet.getImage(applet.getCodeBase(),\\"up.gif\\");
img_down=applet.getImage(applet.getCodeBase(),\\"down.gif\\");
img_left=applet.getImage(applet.getCodeBase(),\\"left.gif\\");
img_right=applet.getImage(applet.getCodeBase(),\\"right.gif\\");
img_up_left=applet.getImage(applet.getCodeBase(),\\"up_left.gif\\");
img_up_right=applet.getImage(applet.getCodeBase(),\\"up_right.gif\\");
img_down_left=applet.getImage(applet.getCodeBase(),\\"down_left.gif\\");
img_down_right=applet.getImage(applet.getCodeBase(),\\"down_right.gif\\");

bullet_up=applet.getImage(applet.getCodeBase(),\\"bullet_up.gif\\");
bullet_down=applet.getImage(applet.getCodeBase(),\\"bullet_down.gif\\");
bullet_left=applet.getImage(applet.getCodeBase(),\\"bullet_left.gif\\");
bullet_right=applet.getImage(applet.getCodeBase(),\\"bullet_right.gif\\");
bullet_up_left=applet.getImage(applet.getCodeBase(),\\"bullet_up_left.gif\\");
bullet_up_right=applet.getImage(applet.getCodeBase(),\\"bullet_up_right.gif\\");
bullet_down_left=applet.getImage(applet.getCodeBase(),\\"bullet_down_left.gif\\");
bullet_down_right=applet.getImage(applet.getCodeBase(),\\"bullet_down_right.gif\\");

fire_sound=applet.getAudioClip(applet.getCodeBase(),\\"monkey.au\\");//°Ñ¿ªÇ¹µÄÉùÒôµ÷Èë


//ÉèÖõ±Ç°Í¼Æ¬
img_now=img_center_open;

//´´½¨ºǫ́»º³åÇø,²¢È¡ÆäͼÐÎÉ豸»·¾³
off_screen_buffer=applet.createImage(400,350);
off_screen=off_screen_buffer.getGraphics();
}

//ÕâÊÇÖ÷ÔËÐк¯Êý.
public void run()
{
while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ
{
set_position();//¼ÆËã¸ñ¸ñµÄ×ø±ê
select_image();//Ñ¡Ôñµ±Ç°Í¼Æ¬Í¬Ê±É趨×Óµ¯µÄ·ÉÐз½Ïò

bullet_processing();//´¦Àí×Óµ¯

draw_image();//»­Í¼


try//±ê×¼µÄÔÝÍ£·½Ê½
{
sleep(sleep_time);
}
catch(InterruptedException e)
{
}
}
}

//¼ÆËã¸ñ¸ñµÄ×ø±ê public void set_position()
{
//Ê×Ïȱ£Áôµ±Ç°Î»ÖÃ×ø±êÖµ
pos_x=position_x;
pos_y=position_y;

if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1
position_y--;//С·½¿éÏòÉÏÒÆ
if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330
position_y++;//С·½¿éÏòÏÂÒÆ
if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1
position_x--;//С·½¿éÏò×óÒÆ
if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380
position_x++;//С·½¿éÏòÓÒÒÆ?
}

//»­ÆÁÄ»
public void draw_image()
{

my_color=new Color(179,179,179);
off_screen.setColor(my_color);
off_screen.fillRect(0,0,400,350);//ÔÚºǫ́»­±³¾°

off_screen.drawImage(img_now,position_x,position_y,applet);//ÔÚºǫ́»­¸ñ¸ñµÄͼÏñ

draw_bullet();//»­×Óµ¯

g.drawImage(off_screen_buffer,0,0,applet);//Ë͵½Ç°¾°ÏÔʾ
}

//¸ù¾Ý¸ñ¸ñÒÆ¶¯·½ÏòÑ¡ÔñÒªÏÔʾµÄͼƬ²¢¾ö¶¨×Óµ¯·ÉÐз½ÏòµÄ·½·¨
public void select_image()
{
fire_proposal=true;//ĬÈÏ״̬ÊÇ×¼Ðí¿ªÇ¹

if(position_x==pos_x && position_y==pos_y)//¼ÙÈç¸ñ¸ñûÓж¯
{
fire_proposal=false;//²»×¼¿ªÇ¹
fire_direction=0;//·½ÏòΪ0ÊÇÎÞЧֵ

img_now_switch_count++;//¸ñ¸ñͼÏñÇл»¼ÆÊý¼Ó1
if (img_now_switch_count==img_now_switch_count_top)//Çл»¼ÆÊýµ½ÁËÇл»Öµ
{
img_now_switch=!img_now_switch;//Çл»±ê־ȡ·´
img_now_switch_count=0;//Çл»¼ÆÊýÇåÁã
? }
//Çл»±ê־Ϊtrue,Ñ¡Ôñimg_center_openÈ¥ÏÔʾ;Ϊfalse,Ñ¡Ôñimg_center_closeÈ¥ÏÔʾ
img_now=(img_now_switch)?img_center_open:img_center_close;
}
if(position_x==pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÉÏ·½
{
fire_direction=1;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÉÏ
img_now=img_up;//Ñ¡Ôñimg_upÈ¥ÏÔʾ
}
if(position_x>pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÉÏ·½
{
fire_direction=2;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÓÒÉÏ
img_now=img_up_right;//Ñ¡Ôñimg_up_rightÈ¥ÏÔʾ
}
if(position_x>pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒ·½
{
fire_direction=3;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÓÒ
img_now=img_right;//Ñ¡Ôñimg_rightÈ¥ÏÔʾ
}
if(position_x>pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÏ·½
{
fire_direction=4;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÏÂÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÓÒÏÂ
img_now=img_down_right;//Ñ¡Ôñimg_down_rightÈ¥ÏÔʾ
}
if(position_x==pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÏ·½
{
fire_direction=5;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÏÂÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÏÂ
img_now=img_down;//Ñ¡Ôñimg_downÈ¥ÏÔʾ
}
if(position_x<pos_x && position_y>pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÏ·½
{
fire_direction=6;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏò×óÏÂÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏò×óÏÂ
img_now=img_down_left;//Ñ¡Ôñimg_down_leftÈ¥ÏÔʾ
}
if(position_x<pos_x && position_y==pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×ó·½
{
fire_direction=7;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏò×óÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏò×ó
img_now=img_left;//Ñ¡Ôñimg_leftÏÔʾ
}
if(position_x<pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄ×óÉÏ·½
{
fire_direction=8;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏò×óÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏò×óÉÏ
img_now=img_up_left;//Ñ¡Ôñimg_up_leftÈ¥ÏÔʾ
}
}

//ÔÚºǫ́»­×Óµ¯µÄ·½·¨
public void draw_bullet()
{
for (i=1;i<=bullet_amount;i++)//Ò»¸ö¸ö×Óµ¯È¥»­
{
//Ïȸù¾Ý×Óµ¯·ÉÐеķ½Ïò¾ö¶¨Ó¦¸ÃÑ¡ÄĸöͼƬ»­
switch(bullet_position[i][2])//µÚÈý¸öÔªËØ(ϱê2)ÊÇ·½Ïò
{
case 1://ÏòÉÏ
bullet_now=bullet_up;//Ñ¡ÏòÉϵÄͼƬ
break;
case 2://ÏòÓÒÉÏ
bullet_now=bullet_up_right;//Ñ¡ÏòÓÒÉϵÄͼƬ
break;
case 3://ÏòÓÒ
bullet_now=bullet_right;//Ñ¡ÏòÓÒµÄͼƬ
break;
case 4://ÏòÓÒÏÂ
bullet_now=bullet_down_right;//Ñ¡ÏòÓÒϵÄͼƬ
break;
case 5://ÏòÏÂ
bullet_now=bullet_down;//Ñ¡ÏòϵÄͼƬ
break;
case 6://Ïò×óÏÂ
bullet_now=bullet_down_left;//Ñ¡Ïò×óϵÄͼƬ
break;
case 7://Ïò×ó
bullet_now=bullet_left;//Ñ¡Ïò×óµÄͼƬ
break;
case 8://Ïò×óÉÏ
bullet_now=bullet_up_left;//Ñ¡Ïò×óÉϵÄͼƬ
break;
default://ÎÞЧ·½Ïò²»»­
bullet_now=null;
break;
}
//ÔÚºǫ́»º³åÇøÉÏ»­Ò»¸ö×Óµ¯
off_screen.drawImage(bullet_now,bullet_position[i][0],bullet_position[i][1],applet);
}
}

//ÉêÇ뿪ǹµÄ·½·¨
public void fire_wanna_switch(boolean a)
{
fire_wanna=a;
}

//´¦Àí×Óµ¯µÄ·½·¨
public void bullet_processing()
{
//Ôö¼ÓÒ»¿Å×Óµ¯
if (fire_wanna && fire_proposal && bullet_amount<30)//¼ÙÈçÓû§ÒªÇó¿ªÇ¹,²¢ÇÒ¸ñ¸ñÏÖÔÚÔÚÒÆ¶¯¿ÉÒÔ¿ªÇ¹,²¢ÇÒÏÖÐÐ×Óµ¯×ÜÊýСÓÚ30¿Å
{
bullet_amount++;//×Óµ¯×ÜÊý¼Ó1
bullet_position[bullet_amount][2]=fire_direction;//±£´æ×Óµ¯·ÉÐз½Ïò.fire_directionÊÇÔÚselect_image()·½·¨ÖÐËã³öµÄ
fire_wanna=false;//¿ªÇ¹ºó½«¿ªÇ¹ÒªÇóÖÃΪfalse
fire_sound.play();//·¢Éù

//ÏÂÃæ¸ù¾Ý¸ñ¸ñµÄλÖÃÉèÖÃ×Óµ¯µÄ³õÊ¼×ø±ê.ÓмӼõµÄÇé¿öÊÇÒòΪ×Óµ¯Òª´Ó¸ñ¸ñͼƬµÄÖÐÐķɳö,µ«¸ñ¸ñµÄ×ø±êÊǸñ¸ñͼƬ×óÉϽǵÄ×ø±ê,Òò´ËÒª¼ÓÒÔµ÷Õû.¸ù¾Ý×Óµ¯·ÉÐз½ÏòµÄ²»Í¬,µ÷ÕûµÄÖµ²»Í¬
switch (fire_direction)
{
case 1:
bullet_position[bullet_amount][0]=position_x+5;
bullet_position[bullet_amount][1]=position_y;
break;
case 2:
bullet_position[bullet_amount][0]=position_x+10;
bullet_position[bullet_amount][1]=position_y;
break;
case 3:
bullet_position[bullet_amount][0]=position_x+10;
bullet_position[bullet_amount][1]=position_y+5;
break;
case 4:
bullet_position[bullet_amount][0]=position_x+10;
bullet_position[bullet_amount][1]=position_y+10;
break;
case 5:
bullet_position[bullet_amount][0]=position_x+5;
bullet_position[bullet_amount][1]=position_y+10;
break;
case 6:
bullet_position[bullet_amount][0]=position_x;
bullet_position[bullet_amount][1]=position_y+10;
break;
case 7:
bullet_position[bullet_amount][0]=position_x;
bullet_position[bullet_amount][1]=position_y+5;
break;
case 8:
bullet_position[bullet_amount][0]=position_x;
bullet_position[bullet_amount][1]=position_y;
break;
}
}

//ÏÂÃæ¼ÆËã×Óµ¯µÄλÖÃ,Ò»¿ÅÒ»¿Å´¦Àí
for (i=1;i<=bullet_amount;i++)
{
switch(bullet_position[i][2])//¸ù¾Ý·½ÏòÅжÏ×ø±êÔõÑù±ä»¯
{
case 1://±ÈÈçÏòÉÏ
bullet_position[i][0]=bullet_position[i][0];//ºá×ø±ê²»±ä
bullet_position[i][1]=bullet_position[i][1]-6;//×Ý×ø±ê¼õ 6
break;
case 2:
bullet_position[i][0]=bullet_position[i][0]+6;
bullet_position[i][1]=bullet_position[i][1]-6;
break;
case 3:
bullet_position[i][0]=bullet_position[i][0]+6;
bullet_position[i][1]=bullet_position[i][1];
break;
case 4:
bullet_position[i][0]=bullet_position[i][0]+6;
bullet_position[i][1]=bullet_position[i][1]+6;
break;
case 5:
bullet_position[i][0]=bullet_position[i][0];
bullet_position[i][1]=bullet_position[i][1]+6;
break;
case 6:
bullet_position[i][0]=bullet_position[i][0]-6;
bullet_position[i][1]=bullet_position[i][1]+6;
break;
case 7:
bullet_position[i][0]=bullet_position[i][0]-6;
bullet_position[i][1]=bullet_position[i][1];
break;
case 8:
bullet_position[i][0]=bullet_position[i][0]-6;
bullet_position[i][1]=bullet_position[i][1]-6;
break;
default:
break;
}
}

//ÏÂÃæÅжÏÊÇ·ñÓÐij¿Å×Óµ¯·É³öÁËÆÁÄ»±ß½ç,Óеϰ,È¥µôËü,²¢½«ËüºóÃæµÃÊý×éÔªËØÇ°ÒÆ
k=0;// k ÓÃÀ´¼Í¼Óм¸¿Å×Óµ¯·É³öÁËÆÁÄ»±ß½ç
for (i=1;i<=bullet_amount;i++)//Ò»¿ÅÒ»¿Å×Óµ¯È¥´¦Àí
{
//¼ÙÈç×Óµ¯·É³öÁËÆÁÄ»±ß½ç
if (bullet_position[i][0]<-10 || bullet_position[i][0]>400 || bullet_position[i][1]<-10 || bullet_position[i][1]>350)
{
for (j=i+1;j<=bullet_amount;j++)//ËüºóÃæËùÓеÄÔªËØÏòÇ°ÒÆÕ¼¾ÝËüÔÚÊý×éÖеÄλÖÃ
{
bullet_position[j-1][0]=bullet_position[j][0];
bullet_position[j-1][1]=bullet_position[j][1];
bullet_position[j-1][2]=bullet_position[j][2];
}
k++;//·É³öÆÁÄ»±ß½çµÄ×Óµ¯ÊýÁ¿¼Ó1
}
}

bullet_amount=bullet_amount-k;//ÏÖÔÚ×Óµ¯µÄ×ÜÊýÁ¿ÊǸղŵÄÊýÁ¿¼õÈ¥·É³öÆÁÄ»±ß½çµÄ×Óµ¯µÄÊýÁ¿
}


//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÖÃλ·½·¨
public void set_direction(int direction_)
{
switch(direction_)
{
case(0)://ÏòÉϼü±»°´ÏÂÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue
up=true;
break;
case(1)://Ïòϼü±»°´ÏÂÔòÏòϵIJ¼¶û±äÁ¿ÖÃtrue
down=true;
break;
case(2)://Ïò×ó¼ü±»°´ÏÂÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃtrue
left=true;
break;
case(3)://ÏòÓÒ¼ü±»°´ÏÂÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue
right=true;
break;
default:
break;
}
}

//±íʾ¸ñ¸ñÒÆ¶¯·½ÏòµÄ²¼¶û±äÁ¿µÄÇåÁã·½·¨
public void clear_direction(int direction_)
{
switch(direction_)
{
case(0)://ÏòÉϼü±»ËÉ¿ªÔòÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
up=false;
break;
case(1)://Ïòϼü±»ËÉ¿ªÔòÏòϵIJ¼¶û±äÁ¿ÖÃfalse
down=false;
break;
case(2)://Ïò×ó¼ü±»ËÉ¿ªÔòÏò×óµÄ²¼¶û±äÁ¿ÖÃfalse
left=false;
break;
case(3)://ÏòÓÒ¼ü±»ËÉ¿ªÔòÏòÓҵIJ¼¶û±äÁ¿ÖÃfalse
right=false;
break;
default:
break;
}
}
}

Îå ¼ÓÈë»á×·Öð¸ñ¸ñµÄС»µµ°Èøñ¸ñºÍËûÃǶԿ¹.
ÈÃÎÒÃǸøÐ¡»µµ°ÆðÃû×ֽлµÃ¨Ã¨ºÍСó¦Ð·.ÕâÁ½¸öС»µµ°»á×·Öð¸ñ¸ñ.µ±È»,»µÃ¨Ã¨ÅܵĿì,Сó¦Ð·ÅܵÃÂý.ËûÃÇͨ¹ýÅжÏ×Ô¼ººÍ¸ñ¸ñµÄÏà¶ÔλÖþö¶¨×Ô¼ºÏòÄÄÀïÒÆ¶¯.
»µÃ¨Ã¨ºÍСó¦Ð·ÊÇС»µµ°ÀàµÄÁ½¸öʵÀý.ÅܵÄËٶȲ»Í¬Ö»ÊÇÒòΪʵÀý±»³õʼ»¯Ê±É趨µÄÏß³ÌÐÝÃßʱ¼ä²»Í¬.¶ÁÕß¿ÉÒÔ¸ÄÔì±ÊÕ߸ø³öµÄ³ÌÐòÂë,ÔÙ¼ÓÈëÒ»¸öС»µµ°ÊµÀý¿´¿´,ÕâÑù»áÓÐÈý¸öС»µµ°×·Öð¸ñ¸ñ.ÏÖÔÚ¶ÁÕß¿´³öÃæÏò¶ÔÏóµÄÓÅÔ½ÐÔÁËÂð?±ÈÈçÀà¿âÖж¨ÒåÁ˰´Å¥Àà,Äã¿ÉÒÔÔÚ³ÌÐòÖÐÉùÃ÷ÎÞÊý¸öʵÀý,¶àô·½±ã.
¸ñ¸ñµÄ×Óµ¯»÷ÖÐÁ½¸öС»µµ°ºóËûÃÇ»á½ÐÒ»Éù,²¢¶ÌÔÝÍ£Ö¹×·Öð(¶ÁÕß²»·Á¸Ä¸Ä³ÌÐòÈûµÃ¨Ã¨ºÍСó¦Ð·Öе¯ºóÍ£Ö¹µÄʱ¼ä²»Ò»Ñù).¸ñ¸ñ»÷ÖÐÁ˻ᶯµÄС»µµ°Äܵ÷Ö(»÷ÖÐÁ˲»»á¶¯µÄ²»µÃ·Ö),±»×¥×¡ÁËÒª¿Û·Ö.
ÅжÏÕâЩʼþºÜ¼òµ¥.Éú³É°üº¬¸ñ¸ñ,×Óµ¯,С»µµ°Í¼Æ¬µÄ±ß¿ò,ËûÃDZ߿òÏཻ,¾ÍÓÐÊÂÁË.
¿ÉÒÔÕâÑùÉú³ÉÁ½¸ö±ß¿ò²¢ÅжÏÊÇ·ñÏཻ:
Rectangle rectangle_1=null, rectangle_2=null;
rectangle_1=new Rectangle(10,15,20,25);//Éú³ÉÒ»¸ö×óÉϽÇ×ø±êΪ(10,15),¿íΪ20,¸ßΪ25µÄ±ß¿ò.
rectangle_1=new Rectangle(20,25,30,35);//Éú³ÉÒ»¸ö×óÉϽÇ×ø±êΪ(20,25),¿íΪ30,¸ßΪ35µÄ±ß¿ò.
if(rectangle_1.intersects(rectangle_2))//Á½¸ö±ß¿òÏཻÂð?
{
//ÏàÓ¦³ÌÐòÂë
}
С»µµ°±»»÷Öкó,±íʾËûÍ£Ö¹×·ÖðµÄ²¼¶ûÁ¿ÖÃΪtrue,ͬʱֹͣʱ¼ä¼ÆÊý¿ªÊ¼µÝ¼õ.Ò»µ©¼ÆÊýСÓÚ0,±íʾÔÝͣʱ¼äµ½,±íʾֹͣ׷ÖðµÄ²¼¶ûÁ¿ÖÃΪfalse,С»µµ°ÓÖ¿ªÊ¼×·Öð.
ÏÂÃæÊÇÁ½¸öС»µµ°µÄͼÏñ.·ùÃæÊÇ40 X 40µã.ËûÃǸ÷ÓÐÁ½·ùͼÏñ½»ÌæÏÔʾÒÔÐγɶ¯»­Ð§¹û.

|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||
|||||||| ||||||| ||||||| ||||||| ||||||| ||||||| ||||||| |||||||

»µÃ¨Ã¨Í¼Æ¬1 AlphaͨµÀ »µÃ¨Ã¨Í¼Æ¬2 AlphaͨµÀ Сó¦Ð·Í¼Æ¬1 AlphaͨµÀ Сó¦Ð·Í¼Æ¬2 AlphaͨµÀ

xia_1.gif xia_2.gif hu_1.gif hu_2.gif


ÏÂÃæÊÇ×îÖյijÌÐòÂë.

import java.awt.*;
import java.applet.*;

public class wumin1 extends Applet
{
carton carton_1=null;//ÉùÃ÷Ò»¸öcartonÀàµÄʵÀý.
AudioClip back_ground_music;//ÉùÃ÷Ò»¸öÉùÒôʵÀý.ÕâÊDZ³¾°ÒôÀÖ
bad_egg bad_egg_1=null,bad_egg_2=null;

public void init()
{
back_ground_music=getAudioClip(getCodeBase(),\\"spacemusic.au\\");
back_ground_music.loop();//±³¾°ÒôÀÖÑ­»·²¥·Å
}

public void start()
{
if (carton_1==null)//¼ÙÈç¸ñ¸ñδ³õʼ»¯
{
carton_1=new carton(getGraphics(),this);//³õʼ»¯
carton_1.start();//¸ñ¸ñÆô¶¯
}
if (bad_egg_1==null)
{
//С»µµ°µÄ¹¹Ô캯Êý²ÎÊý´ÓǰÏòºó,ÒÀ´ÎΪ:µ±Ç°ÊµÀý,µ±Ç°Í¼ÐÎÉ豸»·¾³,С
//»µµ°µÄsleep()ÔÝÍ£·½·¨µÄÔÝͣʱ¼ä,С»µµ°µÄͼƬÃû,
//С»µµ°µÄ³õʼλÖõÄXºÍY×ø±ê,¸ñ¸ñ,С»µµ°±àºÅ.
bad_egg_1=new bad_egg(this,getGraphics(),30,\\"hu\\",350,300,carton_1,1);
bad_egg_1.start();
}

if (bad_egg_2==null)
{
bad_egg_2=new bad_egg(this,getGraphics(),50,\\"xia\\",350,30,carton_1,2);
bad_egg_2.start();
}

}

public void stop()
{
carton_1.stop();//Í£Ö¹
carton_1=null;//ÊÍ·Å×ÊÔ´

bad_egg_1.stop();//С»µµ°1Í£Ö¹
bad_egg_1=null; //ÊÍ·Å×ÊÔ´

bad_egg_2.stop();//С»µµ°2Í£Ö¹
bad_egg_2=null; //ÊÍ·Å×ÊÔ´

back_ground_music.stop();//±³¾°ÒôÀÖÍ£Ö¹
}

//¼ü±»°´ÏÂʼþµÄ´¦Àí.
public boolean keyDown(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»°´ÏÂ
carton_1.set_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»°´ÏÂ
carton_1.set_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÖÃtrue
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»°´ÏÂ
carton_1.set_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÖÃtrue
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»°´ÏÂ
carton_1.set_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÖÃtrue
/*
È¥µôÕâÁ½ÌõÖ¸ÁîÉÏϵÄ×¢Êͱê¼Ç,¸ñ¸ñ¾Í»áÄûú¹ØÇ¹¿ª»ð
if (key==32)
carton_1.fire_wanna_switch(true);//Blank to fire.
*/
return true;
}

//¼ü±»ËÉ¿ªÊ¼þµÄ´¦Àí.
public boolean keyUp(Event e,int key)
{
if (key==Event.UP)//¼ÙÈçÊÇÏòÉϼü±»ËÉ¿ª
carton_1.clear_direction(0);//ÏòÉϵIJ¼¶û±äÁ¿ÖÃfalse
if (key==Event.DOWN)//¼ÙÈçÊÇÏòϼü±»ËÉ¿ª
carton_1.clear_direction(1);//ÏòϵIJ¼¶û±äÁ¿ÇåÖÃfalse
if (key==Event.LEFT)//¼ÙÈçÊÇÏò×ó¼ü±»ËÉ¿ª
carton_1.clear_direction(2);//Ïò×óµÄ²¼¶û±äÁ¿ÇåÖÃfalse
if (key==Event.RIGHT)//¼ÙÈçÊÇÏòÓÒ¼ü±»ËÉ¿ª
carton_1.clear_direction(3);//ÏòÓҵIJ¼¶û±äÁ¿ÇåÖÃfalse
if (key==32)//¼ÙÈçÊǿոñ¼ü±»ËÉ¿ªÒªÇó¿ªÇ¹
carton_1.fire_wanna_switch(true);//ÇëÇó¿ªÇ¹.
return true;
}
}

//¸ñ¸ñËùÊôÀàµÄÃèÊö
class carton extends Thread//´ÓThreadÀàÅÉÉú
{
Graphics g,off_screen=null;//gÊǵ±Ç°µÄͼÐÎÉ豸»·¾³,off_screenÊǺǫ́»º³åÇøÍ¼ÐÎÉ豸»·¾³
boolean up=false,down=false,left=false,right=false;//Ëĸö·½Ïò²¼¶û±äÁ¿
boolean img_now_switch=true;//ͼƬÇл»¿ª¹Ø.
boolean fire_wanna=false,fire_proposal=false;//fire_wannaÊÇÒªÇó¿ªÇ¹,Óû§Ã¿´ÎËÉ¿ª¿Õ¸ñ¼ü¾ÍÖÃλ,fire_proposalÊÇ×¼Ðí¿ªÇ¹,¸ñ¸ñÕýÔÚÒÆ¶¯Ê±ÖÃλ
int position_x=200,position_y=150,pos_x,pos_y;//(position_x,position_y)ÊǸñ¸ñµ±Ç°Î»ÖÃ,(pos_x,pos_y)ÊǸղŵÄλַ
int img_now_switch_count=0;//¸ñ¸ñͼƬÇл»¼ÆÊý.µ½Ò»¶¨Öµ¾ÍÇл»
int img_now_switch_count_top=30;//Çл»Öµ.ͼƬÇл»¼ÆÊýµ½´ËÖµ,¾ÍÇл»
int i=0,j=0,k=0;//ÕâЩÊdzÌÐòÖмÆËãʱµÄÁÙʱ±äÁ¿
int fire_direction=0;//×Óµ¯·½Ïò.1=ÉÏ,2=ÓÒÉÏ,3=ÓÒ,4=ÓÒÏÂ,5=ÏÂ,6=×óÏÂ,7=×ó,8=×óÉÏ
int bullet_amount=0;//×Óµ¯×ÜÊýÁ¿
int bullet_position[][]=new int[31][3];//È«²¿×Óµ¯ÐÅÏ¢¼Í¼.ÿ¸ö×Óµ¯Õ¼ºáÏòÈý¸öÔªËØ.µÚÒ»¸öÊǺá×ø±ê,µÚ¶þ¸öÊÇ×Ý×ø±ê,µÚÈý¸öÊÇ·½Ïò
Image img_center_close,img_center_open,img_up,img_down,img_left;
Image img_right,img_up_left,img_up_right,img_down_left,img_down_right;//¸ñ¸ñÈ«²¿µÄͼƬ
Image img_now,bullet_now;//ÏÖÔÚÒªÏÔʾµÄ¸ñ¸ñͼƬ(µ±Ç°Í¼Æ¬).Ëü»á¸Ä±äµÄ
Image bullet_up,bullet_up_left,bullet_up_right,bullet_right;
Image bullet_left,bullet_down,bullet_down_left,bullet_down_right;//×Óµ¯µÄÈ«²¿Í¼Æ¬
Image off_screen_buffer=null;//ºǫ́ͼÐλº³å
AudioClip fire_sound;//¿ªÇ¹µÄÉùÒô
AudioClip cought_by_hu,cought_by_xia,hit_hu,hit_xia;//¸ñ¸ñ±»Ð¡»µµ°×¥×¡µÄÉùÒôºÍ×Óµ¯»÷ÖÐС»µµ°µÄÉùÒô

Applet applet;//ÔËÐл·¾³

int sleep_time=5;//¸ñ¸ñÐÝÃßʱ¼ä

int score=0;//»ý·Ö

String score_s;

Image bad_egg[]= new Image[2];//С»µµ°µÄͼƬ
int bad_egg_position_x[]=new int[2];//С»µµ°µÄ×ø±ê
int bad_egg_position_y[]=new int[2];

boolean bad_egg_stop[]=new boolean[2];//С»µµ°±»×Óµ¯»÷Öкó´Î±äÁ¿Îªtrue
int bad_egg_freeze[]=new int[2];//С»µµ°±»×Óµ¯»÷ÖкóµÄÔÝͣʱ¼ä¼ÆÊý

Rectangle bad_egg_1=null,bad_egg_2=null,bad_egg_bullet=null;//ÓÃÀ´ÅжÏС»µµ°Î»Öü°Ð¡»µµ°ÊÇ·ñ±»×Óµ¯»÷Öеķ½¿ò



Color my_color;//ÁÙʱÑÕÉ«

//³õʼ»¯Ê±Òª½«¸÷ÖÖ»·¾³×¼±¸ºÃ
public carton(Graphics a,Applet app)
{
g=a;//»ñµÃµ±Ç°Í¼ÐÎÉ豸»·¾³
applet=app;//»ñµÃµ±Ç°ÔËÐл·¾³

//ÏÂÃæ°ÑËùÓÐÒªÓõÄͼƬµ÷Èë
img_center_close=applet.getImage(applet.getCodeBase(),\\"center_close.gif\\");
img_center_open=applet.getImage(applet.getCodeBase(),\\"center_open.gif\\");

img_up=applet.getImage(applet.getCodeBase(),\\"up.gif\\");
img_down=applet.getImage(applet.getCodeBase(),\\"down.gif\\");
img_left=applet.getImage(applet.getCodeBase(),\\"left.gif\\");
img_right=applet.getImage(applet.getCodeBase(),\\"right.gif\\");
img_up_left=applet.getImage(applet.getCodeBase(),\\"up_left.gif\\");
img_up_right=applet.getImage(applet.getCodeBase(),\\"up_right.gif\\");
img_down_left=applet.getImage(applet.getCodeBase(),\\"down_left.gif\\");
img_down_right=applet.getImage(applet.getCodeBase(),\\"down_right.gif\\");

bullet_up=applet.getImage(applet.getCodeBase(),\\"bullet_up.gif\\");
bullet_down=applet.getImage(applet.getCodeBase(),\\"bullet_down.gif\\");
bullet_left=applet.getImage(applet.getCodeBase(),\\"bullet_left.gif\\");
bullet_right=applet.getImage(applet.getCodeBase(),\\"bullet_right.gif\\");
bullet_up_left=applet.getImage(applet.getCodeBase(),\\"bullet_up_left.gif\\");
bullet_up_right=applet.getImage(applet.getCodeBase(),\\"bullet_up_right.gif\\");
bullet_down_left=applet.getImage(applet.getCodeBase(),\\"bullet_down_left.gif\\");
bullet_down_right=applet.getImage(applet.getCodeBase(),\\"bullet_down_right.gif\\");

fire_sound=applet.getAudioClip(applet.getCodeBase(),\\"monkey.au\\");//°Ñ¿ªÇ¹µÄÉùÒôµ÷Èë

cought_by_hu=applet.getAudioClip(applet.getCodeBase(),\\"bong.au\\");
cought_by_xia=applet.getAudioClip(applet.getCodeBase(),\\"bubble1.au\\");
hit_hu=applet.getAudioClip(applet.getCodeBase(),\\"ah.au\\");
hit_xia=applet.getAudioClip(applet.getCodeBase(),\\"ooh.au\\");

//ÉèÖõ±Ç°Í¼Æ¬
img_now=img_center_open;

//´´½¨ºǫ́»º³åÇø,²¢È¡ÆäͼÐÎÉ豸»·¾³
off_screen_buffer=applet.createImage(400,350);
off_screen=off_screen_buffer.getGraphics();

//³õʼ»¯Ð¡»µµ°µÄ¸÷ÖÖ²ÎÊý
bad_egg[0]=null;
bad_egg[1]=null;

bad_egg_position_x[0]=0;
bad_egg_position_x[1]=0;
bad_egg_position_y[0]=0;
bad_egg_position_y[1]=0;

bad_egg_stop[0]=false;
bad_egg_stop[1]=false;

bad_egg_freeze[0]=80;
bad_egg_freeze[1]=80;
}

//ÕâÊÇÖ÷ÔËÐк¯Êý.
public void run()
{
while(true)//´Ëº¯ÊýÒ»Ö±ÔËÐÐ
{
set_position();//¼ÆËã¸ñ¸ñµÄ×ø±ê

select_image();//Ñ¡Ôñµ±Ç°Í¼Æ¬Í¬Ê±É趨×Óµ¯µÄ·ÉÐз½Ïò

bullet_processing();//´¦Àí×Óµ¯

draw_image();//»­Í¼

bad_egg_sleep();//С»µµ°Í£Ö¹×·Öð¸ñ¸ñµÄ´¦Àí

draw_score();//ÏÔʾ»ý·Ö

try//±ê×¼µÄÔÝÍ£·½Ê½
{
sleep(sleep_time);
}
catch(InterruptedException e)
{
}
}
}

//С»µµ°Í£Ö¹×·Öð¸ñ¸ñµÄ´¦Àí
public void bad_egg_sleep()
{
//ÏÂÃæµÄÑ­»·´¦ÀíС»µÖе¯ºóÍ£Ö¹×·Öð.¶ÁÕß¿ÉÒÔ°ÑËü·Ö½âΪÁ½¸öµ¥¶ÀµÄÅжÏ,ÕâÑùÁ½¸öС»µµ°Öе¯ºó¿ÉÒÔÍ£Ö¹²»Í¬µÄʱ¼ä.
for (i=0;i<2;i++)//Á½¸öС»µµ°¶¼Òª´¦Àí
{
if(bad_egg_freeze[i]>0 && bad_egg_stop[i])//¼ÙÈçС»µµ°ÏÖÔÚÒÑÍ£Ö¹×·Öð²¢ÇÒֹͣʱ¼ä¼ÆÊý´óÓÚ0
bad_egg_freeze[i]--;//¼ÆÊý¼õ1
if(bad_egg_freeze[i]<1)//Í£Ö¹×·Öðʱ¼ä¼ÆÊýСÓÚ1
{
bad_egg_stop[i]=false;//С»µµ°Í£Ö¹×·Öð±ê־Ϊfalse,ÓÖ¿ªÊ¼×·Öð
bad_egg_freeze[i]=80;//Í£Ö¹¼ÆÊý»Ö¸´³õÖµ
}
}
}

//ÏÔʾ»ý·ÖµÄ·½·¨
public void draw_score()
{
my_color=new Color(192,192,192);
g.setColor(my_color);
g.fillRect(150,350,100,10);//°ÑÏÔʾ·ÖÊýµÄµØ·½ÓÃÌî³ä¾ØÐεķ½·¨Çå¿Õ

my_color=new Color(0,0,0);
g.setColor(my_color);
if (score>100000)
score=100000;//ÉèÒ»¸ö»ý·ÖÉÏÏÞ
score_s=String.valueOf(score);//½«ÕûÊýÐ͵Ļý·Öת»»Îª×Ö·û´®
g.drawString(\\"Your year end bonus is: $ \\"+score_s,0,360);//ÏÔʾ
}


//¼ÆËã¸ñ¸ñµÄ×ø±ê
public void set_position()
{
//Ê×Ïȱ£Áôµ±Ç°Î»ÖÃ×ø±êÖµ
pos_x=position_x;
pos_y=position_y;

if(up==true && position_y>1)//¼ÙÈçÏòÉϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±ê´óÓÚ1
position_y--;//С·½¿éÏòÉÏÒÆ
if(down==true && position_y<330)//¼ÙÈçÏòϵļü±»°´Ï²¢ÇÒС·½¿éµÄ×Ý×ø±êСÓÚ330
position_y++;//С·½¿éÏòÏÂÒÆ¶¯
if(left==true && position_x>1)//¼ÙÈçÏò×óµÄ¼ü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±ê´óÓÚ1
position_x--;//С·½¿éÏò×óÒÆ¶¯
if(right==true && position_x<380)//¼ÙÈçÏòÓҵļü±»°´Ï²¢ÇÒС·½¿éµÄºá×ø±êСÓÚ380
position_x++;//С·½¿éÏòÓÒÒÆ

bad_egg_bullet=new Rectangle(position_x,position_y,15,15);//Õâ¸ö¾ØÐÎÊǸñ¸ñµÄ±ß¿ò
//ÏÂÃæÊÇÁ½¸öС»µµ°µÄ±ß¿ò
bad_egg_1=new Rectangle(bad_egg_position_x[0],bad_egg_position_y[0],30,30);
bad_egg_2=new Rectangle(bad_egg_position_x[1],bad_egg_position_y[1],30,30);

if(bad_egg_1.intersects(bad_egg_bullet))//¼ÙÈç¸ñ¸ñµÄ±ß¿òºÍС»µµ°1µÄ±ß¿òÏཻ
{
score=score-20;//¸ñ¸ñ±»Ð¡»µµ°1ץסÁË.»ý·Ö¼õ 20
cought_by_hu.play();//·¢³ö¸ñ¸ñ±»Ð¡»µµ°1ץסµÄÉùÒô
}
if(bad_egg_2.intersects(bad_egg_bullet))
{
score=score-50;//¸ñ¸ñ±»Ð¡»µµ°2ץסÁË.»ý·Ö¼õ 50
cought_by_xia.play();//·¢³ö¸ñ¸ñ±»Ð¡»µµ°2ץסµÄÉùÒô
}
}

//»­ÆÁÄ»
public void draw_image()
{
my_color=new Color(179,179,179);
off_screen.setColor(my_color);
off_screen.fillRect(0,0,400,350);//ÔÚºǫ́»­±³¾°

off_screen.drawImage(img_now,position_x,position_y,applet);//ÔÚºǫ́»­¸ñ¸ñµÄͼÏñ

draw_bullet();//»­×Óµ¯

//ÔÚºǫ́»­Á½¸öС»µµ°
off_screen.drawImage(bad_egg[0],bad_egg_position_x[0],bad_egg_position_y[0],applet);
off_screen.drawImage(bad_egg[1],bad_egg_position_x[1],bad_egg_position_y[1],applet);

g.drawImage(off_screen_buffer,0,0,applet);//Ë͵½Ç°¾°ÏÔʾ
}

//¸ù¾Ý¸ñ¸ñÒÆ¶¯·½ÏòÑ¡ÔñÒªÏÔʾµÄͼƬ²¢¾ö¶¨×Óµ¯·ÉÐз½ÏòµÄ·½·¨
public void select_image()
{
fire_proposal=true;//ĬÈÏ״̬ÊÇ×¼Ðí¿ªÇ¹

if(position_x==pos_x && position_y==pos_y)//¼ÙÈç¸ñ¸ñûÓж¯
{
fire_proposal=false;//²»×¼¿ªÇ¹
fire_direction=0;//·½ÏòΪ0ÊÇÎÞЧֵ

img_now_switch_count++;//¸ñ¸ñͼÏñÇл»¼ÆÊý¼Ó1
if (img_now_switch_count==img_now_switch_count_top)//Çл»¼ÆÊýµ½ÁËÇл»Öµ
{
img_now_switch=!img_now_switch;//Çл»±ê־ȡ·´
img_now_switch_count=0;//Çл»¼ÆÊýÇåÁã
}
//Çл»±ê־Ϊtrue,Ñ¡Ôñimg_center_openÈ¥ÏÔʾ;Ϊfalse,Ñ¡Ôñimg_center_closeÈ¥ÏÔʾ
img_now=(img_now_switch)?img_center_open:img_center_close;
}
if(position_x==pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÉÏ·½
{
fire_direction=1;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÉÏÒÆ¶¯,Èç¹û¿ªÇ¹,×Óµ¯·½ÏòÏòÉÏ
img_now=img_up;//Ñ¡Ôñimg_upÈ¥ÏÔʾ
}
if(position_x>pos_x && position_y<pos_y)//¸ñ¸ñÏÖÔÚµÄλÖÃÔÚ¸Õ²ÅλÖõÄÓÒÉÏ·½
{
fire_direction=2;//ÏÖÔÚ¸ñ¸ñÊÇÔÚÏòÓÒÉÏÒ
¡¾¡¿¡¾http://www.trainlinux.com¡¿¡¾Close¡¿
¡ºÏà¹Ø×ÊÁÏ¡»
¡ñ dzÎöJ2EEÓë.NETƽ̨ÓÅÁÓ (2002-08-21 22:00)
¡ñ JavaÓïÑÔ±à³ÌÖиüÐÂXMLÎĵµµÄ³£Ó÷½·¨ (2002-08-21 21:59)
¡ñ ÖÆ×÷¿ÉÖ´ÐÐJAR (2002-08-20 21:59)
¡ñ JFormattedTextFieldºÍ¸ñʽ»¯ÊäÈë (2002-08-20 21:59)
Home 

³Ï¶÷LinuxÅàѵ¹¤×÷ÊÒ