Banker - ellenvoegtli/simcity GitHub Wiki

###Data: //shared list of accounts between all tellers and bankers List accounts; String name; myClient mc; BankAccount{ String name; int creditScore ; double balance; double debt; double accountNumber; } myClient{ BankCustomer bc; int amount; ClientState{wantsLoan, wantsAccount} }

###Messages: msgIWantALoan( BankCustomer bc, int amount){

	mc.bc=bc;
	mc.amount=amount;
}

msgIWantNewAccount(BankCustomer bc, amount){
	mc.bc=bc;
	mc.amount = amount;
}

###Scheduler: if myClient!=null{ if(mc.ClientState=wantsAccount){ createAccount(mc); }

	if(mc.ClientState=wantsLoan){
		processLoan(mc);
	}
	
}

###Actions: createAccount(myClient mc){ double tempnumber; //generate random number of appropriate length accounts.add(new BankAccount)); mc.bc.msgAccountCreated( tempnumber); mc.bc.msgRequestComplete(mc.amount*-1, mc.amount );

}

processLoan(mc){
	for (BankAccount ba: accounts){
		if(ba.accountNumber=mc.bc.accountNumber){
			if(ba.creditScore>700){
				ba.debt+=mc.amount;
				mc.bc.msgLoanApproved(mc.amount);
			}
		if(ba.creditScore>700){
				mc.bc.msgLoanDenied(mc.amount);
			}
		}
	}	
}