Game Development Reference
In-Depth Information
{
return _name;
}
public int CurrentExperience()
{
return _currentExperience;
}
public int NextLevelRequiredExperience()
{
return _nextLevelExperience;
}
public void LevelUp()
{
Console.WriteLine(_name þ '' has levelled up!'');
_currentLevel þþ ;
_currentExperience ¼ 0;
_nextLevelExperience ¼ _currentLevel * 1000;
}
}
List < Monster > _monsterList ¼ new List < Monster > ();
_monsterList.Add(new Monster(''Ogre'', 1001));
_monsterList.Add(new Monster(''Skeleton'', 999));
_monsterList.Add(new Monster(''Giant Bat'', 1004));
_monsterList.Add(new Monster(''Slime'', 0));
// Select monsters that are about to level up
IEnumerable < Monster > query ¼ from m in _monsterList
where m.CurrentExperience() >
m.NextLevelRequiredExperience()
orderby m.Name() descending
select m;
foreach (Monster m in query)
{
m.LevelUp();
}
When run, this query retrieves all the monsters that can gain a level, and then
orders that list by name. LINQ isn't just used with collections; it can be used with
Search WWH ::




Custom Search