모듈:KBO

설명문서 [편집] [역사] [새로고침]

KBO 리그 관련 틀에서 사용되는 모듈입니다.

이 모듈이 사용되는 틀[원본 편집]

연습장이나 사용자 문서에서 틀의 사용이나 수정을 연습할 수 있습니다.
분류는 /설명문서에 넣어주세요.

local p = {}

-- 틀:KBO 리그 결과에서 사용 예정.
function p.result(frame)
   -- 결과 출력
    local res = '{|class="wikitable"\n! 원정팀 !! 점수 !! 구장명 !! 점수 !! 홈팀 !! !! 원정팀 !! 점수 !! 구장명 !! 점수 !! 홈팀\n'
   -- 홈팀 / 원정팀 정보 모으기 - 더블헤더 고려해서 10경기까지 정보 수집 가능 
   local H1 = frame.args['H1']
   local A1 = frame.args['A1']
   local S1 = frame.args['S1']
   local HS1 = frame.args['HS1']
   local AS1 = frame.args['AS1']
   
   local H2 = frame.args['H2']
   local A2 = frame.args['A2']
   local S2 = frame.args['S2']
   local HS2 = frame.args['HS2']
   local AS2 = frame.args['AS2']
   
   local H3 = frame.args['H3']
   local A3 = frame.args['A3']
   local S3 = frame.args['S3']
   local HS3 = frame.args['HS3']
   local AS3 = frame.args['AS3']
   
   local H4 = frame.args['H4']
   local A4 = frame.args['A4']
   local S4 = frame.args['S4']
   local HS4 = frame.args['HS4']
   local AS4 = frame.args['AS4']
   
   local H5 = frame.args['H5']
   local A5 = frame.args['A5']
   local S5 = frame.args['S5']
   local HS5 = frame.args['HS5']
   local AS5 = frame.args['AS5']
   
   local H6 = frame.args['H6']
   local A6 = frame.args['A6']
   local S6 = frame.args['S6']
   local HS6 = frame.args['HS6']
   local AS6 = frame.args['AS6']
   
   local H7 = frame.args['H7']
   local A7 = frame.args['A7']
   local S7 = frame.args['S7']
   local HS7 = frame.args['HS7']
   local AS7 = frame.args['AS7']
   
   local H8 = frame.args['H8']
   local A8 = frame.args['A8']
   local S8 = frame.args['S8']
   local HS8 = frame.args['HS8']
   local AS8 = frame.args['AS8']
   
   local H9 = frame.args['H9']
   local A9 = frame.args['A9']
   local S9 = frame.args['S9']
   local HS9 = frame.args['HS9']
   local AS9 = frame.args['AS9']
   
   local H10 = frame.args['H10']
   local A10 = frame.args['A10']
   local S10 = frame.args['S10']
   local HS10 = frame.args['HS10']
   local AS10 = frame.args['AS10']

   -- 추가 텍스트
   local res_add = ''
   if H1 and H1 ~= "" then
        -- 초기 텍스트 추가
        res_add = '|-align="center"\n'
        -- 원정팀 승리시 원정팀에 강조
        if tonumber(AS1)> tonumber(HS1) then
            res_add = res_add .. "|'''" .. A1 .. "'''\n"
        else
            res_add = res_add .. "|" .. A1 .. "\n"
        end
        res_add = res_add .. "| ".. AS1 .. "\n| " .. S1 .. "\n| " .. HS1 .. "\n"
        -- 홈팀 승리시 홈팀에 강조
        if tonumber(HS1)> tonumber(AS1) then
            res_add = res_add .. "|'''" .. H1 .. "'''\n"
        else
            res_add = res_add .. "|" .. H1 .. "\n"
        end

        -- 2번째 경기 결과 존재시에...
        if H2 and H2 ~= "" then
            res_add = res_add .. "|\n"
            -- 원정팀 승리시에 원정팀에 강조
            if tonumber(AS2)> tonumber(HS2) then
                res_add = res_add .. "|'''" .. A2 .. "'''\n"
            else
                res_add = res_add .. "|" .. A2 .. "\n"
            end
            res_add = res_add .. "| ".. AS2 .. "\n| " .. S2 .. "\n| " .. HS2 .. "\n"
            -- 홈팀 승리시 홈팀에 강조
            if tonumber(HS2)> tonumber(AS2) then
                res_add = res_add .. "|'''" .. H2 .. "'''\n"
            else
                res_add = res_add .. "|" .. H2 .. "\n"
            end
            
        else
            res_add = res_add .. "| colspan=6| \n"
        end
        -- res에 추가정보 입력
        res = res .. res_add

   end

   -- 3번째 경기 결과
   res_add = ""
   if H3 and H3 ~= "" then
        -- 초기 텍스트 추가
        res_add = '|-align="center"\n'
        -- 원정팀 승리시 원정팀에 강조
        if tonumber(AS3)> tonumber(HS3) then
            res_add = res_add .. "|'''" .. A3 .. "'''\n"
        else
            res_add = res_add .. "|" .. A3 .. "\n"
        end
        res_add = res_add .. "| ".. AS3 .. "\n| " .. S3 .. "\n| " .. HS3 .. "\n"
        -- 홈팀 승리시 홈팀에 강조
        if tonumber(HS3)> tonumber(AS3) then
            res_add = res_add .. "|'''" .. H3 .. "'''\n"
        else
            res_add = res_add .. "|" .. H3 .. "\n"
        end

        -- 4번째 경기 결과 존재시에...
        if H4 and H4 ~= "" then
            res_add = res_add .. "|\n"
            -- 원정팀 승리시에 원정팀에 강조
            if tonumber(AS4)> tonumber(HS4) then
                res_add = res_add .. "|'''" .. A4 .. "'''\n"
            else
                res_add = res_add .. "|" .. A4 .. "\n"
            end
            res_add = res_add .. "| ".. AS4 .. "\n| " .. S4 .. "\n| " .. HS4 .. "\n"
            -- 홈팀 승리시 홈팀에 강조
            if tonumber(HS4)> tonumber(AS4) then
                res_add = res_add .. "|'''" .. H4 .. "'''\n"
            else
                res_add = res_add .. "|" .. H4 .. "\n"
            end
            
        else
            res_add = res_add .. "| colspan=6| \n"
        end
        -- res에 추가정보 입력
        res = res .. res_add

    end

    -- 5번째 경기 결과
   res_add = ""
   if H5 and H5 ~= "" then
        -- 초기 텍스트 추가
        res_add = '|-align="center"\n'
        -- 원정팀 승리시 원정팀에 강조
        if tonumber(AS5)> tonumber(HS5) then
            res_add = res_add .. "|'''" .. A5 .. "'''\n"
        else
            res_add = res_add .. "|" .. A5 .. "\n"
        end
        res_add = res_add .. "| ".. AS5 .. "\n| " .. S5 .. "\n| " .. HS5 .. "\n"
        -- 홈팀 승리시 홈팀에 강조
        if tonumber(HS5)> tonumber(AS5) then
            res_add = res_add .. "|'''" .. H5 .. "'''\n"
        else
            res_add = res_add .. "|" .. H5 .. "\n"
        end

        -- 6번째 경기 결과 존재시에...
        if H6 and H6 ~= "" then
            res_add = res_add .. "|\n"
            -- 원정팀 승리시에 원정팀에 강조
            if tonumber(AS6)> tonumber(HS6) then
                res_add = res_add .. "|'''" .. A6 .. "'''\n"
            else
                res_add = res_add .. "|" .. A6 .. "\n"
            end
            res_add = res_add .. "| ".. AS6 .. "\n| " .. S6 .. "\n| " .. HS6 .. "\n"
            -- 홈팀 승리시 홈팀에 강조
            if tonumber(HS6)> tonumber(AS6) then
                res_add = res_add .. "|'''" .. H6 .. "'''\n"
            else
                res_add = res_add .. "|" .. H6 .. "\n"
            end
            
        else
            res_add = res_add .. "| colspan=6| \n"
        end
        -- res에 추가정보 입력
        res = res .. res_add

    end

    -- 7번째 경기 결과
    res_add = ""
    if H7 and H7 ~= "" then
         -- 초기 텍스트 추가
         res_add = '|-align="center"\n'
         -- 원정팀 승리시 원정팀에 강조
         if tonumber(AS7)> tonumber(HS7) then
             res_add = res_add .. "|'''" .. A7 .. "'''\n"
         else
             res_add = res_add .. "|" .. A7 .. "\n"
         end
         res_add = res_add .. "| ".. AS7 .. "\n| " .. S7 .. "\n| " .. HS7 .. "\n"
         -- 홈팀 승리시 홈팀에 강조
         if tonumber(HS7)> tonumber(AS7) then
             res_add = res_add .. "|'''" .. H7 .. "'''\n"
         else
             res_add = res_add .. "|" .. H7 .. "\n"
         end
 
         -- 8번째 경기 결과 존재시에...
         if H8 and H8 ~= "" then
            res_add = res_add .. "|\n"
             -- 원정팀 승리시에 원정팀에 강조
             if tonumber(AS8)> tonumber(HS8) then
                 res_add = res_add .. "|'''" .. A8 .. "'''\n"
             else
                 res_add = res_add .. "|" .. A8 .. "\n"
             end
             res_add = res_add .. "| ".. AS8 .. "\n| " .. S8 .. "\n| " .. HS8 .. "\n"
             -- 홈팀 승리시 홈팀에 강조
             if tonumber(HS8)> tonumber(AS8) then
                 res_add = res_add .. "|'''" .. H8 .. "'''\n"
             else
                 res_add = res_add .. "|" .. H8 .. "\n"
             end
             
         else
             res_add = res_add .. "| colspan=6| \n"
         end
         -- res에 추가정보 입력
         res = res .. res_add
 
    end

    -- 9번째 경기 결과
    res_add = ""
    if H9 and H9 ~= "" then
         -- 초기 텍스트 추가
         res_add = '|-align="center"\n'
         -- 원정팀 승리시 원정팀에 강조
         if tonumber(AS9)> tonumber(HS9) then
             res_add = res_add .. "|'''" .. A9 .. "'''\n"
         else
             res_add = res_add .. "|" .. A9 .. "\n"
         end
         res_add = res_add .. "| ".. AS9 .. "\n| " .. S9 .. "\n| " .. HS9 .. "\n"
         -- 홈팀 승리시 홈팀에 강조
         if tonumber(HS9)> tonumber(AS9) then
             res_add = res_add .. "|'''" .. H9 .. "'''\n"
         else
             res_add = res_add .. "|" .. H9 .. "\n"
         end

         -- 10번째 경기 결과 존재시에...
         if H10 and H10 ~= "" then
            res_add = res_add .. "|\n"
             -- 원정팀 승리시에 원정팀에 강조
             if tonumber(AS10)> tonumber(HS10) then
                 res_add = res_add .. "|'''" .. A10 .. "'''\n"
             else
                 res_add = res_add .. "|" .. A10 .. "\n"
             end
             res_add = res_add .. "| ".. AS10 .. "\n| " .. S10 .. "\n| " .. HS10 .. "\n"
             -- 홈팀 승리시 홈팀에 강조
             if tonumber(HS10)> tonumber(AS10) then
                 res_add = res_add .. "|'''" .. H10 .. "'''\n"
             else
                 res_add = res_add .. "|" .. H10 .. "\n"
             end
             
         else
             res_add = res_add .. "| colspan=6| \n"
         end
         -- res에 추가정보 입력
         res = res .. res_add
 
     end

     res = res .. "|}"

    return res

