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