zoukankan      html  css  js  c++  java
  • 斜45°地图中两相邻格子A、B点:A点(斜45℃直角)移动到B点新增的格子集合 2

    如图:

    local m_rHight = math.ceil( 1334 / 100 ) / 2 -- 高半径
    local m_rWide = math.ceil( 750 / 200 ) / 2 -- 宽半径

    -- 函数方法实现

    function getNewPoints( aX, aY, bX, bY )
    local pointsTab = {}

    local differY = bY - aY
    local differX = bX - aX

    local oX1, oY1
    if differY > 0 or differX < 0 then
    oX1 = bX - m_rHight
    oY1 = bY + m_rHight
    else -- differY < 0 or differX > 0
    oX1 = bX + m_rHight
    oY1 = bY - m_rHight
    end
    if differY > 0 or differX > 0 then
    for w = -m_rWide, m_rWide-1, 1 do
    T_insert(pointsTab, {oX1+w, oY1+w})
    end
    else
    for w = -m_rWide+1, m_rWide, 1 do
    T_insert(pointsTab, {oX1+w, oY1+w})
    end
    end

    --[[ -- 不统一使用如下注释代码,目的防止拐点(转角点)重复
    for w = -m_rWide, m_rWide, 1 do
    T_insert(pointsTab, {oX1+w, oY1+w})
    end
    ]]

    local oX2, oY2
    if differY > 0 or differX > 0 then
    oX2 = bX + m_rWide
    oY2 = bY + m_rWide
    else -- differY < 0 or differX < 0
    oX2 = bX - m_rWide
    oY2 = bY - m_rWide
    end
    for h = -m_rHight, m_rHight, 1 do
    T_insert(pointsTab, {oX2-h, oY2+h})
    end

    return pointsTab
    end

  • 相关阅读:
    attr与prop
    Django框架学习
    库的操作
    javascript 基础知识
    进程
    正则表达式
    模块( collections , time , random , os , sys)
    内置函数
    生成器
    迭代器
  • 原文地址:https://www.cnblogs.com/wuchunming/p/10422164.html
Copyright © 2011-2022 走看看