end

-- 구단 홈 정보
function p.home(frame)
    local res = ""
    -- 팀 이름
    local team = frame.args[1]
    -- 장소/별칭
    local place = frame.args[2]
    -- 링크 유무
    local is_link = frame.args[3]
    -- 키값
    local keyval = ""

    -- 키 목록
    local key_list = {
        "jamsil", "lgchamps", "bears",
        "daegu", "daegu_simin", "pohang", "gyeongsan", 
        "daejeon", "cheongju", "seosan",
        "ulsan", "sajik", "sangdong",
        "gunsan", "gwangju", "gwangju_mudeung", "hampyeong",
        "incheon", "dream", "ganghwa",
        "masan", "changwon",
        "mokdong", "gocheok", "hwaseong",
        "suwon", "iksan",
        "sangmu"
    }
    
    -- 구장명 및 링크
    local link_settings = {
        jamsil= "[[서울종합운동장 야구장|잠실]]",
        lgchamps = "[[LG 챔피언스 파크|LG]]",
        bears = "[[베어스 파크|베어스]]",
        daegu = "[[대구 삼성 라이온즈 파크|대구]]",
        daegu_simin = "[[대구 시민야구장|대구시민]]",
        pohang = "[[포항 야구장|포항]]",
        gyeongsan = "[[삼성 라이온즈 볼파크|경산]]",
        daejeon="[[한화생명 이글스 파크|대전]]",
        cheongju="[[청주종합운동장 야구장|청주]]",
        seosan = "[[서산 아구장|서산]]",
        ulsan = "[[울산 문수 야구장|울산]]",
        sajik = "[[사직 야구장|사직]]", 
        sangdong= "[[상동 야구장|상동]]",
        gunsan = "[[월명 아구장|군산]]",
        gwangju = "[[광주-기아 챔피언스 필드|광주]]",
        gwangju_mudeung = "[[무등 야구장|무등]]",
        hampyeong = "[[기아 챌린저스 필드|함평]]",
        incheon = "[[인천 SSG 랜더스필드|인천]]",
        dream = "[[SK 드림구장|드림]]",
        ganghwa = "[[강화 SSG 퓨처스월드|강화]]",
        masan = "[[마산 야구장|마산]]",
        changwon = "[[창원 NC 파크|창원]]",
        mokdong = "[[목동 야구장|목동]]",
        gocheok = "[[고척 스카이돔|고척]]",
        hwaseong = "[[화성 히어로즈 베이스볼 파크|화성]]",
        suwon = "[[수원 케이티 위즈 파크|수원]]",
        iksan = "[[익산 국가대표 야구훈련장|익산]]",
        sangmu = "[[문경 상무 야구장|상무]]",
        none = "오류! 구단명을 올바로 입력하세요."
    }

    local no_link_settings = {
        jamsil = "잠실",
        lgchamps="LG",
        bears="베어스",
        daegu = "대구",
        daegu_simin = "대구시민",
        pohang = "포항",
        gyeongsan = "경산",
        daejeon = "대전",
        cheongju = "청주",
        seosan = "서산",
        ulsan= "울산",
        sajik="사직",
        sangdong = "상동",
        gunsan = "군산",
        gwangju = "광주",
        gwangju_mudeung = "광주무등",
        hampyeong = "함평",
        incheon = "인천",
        dream = "드림",
        ganghwa = "강화",
        masan = "마산",
        changwon = "창원",
        mokdong = "목동",
        gocheok = "고척",
        hwaseong = "화성",
        suwon = "수원",
        iksan = "익산",
        sangmu = "상무",
        none = "오류!"
    }

    keyval = p.find_key(team, place)

    -- 링크 없을 때 사용
    local no_val = {"N", 'n', "아니요", "", "링크 없음", "없음"}

    -- 결과 출력
    if not is_link then
        return no_link_settings[keyval]
    else
        for i, nv in pairs(no_val) do
           if nv == is_link then
               return no_link_settings[keyval]
           end 
        end
        return link_settings[keyval]
    end

