//Peter Le //Period 2 //Computer Systems Research //First Quarter Simulation Program (Cycle and output) import java.util.*; import java.io.*; public class Test { static int MONTHS = 48; static Citizen[] population; public static void main(String[] args) throws IOException { //read in data for different kinds of classes BufferedReader citizenReader = new BufferedReader(new FileReader("citizen.txt")); BufferedReader resourceReader = new BufferedReader(new FileReader("resourcepool.txt")); BufferedReader govtReader = new BufferedReader(new FileReader("govt.txt")); PrintStream p = new PrintStream(new FileOutputStream("results.txt")); //include resourcepool and govt # in output PrintStream goutput = new PrintStream(new FileOutputStream("govtracker.txt")); //track wealth over time PrintStream coutput = new PrintStream(new FileOutputStream("cittracker.txt")); //ditto //Create population int n = Integer.parseInt(citizenReader.readLine()); Citizen[] people = new Citizen[n]; for(int i = 0; i100.0) p1.happy(100.0); if(p1.getHealth()>100.0) p1.health(100.0); double assessW; //System.out.println(oldwealth + " " + p1.getWealth()); assessW = assessWealth(oldwealth, p1.getWealth(), p1.judgeWealth()); //wealth ratio p1.rateW(assessW); System.out.println(assessW); p1.happy((assessW+p1.getHealth())/2); //messed up rating += p1.getApproval(); //messed up cwealth[ccount] += p1.getWealth(); } //pay and interact then update govt standing and output + resources /*********************************************************************************/ //System.out.println(pools[rp].getResources()); rating /= people2.length; //average of approvals = approval rating g1.changeApproval(rating); //Start government cycle double w; w = assessWealth(oldemoney,g1.getWealth(),g1.judgeWealth()); g1.rateW(w); g1.happy((w+g1.getHealth()+g1.approvalRating())/3); //"[resource] [govt] [rating]" output[gv] = (rp + " " + gv + " " + g1.getHappiness()); //update approval each time gcount++; gwealth[gcount] = g1.getWealth(); //track gwealth } printOut(output, p); //print output printOutGovtCycle(goutput, gv, rp, gwealth); printOutCitizenCycle(coutput, gv, rp, cwealth); } public static void printOut(String[] s, PrintStream printer) { printer.println(s.length); for(int x = 0;x1) measureW = measureW*(WA); else measureW = -measureW*(WA); return measureW; } }