Documentation ¶
Index ¶
- type Agent
- type Base
- func (a *Base) AgentType() int
- func (a *Base) BaseAgent() *Base
- func (a *Base) CurrPlatFood() food.FoodType
- func (a *Base) DaysAtCritical() int
- func (a *Base) Floor() int
- func (a *Base) HP() int
- func (a *Base) HandleAskFoodTaken(msg messages.AskFoodTakenMessage)
- func (a *Base) HandleAskHP(msg messages.AskHPMessage)
- func (a *Base) HandleAskIntendedFoodTaken(msg messages.AskIntendedFoodIntakeMessage)
- func (a *Base) HandleRequestLeaveFood(msg messages.RequestLeaveFoodMessage)
- func (a *Base) HandleRequestTakeFood(msg messages.RequestTakeFoodMessage)
- func (a *Base) HandleResponse(msg messages.BoolResponseMessage)
- func (a *Base) HandleStateFoodTaken(msg messages.StateFoodTakenMessage)
- func (a *Base) HandleStateHP(msg messages.StateHPMessage)
- func (a *Base) HandleStateIntendedFoodTaken(msg messages.StateIntendedFoodIntakeMessage)
- func (a *Base) HasEaten() bool
- func (a *Base) HealthInfo() *health.HealthInfo
- func (a *Base) ID() string
- func (a *Base) IsAlive() bool
- func (a *Base) Log(message string, fields ...Fields)
- func (a *Base) ReceiveMessage() messages.Message
- func (a *Base) Run()
- func (a *Base) SendMessage(direction int, msg messages.Message)
- func (a *Base) TakeFood(amountOfFood food.FoodType) food.FoodType
- type Fields
- type Tower
- func (t *Tower) AddAgent(agent Agent)
- func (t *Tower) DeadAgents() map[int]int
- func (t *Tower) Log(message string, fields ...Fields)
- func (t *Tower) ResetTower()
- func (t *Tower) Reshuffle()
- func (t *Tower) SendMessage(direction int, senderFloor int, msg messages.Message)
- func (t *Tower) Tick()
- func (t *Tower) TotalAgents() int
- func (t *Tower) TowerStateLog(timeOfTick string)
- func (t *Tower) UpdateDeadAgents(agentType int)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent interface { Run() IsAlive() bool BaseAgent() *Base HandleAskHP(msg messages.AskHPMessage) HandleAskFoodTaken(msg messages.AskFoodTakenMessage) HandleAskIntendedFoodTaken(msg messages.AskIntendedFoodIntakeMessage) HandleRequestLeaveFood(msg messages.RequestLeaveFoodMessage) HandleRequestTakeFood(msg messages.RequestTakeFoodMessage) HandleResponse(msg messages.BoolResponseMessage) HandleStateFoodTaken(msg messages.StateFoodTakenMessage) HandleStateHP(msg messages.StateHPMessage) HandleStateIntendedFoodTaken(msg messages.StateIntendedFoodIntakeMessage) }
type Base ¶
type Base struct {
// contains filtered or unexported fields
}
func NewBaseAgent ¶
func (*Base) CurrPlatFood ¶
only show the food on the platform if the platform is on the same floor as the agent or directly below
func (*Base) DaysAtCritical ¶
func (*Base) HandleAskFoodTaken ¶
func (a *Base) HandleAskFoodTaken(msg messages.AskFoodTakenMessage)
func (*Base) HandleAskHP ¶
func (a *Base) HandleAskHP(msg messages.AskHPMessage)
func (*Base) HandleAskIntendedFoodTaken ¶
func (a *Base) HandleAskIntendedFoodTaken(msg messages.AskIntendedFoodIntakeMessage)
func (*Base) HandleRequestLeaveFood ¶
func (a *Base) HandleRequestLeaveFood(msg messages.RequestLeaveFoodMessage)
func (*Base) HandleRequestTakeFood ¶
func (a *Base) HandleRequestTakeFood(msg messages.RequestTakeFoodMessage)
func (*Base) HandleResponse ¶
func (a *Base) HandleResponse(msg messages.BoolResponseMessage)
func (*Base) HandleStateFoodTaken ¶
func (a *Base) HandleStateFoodTaken(msg messages.StateFoodTakenMessage)
func (*Base) HandleStateHP ¶
func (a *Base) HandleStateHP(msg messages.StateHPMessage)
func (*Base) HandleStateIntendedFoodTaken ¶
func (a *Base) HandleStateIntendedFoodTaken(msg messages.StateIntendedFoodIntakeMessage)
func (*Base) HealthInfo ¶
func (a *Base) HealthInfo() *health.HealthInfo
func (*Base) ReceiveMessage ¶
type Tower ¶
func (*Tower) DeadAgents ¶
func (*Tower) ResetTower ¶
func (t *Tower) ResetTower()
func (*Tower) Reshuffle ¶
func (t *Tower) Reshuffle()
This function shuffles the agents by generating a random permutation of agentCount intgers, and maps the integers into floors by dividing each integer by the number of agents per floor. This function does not guarantee that an agent will be moved to a different floor.
func (*Tower) SendMessage ¶
func (*Tower) TotalAgents ¶
func (*Tower) TowerStateLog ¶
func (*Tower) UpdateDeadAgents ¶
Click to show internal directories.
Click to hide internal directories.