public Agent(Simulation controller, int i, String s) {
        scape = controller;

        id = i;
        score = 0;
        encounters = 0;
        average = 0;
        strategy = s;
        hasMoved = false;

        //Agent.memory records the past 10 actions of the 
        //encountered agents against this agent. 
        //memory[agentID][0] contains the most recent encounter.
        memory = new int[scape.numAgents][10];
        for (int m = 0; m < memory.length; m++) {
            for (int n = 0; n < memory[m].length; n++) {
                memory[m][n] = 0;
            }
        }

        //Agent.memoryOwnActions records the past 10 actions of this agent 
        //against encountered agents. 
        //memoryOwnActions[agentID][0] contains the most recent encounter.
        memoryOwnActions = new int[scape.numAgents][10];
        for (int m = 0; m < memoryOwnActions.length; m++) {
            for (int n = 0; n < memoryOwnActions[m].length; n++) {
                memoryOwnActions[m][n] = 0;
            }
        }

        //memoryEncounters[agentID] contains the amount of encounters with this agent.
        memoryEncounters = new int[scape.numAgents];
        for (int n = 0; n < memoryEncounters.length; n++) {
            memoryEncounters[n] = 0;
        }
    }