home
·
contact
·
privacy
projects
/
plomrogue2-experiments
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3ce8589
)
Use math.isclose() to fix FOV bug instead of expensive Fraction.
author
Christian Heller
<c.heller@plomlompom.de>
Fri, 25 Jan 2019 04:18:56 +0000
(
05:18
+0100)
committer
Christian Heller
<c.heller@plomlompom.de>
Fri, 25 Jan 2019 04:18:56 +0000
(
05:18
+0100)
server_/map_.py
patch
|
blob
|
history
diff --git
a/server_/map_.py
b/server_/map_.py
index 291130c4e8dc7999950cce539f90908ae6c0f5a7..836e540b75b89a4b99f3aa0b668d5f00e2a4951e 100644
(file)
--- a/
server_/map_.py
+++ b/
server_/map_.py
@@
-2,7
+2,7
@@
import sys
sys.path.append('../')
import game_common
import server_.game
sys.path.append('../')
import game_common
import server_.game
-import
fractions
+import
math
class Map(game_common.Map):
class Map(game_common.Map):
@@
-143,13
+143,15
@@
class MapFovHex(MapHex):
def merge_cone(new_cone):
for old_cone in self.shadow_cones:
if new_cone[0] > old_cone[0] and \
def merge_cone(new_cone):
for old_cone in self.shadow_cones:
if new_cone[0] > old_cone[0] and \
- new_cone[1] <= old_cone[0]:
+ (new_cone[1] < old_cone[0] or
+ math.isclose(new_cone[1], old_cone[0])):
#print('DEBUG merging to', old_cone)
old_cone[0] = new_cone[0]
#print('DEBUG merged cone:', old_cone)
return True
if new_cone[1] < old_cone[1] and \
#print('DEBUG merging to', old_cone)
old_cone[0] = new_cone[0]
#print('DEBUG merged cone:', old_cone)
return True
if new_cone[1] < old_cone[1] and \
- new_cone[0] >= old_cone[1]:
+ (new_cone[0] > old_cone[1] or
+ math.isclose(new_cone[0], old_cone[1])):
#print('DEBUG merging to', old_cone)
old_cone[1] = new_cone[1]
#print('DEBUG merged cone:', old_cone)
#print('DEBUG merging to', old_cone)
old_cone[1] = new_cone[1]
#print('DEBUG merged cone:', old_cone)
@@
-157,7
+159,6
@@
class MapFovHex(MapHex):
return False
def eval_cone(cone):
return False
def eval_cone(cone):
- new_cone = [left_arm, right_arm]
#print('DEBUG CONE', cone, '(', step_size, distance_to_center, number_steps, ')')
if in_shadow_cone(cone):
return
#print('DEBUG CONE', cone, '(', step_size, distance_to_center, number_steps, ')')
if in_shadow_cone(cone):
return
@@
-171,7
+172,7
@@
class MapFovHex(MapHex):
self.shadow_cones += [cone]
#print('DEBUG', yx)
self.shadow_cones += [cone]
#print('DEBUG', yx)
- step_size =
fractions.Fraction(CIRCLE,
6) / distance_to_center
+ step_size =
(CIRCLE/
6) / distance_to_center
number_steps = dir_i * distance_to_center + dir_progress
left_arm = correct_arm(-(step_size/2) - step_size*number_steps)
right_arm = correct_arm(left_arm - step_size)
number_steps = dir_i * distance_to_center + dir_progress
left_arm = correct_arm(-(step_size/2) - step_size*number_steps)
right_arm = correct_arm(left_arm - step_size)