// moneygro.java // money driven growth // adapted from a program in basic by H.T. Odum & E. Odum, 1994 import java.applet.Applet; import java.awt.*; public class moneygro extends Applet { Label prompt1,prompt2,prompt3; TextField input1,input2,input3; double a,k2,E; Button drawbutton; public void init() { prompt1 = new Label("A Economic assets: "); input1 = new TextField("2",4); add(prompt1);add(input1); prompt2 = new Label("K2 Depreciation rate: "); input2 = new TextField("20",4); add(prompt2);add(input2); prompt3 = new Label("E Availability of resources: "); input3 = new TextField("1",4); add(prompt3);add(input3); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { a=0.1*(float)Integer.parseInt(input1.getText()); k2=0.001*(float)Integer.parseInt(input2.getText()); E=(float)Integer.parseInt(input3.getText()); repaint(); return true; } public void paint(Graphics g) { g.drawRect(0,90,320,210); int t; double k0,k1,m; double m0,a0,t0; double da,dt; t=0; k0=3.7; k1=0.0133; m=0; m0=100; a0=1; t0=0.5; da=0; dt=1; do { g.setColor(Color.blue); if (300-a*a0>90) g.drawOval(t,(int)(300-a*a0),1,1); else g.drawOval(t,90,1,1); g.setColor(Color.red); if (300-m*m0>90) g.drawOval(t,(int)(300-m*m0),1,1); else g.drawOval(t,90,1,1); m=k1*a; da=k0*E*m-k2*a; a=a+da*dt; t=t+1; } while (t<320); } } // Camila Duarte & E. Ortega, January 30th, 2001