本文整理汇总了Python中dungeon.Dungeon._find_item_coordinates方法的典型用法代码示例。如果您正苦于以下问题:Python Dungeon._find_item_coordinates方法的具体用法?Python Dungeon._find_item_coordinates怎么用?Python Dungeon._find_item_coordinates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dungeon.Dungeon
的用法示例。
在下文中一共展示了Dungeon._find_item_coordinates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: dungeon_test
# 需要导入模块: from dungeon import Dungeon [as 别名]
# 或者: from dungeon.Dungeon import _find_item_coordinates [as 别名]
class dungeon_test(unittest.TestCase):
def setUp(self):
self.dungeon_map = [
['.', 'S', '#', '#', '.', '.', '.', '.', '.', 'T'],
['#', 'T', '#', '#', '.', '.', '#', '#', '#', '.'],
['#', '.', '#', '#', '#', 'E', '#', '#', '#', 'E'],
['#', '.', 'E', '.', '.', '.', '#', '#', '#', '.'],
['#', '#', '#', 'T', '#', '#', '#', '#', '#', 'G']]
f = open('test_level.txt', 'w')
for line in self.dungeon_map:
f.write(''.join(line) + '\n')
f.close()
self.dungeon = Dungeon("test_level.txt")
def tearDown(self):
os.remove("test_level.txt")
def test_init(self):
self.assertEqual(self.dungeon.dungeon_map, self.dungeon_map)
def test_find_item_coordinates(self):
self.assertEqual(self.dungeon._find_item_coordinates('S'), (0, 1))
self.assertEqual(self.dungeon._find_item_coordinates('G'), (4, 9))
def test_spawn(self):
hero = Unit(100, 100, 5)
self.dungeon.spawn(hero)
self.assertEqual(self.dungeon.dungeon_map[0][1], 'H')
def test_prin_map(self):
map_string = """.S##.....T
#T##..###.
#.###E###E
#.E...###.
###T#####G"""
self.assertEqual(self.dungeon.print_map(), map_string)
def test_move_hero(self):
hero = Unit(100, 100, 5)
self.dungeon.spawn(hero)
self.assertFalse(self.dungeon.move_hero('up'))
self.assertTrue(self.dungeon.move_hero('left'))
# self.assertTrue(self.dungeon.move_hero('rigth'))
self.assertTrue(self.dungeon.move_hero('rigth'))
self.assertTrue(self.dungeon.move_hero('down'))
self.assertTrue(self.dungeon.move_hero('down'))
self.assertEqual(self.dungeon.hero_possition, (2, 1))
self.assertEqual(self.dungeon.dungeon_map[1][1], '.')
self.dungeon_map[0][1] = '.'
self.dungeon_map[1][1] = '.'
self.dungeon_map[2][1] = 'H'
self.assertEqual(self.dungeon.dungeon_map, self.dungeon_map)
def test_found_treasure(self):
hero = Unit(100, 100, 5)
hero.health = 1
hero.mana = 1
self.dungeon.spawn(hero)
self.dungeon._found_treasure('mana')
self.assertGreater(hero.mana, 1)
self.dungeon._found_treasure('health')
self.assertGreater(hero.health, 1)
self.dungeon._found_treasure('weapon')
self.assertNotEqual(hero.weapon, None)
self.dungeon._found_treasure('spell')
self.assertNotEqual(hero.spell, None)
def test_create_enemy(self):
enemy = self.dungeon._create_enemy(100, 100, 100)
self.assertEqual(enemy.health, 100)
self.assertEqual(enemy.mana, 100)
self.assertEqual(enemy.damage, 100)
def test_find_enemy(self):
self.dungeon.hero_possition = (3, 3)
self.dungeon.dungeon_map[3][3] = 'H'
def test_hero_attack(self):
hero = Unit(100, 100, 5)
hero.learn(Spell('a', 10, 10, 2))
self.dungeon.spawn(hero)
self.dungeon.move_hero('down')
self.dungeon.move_hero('down')
self.assertEqual('Nothing in casting range 2',
self.dungeon.hero_attack(by="spell"))
self.dungeon.move_hero('down')
self.assertIsInstance(self.dungeon.hero_attack(by='spell'), Fight)