generated from mwc/project_game
	I got all of the free spaces to determine the
number of mine neighbors they have and change their characters correspondingly.
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -5,14 +5,64 @@
 | 
				
			|||||||
class FreeSpace:
 | 
					class FreeSpace:
 | 
				
			||||||
    character = '*'
 | 
					    character = '*'
 | 
				
			||||||
    display = True
 | 
					    display = True
 | 
				
			||||||
 | 
					    revealed = False
 | 
				
			||||||
 | 
					    neighbors = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, position):
 | 
					    def __init__(self, position):
 | 
				
			||||||
        self.position = position
 | 
					        self.position = position
 | 
				
			||||||
 | 
					        self.width , self.height = position
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def handle_keystroke(self, keystroke, game):
 | 
					    def handle_keystroke(self, keystroke, game):
 | 
				
			||||||
        if keystroke.name in ("KEY_ENTER"):
 | 
					        if keystroke.name in ("KEY_ENTER"):
 | 
				
			||||||
            if not game.is_empty(self.position):
 | 
					            if not game.is_empty(self.position):
 | 
				
			||||||
                game.log(str(self.position) + " is clear!")
 | 
					                game.log(str(self.position) + " is clear!")
 | 
				
			||||||
 | 
					                self.revealed = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def hide(self):
 | 
					    def hide(self):
 | 
				
			||||||
        self.display = False
 | 
					        self.display = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def play_turn(self, game):
 | 
				
			||||||
 | 
					        if (not game.is_empty(self.position)) and self.revealed:
 | 
				
			||||||
 | 
					            self.display = False
 | 
				
			||||||
 | 
					        elif game.is_empty(self.position) and self.revealed and self.neighbors > 0:
 | 
				
			||||||
 | 
					            self.display = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def name_me(self, named):
 | 
				
			||||||
 | 
					        self.name = named
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    def check_neighbors(self,game):
 | 
				
			||||||
 | 
					        names_of_mines = ["mine0","mine1","mine2","mine3","mine4","mine5","mine6","mine7","mine8","mine9"]
 | 
				
			||||||
 | 
					        if game.on_board((self.width + 1,self.height)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width + 1,self.height)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width + 1,self.height)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width - 1,self.height)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width - 1,self.height)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width - 1,self.height)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width,self.height + 1)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width,self.height + 1)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width,self.height + 1)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width,self.height - 1)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width,self.height - 1)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width,self.height - 1)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width + 1,self.height + 1)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width + 1,self.height + 1)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width + 1,self.height + 1)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width + 1,self.height - 1)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width + 1,self.height - 1)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width + 1,self.height - 1)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width - 1,self.height + 1)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width - 1,self.height + 1)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width - 1,self.height + 1)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if game.on_board((self.width - 1,self.height - 1)):
 | 
				
			||||||
 | 
					            if len(game.get_agents_by_position()[(self.width - 1,self.height - 1)]) != 0:
 | 
				
			||||||
 | 
					                if game.get_agents_by_position()[(self.width - 1,self.height - 1)][0].name in names_of_mines:
 | 
				
			||||||
 | 
					                    self.neighbors = self.neighbors + 1
 | 
				
			||||||
 | 
					        if self.neighbors > 0:
 | 
				
			||||||
 | 
					            self.character = str(self.neighbors)
 | 
				
			||||||
							
								
								
									
										11
									
								
								mine.py
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								mine.py
									
									
									
									
									
								
							@@ -15,4 +15,13 @@ class Mine:
 | 
				
			|||||||
                game.end()
 | 
					                game.end()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def hide(self):
 | 
					    def hide(self):
 | 
				
			||||||
        self.display = False
 | 
					        self.display = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def name_me(self, named):
 | 
				
			||||||
 | 
					        self.name = named
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def check_neighbors(self,game):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def reveal():
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
@@ -22,20 +22,23 @@ class Spawner:
 | 
				
			|||||||
            for i in range(self.board_width):
 | 
					            for i in range(self.board_width):
 | 
				
			||||||
                for j in range(self.board_height):
 | 
					                for j in range(self.board_height):
 | 
				
			||||||
                    free_space = FreeSpace((i,j))
 | 
					                    free_space = FreeSpace((i,j))
 | 
				
			||||||
 | 
					                    free_space.name_me("freespace"+str(i)+str(j))
 | 
				
			||||||
                    game.add_agent(free_space)
 | 
					                    game.add_agent(free_space)
 | 
				
			||||||
            # Then spawn 10 mines
 | 
					            # Then spawn 10 mines
 | 
				
			||||||
            for i in range(10):
 | 
					            for i in range(10):
 | 
				
			||||||
                mine = Mine(((randint(0, self.board_width - 1)),(randint(0, self.board_height - 1))))
 | 
					                mine = Mine(((randint(0, self.board_width - 1)),(randint(0, self.board_height - 1))))
 | 
				
			||||||
                game.log(mine.position)
 | 
					                mine.name_me("mine"+str(i))
 | 
				
			||||||
 | 
					                game.log(str(mine.name) + " is located at " + str(mine.position))
 | 
				
			||||||
                # If there is a free space where a mine is going to be, remove the free space and then add the mine.
 | 
					                # If there is a free space where a mine is going to be, remove the free space and then add the mine.
 | 
				
			||||||
                if not game.is_empty(mine.position):
 | 
					                if not game.is_empty(mine.position):
 | 
				
			||||||
                    game.remove_agent(game.get_agents_by_position()[mine.position][0])
 | 
					                    game.remove_agent(game.get_agents_by_position()[mine.position][0])
 | 
				
			||||||
                game.add_agent(mine)
 | 
					                game.add_agent(mine)
 | 
				
			||||||
            # Now ask all of the mines and free spaces to hide themselves.
 | 
					            # Now ask all free spaces to keep track of their neighbors that are mines 
 | 
				
			||||||
 | 
					            # and all of the mines and free spaces to hide themselves.
 | 
				
			||||||
            for i in range(self.board_width):
 | 
					            for i in range(self.board_width):
 | 
				
			||||||
                for j in range(self.board_height):
 | 
					                for j in range(self.board_height):
 | 
				
			||||||
                    if len(game.get_agents_by_position()[(i,j)]) != 0:
 | 
					                    if len(game.get_agents_by_position()[(i,j)]) != 0:
 | 
				
			||||||
 | 
					                        game.get_agents_by_position()[(i,j)][0].check_neighbors(game)
 | 
				
			||||||
                        game.get_agents_by_position()[(i,j)][0].hide()
 | 
					                        game.get_agents_by_position()[(i,j)][0].hide()
 | 
				
			||||||
            # Now create a cursor.
 | 
					            # Now create a cursor.
 | 
				
			||||||
            game.add_agent(Cursor((self.board_width - 1, self.board_height - 1)))
 | 
					            game.add_agent(Cursor((self.board_width - 1, self.board_height - 1)))            
 | 
				
			||||||
            
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user