Comment

Comment by tuhgdetzhh

Just for comparison, this is how the code could look like in Python:

  SUCCESS = 0
  TOO_FAR_LEFT = 2
  TOO_SLOW_OR_TOO_LOW = 4
  TOO_FAST_OR_TOO_HIGH = 8
  MIN_ALTITUDE = 100
  MAX_ALTITUDE = 300
  MIN_SPEED = 200
  MAX_SPEED = 400
  MIN_SPEED_200_RANGE = 238
  MAX_SPEED_300_RANGE = 338
  MAX_HEADING_RIGHT = 8

  def landing_skill_check(
    altitude: int,
    speed: int,
    heading: int) -> int:

    if altitude < MIN_ALTITUDE:
        return TOO_SLOW_OR_TOO_LOW
    if altitude >= MAX_ALTITUDE:
        return TOO_FAST_OR_TOO_HIGH
    if speed < MIN_SPEED:
        return TOO_SLOW_OR_TOO_LOW
    if speed >= MAX_SPEED:
        return TOO_FAST_OR_TOO_HIGH
    if speed < 300:
        if speed < MIN_SPEED_200_RANGE:
            return TOO_SLOW_OR_TOO_LOW
    else:
        if speed >= MAX_SPEED_300_RANGE:
            return TOO_FAST_OR_TOO_HIGH
    if heading < 0:
        return TOO_FAR_LEFT
    if heading >= MAX_HEADING_RIGHT:
        return TOO_SLOW_OR_TOO_LOW

    return SUCCESS
parent tuhgdetzhh 10 months ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton