Merge pull request 'fix monsters count;' (#32) from genetic_alg_angela into genetic_alg
Reviewed-on: #32
This commit is contained in:
commit
08329f187b
@ -120,3 +120,12 @@ def find_neighbours(grid: npt.NDArray, col: int, row: int) -> List[Position]:
|
|||||||
neighbours.append(Position(row=rr, col=cc))
|
neighbours.append(Position(row=rr, col=cc))
|
||||||
|
|
||||||
return neighbours
|
return neighbours
|
||||||
|
|
||||||
|
|
||||||
|
def count_in_grid(grid: npt.NDArray, target) -> int:
|
||||||
|
count = 0
|
||||||
|
for row in grid:
|
||||||
|
for col in row:
|
||||||
|
if col == target:
|
||||||
|
count += 1
|
||||||
|
return count
|
||||||
|
@ -7,7 +7,7 @@ from typing import List
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import numpy.typing as npt
|
import numpy.typing as npt
|
||||||
|
|
||||||
from common import Position, get_islands, AREAS_TO_CROSS, find_neighbours
|
from common import Position, get_islands, AREAS_TO_CROSS, find_neighbours, count_in_grid
|
||||||
from const import *
|
from const import *
|
||||||
|
|
||||||
|
|
||||||
@ -72,6 +72,11 @@ class Genome:
|
|||||||
score = SAND_COUNT + TREE_COUNT + WATER_COUNT
|
score = SAND_COUNT + TREE_COUNT + WATER_COUNT
|
||||||
score = score - len(self.sand_islands) - len(self.tree_islands) - len(self.water_islands)
|
score = score - len(self.sand_islands) - len(self.tree_islands) - len(self.water_islands)
|
||||||
|
|
||||||
|
monsters_count = count_in_grid(self.grid, MAP_ALIASES.get('MONSTER'))
|
||||||
|
if monsters_count < 2:
|
||||||
|
self.fitness = 0
|
||||||
|
return
|
||||||
|
|
||||||
# todo: odległość manhattan od każdej wyspy
|
# todo: odległość manhattan od każdej wyspy
|
||||||
|
|
||||||
self.fitness = score
|
self.fitness = score
|
||||||
|
@ -1 +0,0 @@
|
|||||||
{"map": [[0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 0], [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 1], [0, 0, 0, 6, 0, 0, 0, 6, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 3, 5, 5, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 5, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 7, 7], [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0], [0, 0, 0, 0, 1, 0, 3, 0, 0, 3, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], [0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 2, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 6, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0]]}
|
|
1
resources/maps/map_2022_06_02_01_11_02.json
Normal file
1
resources/maps/map_2022_06_02_01_11_02.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"map": [[0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0], [0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0], [0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 7, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 1, 0, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 5, 5, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], [0, 0, 6, 6, 0, 0, 0, 1, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0], [6, 0, 3, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 6, 0, 3, 0, 0, 0, 7, 3, 0, 0], [0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 2, 3, 4, 2, 0], [0, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 3, 0, 3, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 1, 1, 0, 7, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0], [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}
|
Loading…
Reference in New Issue
Block a user