splash.java

来自「Java语言写的水波模拟算法 Java源代码」· Java 代码 · 共 60 行

JAVA
60
字号
import java.awt.*; 
import java.applet.Applet; 

public class Splash extends Applet implements Runnable{ 
int XMAX=112; 
float[] m_Height=new float[XMAX]; 
float[] m_G=new float[XMAX]; 
float b=1.01f; 
float fWeight=3; 
private Thread m_NAMI2D=null; 
public boolean mouseDown(Event event,int i,int j){ 
m_Height[i/4-1]+=j/2; 
m_Height[i/4]+=j; 
m_Height[i/4+1]+=j/2; 
return false; 
} 
public void paint(Graphics g){ 
g.setColor(Color.blue); 
float f1=3F*fWeight; 
float f2=f1-2.0F; 
m_Height[0]=m_Height[1]; 
m_Height[XMAX-1]=m_Height[XMAX-2]; 
float f=m_Height[0]; 
for(int i=1;i<XMAX-1;i++){ 
float f3=((f+f2*m_Height[i]+m_Height[i+1])/f1+m_G[i])/b; 
f=m_Height[i]; 
m_G[i]=f3-f; 
m_Height[i]=f3; 
g.clearRect((i-1)*4,(int)f3-30,4,60); 
g.fillRect((i-1)*4,(int)f3+30,4,60); 
} 
} 
public void run(){ 
do 
try{ 
repaint(); 
Thread.sleep(50L); 
} 
catch(InterruptedException _ex){ 
stop(); 
} 
while(true); 
} 
public void start(){ 
if(m_NAMI2D==null){ 
m_NAMI2D=new Thread(this); 
m_NAMI2D.start(); 
} 
} 
public void stop(){ 
if(m_NAMI2D!=null){ 
m_NAMI2D.stop(); 
m_NAMI2D=null; 
} 
} 
public void update(Graphics g){ 
paint(g); 
} 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?