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);
}
}
}
}