// nzealand.java // trade controlled growth in New Zealand // adapted from a program in basic by H.T. Odum & E. Odum, 1994 import java.applet.Applet; import java.awt.*; public class nzealand extends Applet { Label prompt1,prompt2; TextField input1,input2; double s,f; int t; double n,a,j,jn,rp,i; double k0,k1,k2,k3,k4,k5,k6,k7,k8,k9; double x1,x2,x3,x4,x5; double t0,n0,s0,a0,f0,df,dn,da,ds,dt; Button drawbutton; public void init() { prompt1 = new Label("F Fuel reserve: "); input1 = new TextField("25000",7); add(prompt1);add(input1); prompt2 = new Label(" S Stock (sheep and cattle): "); input2 = new TextField("1",7); add(prompt2);add(input2); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { f=(float)Integer.parseInt(input1.getText()); s=(float)Integer.parseInt(input2.getText()); repaint(); return true; } public void paint(Graphics g) { g.drawRect(0,90,320,210); n=50; a=10; j=1.1; jn=1; rp=0; k0=0.5; k1=1.5; k2=0.15; k3=0.05; k4=1.4; k5=0.0109; k6=0; k7=0.00001; k8=0.006; k9=0.02; x1=0.0132; x2=0.00013; x3=0.00255; x4=48; x5=0; t0=1.5; n0=1; s0=2; a0=0.002; f0=0.00625; dt=1; t=0; do { g.setColor(Color.blue); g.drawOval(t,(int)(300-n*n0),1,1); g.setColor(Color.green); g.drawOval(t,(int)(300-s*s0),1,1); g.setColor(Color.red); g.drawOval(t,(int)(300-a*a0),1,1); g.setColor(Color.yellow); g.drawOval(t,(int)(300-f*f0),1,1); i=j/(1+k0*n); df=-x5*f; dn=jn-k3*n-k4*n*i+x2*a; ds=k1*i*n-k2*s-k6*s-k7*s*a; da=x5*f+(x4*s+x3*a)*rp+k8*s*a-k9*a-k5*a-x1*a-x3*a; a=a+da*dt; if (a<1) a=1; n=n+dn*dt; if (n<0) n=0; s=s+ds*dt; if (f<0) f=0; t=t+1; if (t>60) rp=7; x4=32; k6=0.6; if (t>120) rp=2-0.03*(t-120); x5=x5+0.0001; } while(t<=320); } } // Camila Duarte & E. Ortega, January 30h, 2001