end

function p.find_key(team, place)
    -- 팀명 지정
    local lg_team = {"LG", "엘지", "LG 트윈스", "트윈스",}
    local doosan_team = {"두산", "베어스", "두산 베어스", "OB"}
    local samsung_team = {'삼성', '라이온즈', '삼성 라이온즈', "대구"}
    local lotte_team = {'롯데', '자이언츠', '롯데 자이언츠', "사직", "부산"}
    local hanwha_team = {'한화', '이글스', '한화 이글스', "대전"}
    local kia_team = {'기아', "KIA", '기아 타이거즈', "KIA 타이거즈", "광주"}
    local ssg_team = {"SK", "에스케이", "와이번스", "SK 와이번스", "신세계", "SSG", "SSG 랜더스", "랜더스", "인천"}
    local heroes_team = {"키움", '넥센', "넥센 히어로즈", "키움 히어로즈", "서울 히어로즈", "히어로즈"}
    local nc_team = {"NC", "엔씨", "NC 다이노스", '다이노스', "창원"}
    local kt_team = {"KT", "KT Wiz", '케이티', "KT 위즈", "수원"}

    -- lg 트윈스
    for i, tname in pairs(lg_team) do
        if team == tname then
            if place == "이천" or place == "2군" or place == "2" then
                return "lgchamps"
            else
                return "jamsil"
            end
        end
    end

    -- 두산 베어스
    for i, tname in pairs(doosan_team) do
        if team == tname then
            if place == "이천" or place == "2군" or place == "2" then
                return "bears"
            else
                return "jamsil"
            end
        end
    end

    -- 삼성 라이온즈
    for i, tname in pairs(samsung_team) do
        if team == tname then
            if place == "포항" or place == "2" then
                return "pohang"
            elseif place == "경산" or place == "라이온즈" or place == "2군 "  then
                return "gyeongsan"
            elseif place == "시민" or place == "구대구" then
                return "daegu_simin"
            else
                return "daegu"
            end
        end
    end

    -- 롯데 자이언츠
    for i, tname in pairs(lotte_team) do
        if team == tname then
            if place == "울산" or place == "2" then
                return "ulsan"
            elseif place == "상동" or place == "2군 "  then
                return "sangdong"
            else
                return "sajik"
            end
        end
    end

    -- 한화 이글스
    for i, tname in pairs(hanwha_team) do
        if team == tname then
            if place == "청주" or place == "2" then
                return "cheongju"
            elseif place == "서산" or place == "2군 "  then
                return "seosan"
            else
                return "daejeon"
            end
        end
    end

    -- KIA 타이거즈
    for i, tname in pairs(kia_team) do
        if team == tname then
            if place == "강화" or place == "2군" then
                return "ganghwa"
            elseif place == "함평" or place == "2군 " or place == "챌린저스" then
                return "hampyeong"
            elseif place == "무등" or place == "구광주" then
                return "gwangju_mudeung"
            else
                return "gwangju"
            end
        end
    end

    -- SSG 랜더스
    for i, tname in pairs(ssg_team) do
        if team == tname then
            if place == "강화" or place == "2군" then
                return "ganghwa"
            else
                return "incheon"
            end
        end
    end

    -- 키움 히어로즈
    for i, tname in pairs(heroes_team) do
        if team == tname then
            if place == "목동" then
                return "mokdong"
            elseif place == "화성" or place == "2군" then
                return "hwaseong"
            else
                return "gocheok"
            end
        end
    end

    -- NC 다이노스
    for i, tname in pairs(nc_team) do
        if team == tname then
            if place == "마산" or place =="구" or place == "2군" then
                return "masan"
            else
                return "changwon"
            end
        end
    end

    -- KT Wiz
    for i, tname in pairs(kt_team) do
        if team == tname then
            if place == "익산" or place == "2군" then
                return "iksan"
            else
                return "suwon"
            end
        end
    end

    -- 상무
    if team == "상무" or team == "문경" then
        return 'sangmu'
    end

    return 'none'

end

return p