def testNonIntegerMovement(self):
		gameMap = GameMap(1000)
		gameObject = GameObject([1, 0], 'drone', 'owen')
		gameObject.velocity = [-0.5, 0]
		gameMap.addObject(gameObject)

		gameMap.update()
		self.assertEqual(gameObject.loc, [0.5, 0])
	def testAddObject(self):
		gameMap = GameMap(100)

		#Testing a valid Game Object
		validGameObject = GameObject([0,0], 'drone', 'owen')
		self.assertTrue(gameMap.addObject(validGameObject))

		#Testing an invalid Game Object
		invalidGameObject = GameObject([gameMap.size[0], 0], 'beacon', 'charter')
		self.assertFalse(gameMap.addObject(invalidGameObject))

		dupeGameObject = GameObject([0,0], 'beacon', 'owen')
		self.assertTrue(gameMap.addObject(dupeGameObject))
		self.assertEqual(len(gameMap.gameObjects['owen']), 2)
Exemple #3
0
	def testAddObject(self):
		gameMap = GameMap(2)

		#Testing a valid Game Object
		validGameObject = GameObject([0,0], 'drone', 'owen')
		self.assertTrue(gameMap.addObject(validGameObject))

		#Testing an invalid Game Object
		invalidGameObject = GameObject([gameMap.size[0], 0], 'beacon', 'charter')
		self.assertFalse(gameMap.addObject(invalidGameObject))

		dupeGameObject = GameObject([0,0], 'beacon', 'owen')
		self.assertTrue(gameMap.addObject(dupeGameObject))
		self.assertEqual(len(gameMap.playerSortedObjectDict['owen']), 2)
		self.assertFalse(gameMap.addObject(dupeGameObject)) #Testing that too many game objects cannot be added
	def testVectorMoveWithoutCollision(self):
		gameMap = GameMap(1000)
		gameObject = GameObject([0, 0], 'drone', 'owen')
		gameObject.velocity = [1, 2]
		gameObject.acceleration = [-1, -1]
		gameMap.addObject(gameObject)

		gameMap.update()
		self.assertEqual(gameObject.loc, [1,2])

		gameMap.update()
		self.assertEqual(gameObject.loc, [1, 3])

		gameMap.update()
		self.assertEqual(gameObject.loc, [0, 3])

		gameMap.update() #Here, instead of going negative, the vectorMovementWithoutCollision function does nothing
		self.assertEqual(gameObject.loc, [0, 3])
Exemple #5
0
	def testID(self):
		gameMap = GameMap(100)

		for i in range(10):
			gameMap.addObject(GameObject([0,0], 'drone', 'owen'))
			self.assertEqual(gameMap.gameObjects[i].ID, 'owen-drone-' + str(i)) #Testing successful ID assignment

		gameMap.addObject(GameObject([0,0], 'beacon', 'owen'))
		self.assertEqual(gameMap.playerSortedObjectDict['owen'][0].ID, 'owen-drone-0') #Testing successful '0' ID assignment

		self.assertTrue(gameMap.removeObject('owen-drone-2')) #Testing successful removal of an object
		self.assertIsNone(gameMap.getObject('owen-drone-2')) #Testing that the object was indeed removed
		self.assertIsNotNone(gameMap.getObject('owen-drone-3')) #Testing that another object that was added indeed exists

		gameMap.addObject(GameObject([1, 1], 'drone', 'owen'))
		self.assertIsNotNone(gameMap.getObject('owen-drone-2')) #Testing that, after adding a new relevant game object, the old ID=2 has been re-used
Exemple #6
0
		if(time.time() - currentTime  > tickFreq): #10 ticks per second. This number can be changed as necessary
			tick()
			tickCount += 1
			currentTime = time.time()

		# if currentTime - startTime > 10: break #quick line to time out the code after 10 seconds
	print("Game loop has been terminated.")

def tick():
	gameMap.update()
	#tick process:
		#Take human input
		#Introduce new game pieces
		#update all game pieces

#START TEST CODE
if __name__ == '__main__':
	thr = threading.Thread(target=runGame, args=(), kwargs={})
	thr.start()

	myObject = GameObject([0,0], 'drone', 'owen')
	myObject.velocity = [1, 0]
	gameMap.addObject(myObject)
	while True:
		flatGameMap = []
		for i in gameMap.gameObjects:
			flatGameMap.append(i.__dict__)
		print(flatGameMap)
		time.sleep(.1)
#END TEST CODE
Exemple #7
0
	def testRemoveObject(self):
		gameMap = GameMap(2)
		gameMap.addObject(GameObject([0,0], 'drone', 'owen'))
		self.assertTrue(gameMap.removeObject('owen-drone-0'))
		self.assertEqual(len(gameMap.gameObjects), 0) #Testing the length of the unsorted gameObjects list
		self.assertListEqual(gameMap.playerSortedObjectDict['owen'], [])