| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,6 +13,7 @@ | |||
| 13 | 13 | import bisect | |
| 14 | 14 | import re | |
| 15 | 15 | from functools import reduce | |
| 16 | + from . grid import * | ||
| 16 | 17 | ||
| 17 | 18 | #______________________________________________________________________________ | |
| 18 | 19 | # Simple Data Structures: infinity, Dict, Struct | |
@@ -245,58 +246,6 @@ def clip(x, lowest, highest): | |||
| 245 | 246 | """Return x clipped to the range [lowest..highest].""" | |
| 246 | 247 | return max(lowest, min(x, highest)) | |
| 247 | 248 | ||
| 248 | - #______________________________________________________________________________ | ||
| 249 | - # OK, the following are not as widely useful utilities as some of the other | ||
| 250 | - # functions here, but they do show up wherever we have 2D grids: Wumpus and | ||
| 251 | - # Vacuum worlds, TicTacToe and Checkers, and markov decision Processes. | ||
| 252 | - | ||
| 253 | - orientations = [(1, 0), (0, 1), (-1, 0), (0, -1)] | ||
| 254 | - | ||
| 255 | - | ||
| 256 | - def turn_heading(heading, inc, headings=orientations): | ||
| 257 | - return headings[(headings.index(heading) + inc) % len(headings)] | ||
| 258 | - | ||
| 259 | - | ||
| 260 | - def turn_right(heading): | ||
| 261 | - return turn_heading(heading, -1) | ||
| 262 | - | ||
| 263 | - | ||
| 264 | - def turn_left(heading): | ||
| 265 | - return turn_heading(heading, +1) | ||
| 266 | - | ||
| 267 | - | ||
| 268 | - def Point(x, y): | ||
| 269 | - return (x, y) | ||
| 270 | - | ||
| 271 | - | ||
| 272 | - def point_x(point): | ||
| 273 | - return point[0] | ||
| 274 | - | ||
| 275 | - | ||
| 276 | - def point_y(point): | ||
| 277 | - return point[1] | ||
| 278 | - | ||
| 279 | - | ||
| 280 | - def distance(a, b): | ||
| 281 | - "The distance between two (x, y) points." | ||
| 282 | - ax, ay = a | ||
| 283 | - bx, by = b | ||
| 284 | - return math.hypot((ax - bx), (ay - by)) | ||
| 285 | - | ||
| 286 | - | ||
| 287 | - def distance2(a, b): | ||
| 288 | - "The square of the distance between two (x, y) points." | ||
| 289 | - ax, ay = a | ||
| 290 | - bx, by = b | ||
| 291 | - return (ax - bx)**2 + (ay - by)**2 | ||
| 292 | - | ||
| 293 | - | ||
| 294 | - def vector_clip(vector, lowest, highest): | ||
| 295 | - """Return vector, except if any element is less than the corresponding | ||
| 296 | - value of lowest or more than the corresponding value of highest, clip to | ||
| 297 | - those values. | ||
| 298 | - """ | ||
| 299 | - return type(vector)(list(map(clip, vector, lowest, highest))) | ||
| 300 | 249 | ||
| 301 | 250 | #______________________________________________________________________________ | |
| 302 | 251 | # Misc Functions | |
| Back | FazBrowse Home | New Git URL |
0 commit comments