Acceptance criteria
- The hunger timer advances the animal through the required hunger states and changes its behavior.


new Timer(random.Next(10, 21) * 1000);The Tired state should not change to anything else.
TransformGroup transformGroup = new TransformGroup();SkewTransform tiredSkew = new SkewTransform();
tiredSkew.AngleX = item.XDirection == HorizontalDirection.Left ? 30.0 : -30.0;transformGroup.Children.Add(tiredSkew);transformGroup.Children.Add(new ScaleTransform(0.75, 0.5));viewBox.RenderTransform = transformGroup;If the animal is satisfied, it will move normally; if the animal is hungry, it will move as 1/4 the normal speed; if the animal is starving, it will not move; if the animal is tired, it will tip over. The movement will then stop.


this.Dispatcher.Invoke(() =>
{
this.guestListBox.Items.RemoveAt(index);
this.guestListBox.Items.Insert(index, guest);
this.guestListBox.SelectedItem = this.guestListBox.Items[index];
});Below is the basic structure of a Dispatcher Invoke. The code that needs to be executed goes in the curly braces.
this.Dispatcher.Invoke(() => { });This time, wait 5 seconds and the animal should automatically go back to normal and start moving again.


© 2026 Northcentral Technical College