BankTeller - 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{withdrawing, depositing} } ###Messages: msgIWantToDeposit( BankCustomer bc, int amount){ mc.bc=bc; mc.amount=amount; }

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

###Scheduler: if myClient!=null{ if(mc.ClientState=depositing){ doDeposit(mc); } if(mc.ClientState=withdrawing){ doWithdraw(mc); }

###Actions: doDeposit(mc){ for (BankAccount ba: accounts) if(ba.accountNumber=mc.bc.accountNumber){ //somehow reduce customer's current cash ba.balance+=mc.amount; mc.ba.msgRequestComplete(mc.amount*-1, ba.balance); myClient=null; } }

doWithdraw(mc){
for (BankAccount ba: accounts){
	if(ba.accountNumber=mc.bc.accountNumber){
		//somehow increase customer's current cash
		ba.balance-=mc.amount;
		mc.ba.msgRequestComplete(mc.amount, ba.balance);
		myClient=null;
	}
}