모듈:스포츠 테이블/체스

Module

-- 체스 테이블 스타일 현지의 pp = {}  기능. pp.전처리(아르그,N_teams,접두사,드로프프랙션)  현지의 다리 = 1  위해서 ii=1,N_teams 하다   현지의 ti = 아르그['팀 .. ii]   아르그[접두사..'우승_'..ti] = 0   아르그[접두사..'그리다'..ti] = 0   아르그[접두사..'loss_'..ti] = 0   현지의 matchrow_str = 아르그[접두사..매치로우_' .. ti] 또는 ''   위해서 JJ=1,N_teams 하다    현지의 tj = 아르그['팀 .. JJ]     한다면 ii ~= JJ 그리고나서     한다면 matchrow_str ~= '' 그리고나서      아르그[접두사..일치_' .. ti .. '_' .. tj] = .스트링.경기(matchrow_str, '^([^,]*),?')     끝.     현지의 match_str = 아르그[접두사..일치_' .. ti .. '_' .. tj] 또는 ''     현지의 game_counts = 1     하는 동안에 match_str ~= '' 하다      현지의 gii = .스트링.경기(match_str, '^([^%+]*)%+?')      gii = .스트링.서브(gii 또는 '','^%s*','')      -- 시작 공백을 잘라냅니다.      gii = .스트링.서브(gii 또는 '','%s*
                
,'') -- 끝 공백을 잘라냅니다. 한다면 gii == '1' 그리고나서 아르그[접두사..'우승_'..ti] = 아르그[접두사..'우승_'..ti] + 1 그렇지 않으면 gii == '½' 그리고나서 아르그[접두사..'그리다'..ti] = 아르그[접두사..'그리다'..ti] + 1 한다면 드로프프랙션 그리고나서 gii = .get Current Frame(전류 프레임)():확장 태그{ 이름. = '패턴 스타일', args = { src = '화면 리더 전용/styles.css' } } .. '<span class="sr-only">&nbsp;/span><sup>1</sup>&frasl;<sub>2</sub>' 끝. 그렇지 않으면 gii == '0' 그리고나서 아르그[접두사..'loss_'..ti] = 아르그[접두사..'loss_'..ti] + 1 끝. 아르그[접두사..'일치 .. game_counts .. '_' .. ti .. '_' .. tj] = gii match_str = .스트링.서브(match_str, '^([^%+]*)', '') 또는 '' -- match_str에서 gii를 삭제합니다. 한다면 match_str ~= '' 그리고나서 -- 아직 플러스 기호가 있는 경우 game_counts = game_counts + 1 --그러면 다른 경기가 있다. match_str = .스트링.서브(match_str, '^%+?', '') 또는 '' -- 플러스 기호를 제거합니다. 끝. --계속합니다. 끝. 한다면 game_counts > 다리 그리고나서 - 예상보다 많은 게임이 있는 경우 다리 = game_counts -- 게임 수 변경 끝. 끝. matchrow_str = .스트링.서브(matchrow_str, '^([^,]*),?', '') 또는 '' 끝. 끝. 아르그[접두사..'실패'] = 다리 마지막으로 Arg를 변경합니다. 끝. 기능. pp.머리글자(t,아르그,p_sub,pos_label,group_col,VTE_텍스트,풀 테이블,results_syslog_txt) -- 관련 모듈을 로드합니다. 현지의 네, 아니요 = 요구하다('모듈:네, 아니요.) -- 테이블 헤더 작성 -- 사전 준비물 현지의 플레이어 폭 = 아르그['선수 폭'] 또는 '190' 현지의 정렬_텍스트 = '' 현지의 sort_table_val = 아르그['테이블_테이블'] 또는 '아니요' 한다면 네, 아니요(sort_table_val) 그리고나서 정렬_텍스트 = '소트 가능' 끝. -- 테이블 열기 table.insert(t,'{ class='불적합격'..정렬_텍스트..''style="text-align:center;'\n') -- 테이블 제목 한다면 아르그['실패'] 또는 아르그['table_filename'] 그리고나서 table.insert(t,' + ' .. (아르그['실패'] 또는 아르그['table_filename']) .. '\n') 끝. -- 일치 데이터 사전 처리 현지의 톱_포스 = 톤수(아르그['highest_pos']) 또는 1 현지의 N_teams = 톱_포스 - 1 -- 시작 시 기본값은 0이지만 특정 엔트리를 건너뛰려면 더 많은 수가 필요합니다. 하는 동안에 아르그['팀..N_teams+1] ~= 제로 하다 N_teams = N_teams+1 끝. pp.전처리(아르그,N_teams,'',네, 아니요(아르그['안정성_안정적'] 또는 '아니요')) 현지의 tb_numplayers = 톤수(아르그['tb_numplayers']) 또는 0 한다면 tb_numplayers > N_teams 그리고나서 tb_numplayers = N_teams 아르그['tb_numplayers'] = N_teams 끝. 한다면 tb_numplayers >= 2 그리고나서 pp.전처리(아르그,tb_numplayers,'tb',네, 아니요(아르그['안정성_안정적'] 또는 '아니요')) 끝. -- 표시할 열 현지의 show_rating = 네, 아니요(아르그['show_rating'] 또는 '아니요') 현지의 show_played(표시) = 것은 아니다. 네, 아니요(아르그['숨김_재생'] 또는 '아니요') 현지의 첫 번째 = 네, 아니요(아르그['hth_before_w'] 또는 '네') 현지의 show_hth = 네, 아니요(아르그['show_hth'] 또는 '네') 현지의 show_win = 네, 아니요(아르그['show_win'] 또는 '네') 현지의 show_draw(표시) = 네, 아니요(아르그['show_draw'] 또는 '아니요') 현지의 show_loss = 네, 아니요(아르그['show_loss'] 또는 '아니요') 현지의 첫 번째 = 네, 아니요(아르그['before_w'] 또는 '아니요') 현지의 show_displays(표시) = 네, 아니요(아르그['show_module'] 또는 '아니요') 현지의 기타_cols = 톤수(아르그['cols_cols']) 또는 0 -- 커스텀 헤더 옵션 현지의 group_head_text = 아르그['group_module'] 또는 '<abbr title="Group">Grp </abbr>' 현지의 플레이어_헤드_head_text = 아르그['플레이어_프로세서'] 또는 '선수' -- 초기화 현지의 tt = {} tt.세어보세요 = 0 --콜할 때마다 1개씩 올라갑니다. tt.탭_텍스트 = t -- 실제 텍스트 -- 실제 헤더 한다면 pos_label ~= 제로 그리고나서 tt = p_sub.콜헤드(tt,28,pos_label) -- 위치 col 끝. -- 그룹 헤더 추가 한다면 풀 테이블 그리고. group_col 그리고나서 tt = p_sub.콜헤드(tt,28,group_head_text) -- 그룹 col 끝. tt = p_sub.콜헤드(tt,플레이어 폭,플레이어_헤드_head_text..VTE_텍스트) -- 플레이어 콜 한다면 풀 테이블 그리고. show_rating 그리고나서 현지의 rate_date = 아르그['rate_date'] 또는 '' tt = p_sub.콜헤드(tt,28, '[FIDE 세계 랭킹 평가]<br/><small><span style="white-space:nowrap">'..rate_date..'</span>작다') 끝. 한다면 show_played(표시) 그리고나서 tt = p_sub.콜헤드(tt,28, '<abbr title='게임 플레이'> Pld </abbr>') --콜 게임을 했다. 끝. tt = p_sub.콜헤드(tt,28, '점수') -- 스코어 콜 한다면 풀 테이블 그리고나서 한다면 show_hth 그리고. 첫 번째 그리고나서 tt = p_sub.콜헤드(tt,28, '<abbr title='헤드투헤드"> H2H </abbr>) -- 머리 대 머리 콜 끝. 한다면 show_displays(표시) 그리고. 첫 번째 그리고나서 tt = p_sub.콜헤드(tt,28, '<abbr title='소네보른-베르거 점수"> [소네보른-베르거 점수 SB]</abbr>') 끝. 한다면 show_win 그리고나서 tt = p_sub.콜헤드(tt,28, '윈스') -- col을 획득합니다. 끝. 한다면 show_draw(표시) 그리고나서 tt = p_sub.콜헤드(tt,28, '그림') -- col을 그립니다. 끝. 한다면 show_loss 그리고나서 tt = p_sub.콜헤드(tt,28, '손실') --손실 col 끝. 한다면 show_hth 그리고. 것은 아니다. 첫 번째 그리고나서 tt = p_sub.콜헤드(tt,28, '<abbr title='헤드투헤드"> H2H </abbr>) -- 첫 번째 타이브레이크가 아니라면 정면돌파 콜 끝. 한다면 show_displays(표시) 그리고. 것은 아니다. 첫 번째 그리고나서 tt = p_sub.콜헤드(tt,28, '<abbr title='소네보른-베르거 점수"> [소네보른-베르거 점수 SB]</abbr>') 끝. 위해서 에코=1,기타_cols 하다 현지의 엑스트라_헤드_텍스트 = 아르그['filen_filen_filen'..에코] 또는 ('추가' .. 에코) tt = p_sub.콜헤드(tt,28,엑스트라_헤드_텍스트) 끝. tt.세어보세요 = tt.세어보세요+1 table.insert(tt.탭_텍스트,results_syslog_txt) 끝. 돌아가다 tt 끝. 기능. pp.배를 젓다(,t,아르그,p_sub,메모_존재하다,hth_id_list,풀 테이블,랜드_발,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- 개개의 행의 내부를 작성합니다. -- 서브모듈 사용방법 현지의 음. = 요구하다('모듈:수학') 현지의 네, 아니요 = 요구하다('모듈:네, 아니요.) -- 테이블의 커스텀/디폴트 옵션을 가져옵니다. 현지의 win_points = 톤수(아르그['윈점']) 또는 1 현지의 draw_포인트 = 톤수(아르그['그림 그리기']) 또는 0.5 현지의 loss_points(손실_포인트) = 톤수(아르그['손실 포인트']) 또는 0 -- 정보를 얻습니다. 현지의 이김. = 톤수(아르그['우승_'..team_code_ii]) 또는 0 현지의 그리다 = 톤수(아르그['그리다'..team_code_ii]) 또는 0 현지의 손실 = 톤수(아르그['loss_'..team_code_ii]) 또는 0 현지의 hth_local = 아르그['hth_'..team_code_ii] 또는 '' 현지의 show_rating = 네, 아니요(아르그['show_rating'] 또는 '아니요') 현지의 show_played(표시) = 것은 아니다. 네, 아니요(아르그['숨김_재생'] 또는 '아니요') 현지의 스코어_오버_재생 = 네, 아니요(아르그['score_over_played'] 또는 '아니요') 현지의 첫 번째 = 네, 아니요(아르그['hth_before_w'] 또는 '네') 현지의 show_hth = 네, 아니요(아르그['show_hth'] 또는 '네') 현지의 show_win = 네, 아니요(아르그['show_win'] 또는 '네') 현지의 show_draw(표시) = 네, 아니요(아르그['show_draw'] 또는 '아니요') 현지의 show_loss = 네, 아니요(아르그['show_loss'] 또는 '아니요') 현지의 wdl_iff_hth = 네, 아니요(아르그['wdl_iff_hth'] 또는 '아니요') 현지의 첫 번째 = 네, 아니요(아르그['before_w'] 또는 '아니요') 현지의 show_displays(표시) = 네, 아니요(아르그['show_module'] 또는 '아니요') 현지의 하지 않다 = 네, 아니요(아르그['b_'..team_code_ii] 또는 '아니요') 현지의 sb_iff_hth = 네, 아니요(아르그['f_iff_hth'] 또는 '아니요') 현지의 기타_cols = 톤수(아르그['cols_cols']) 또는 0 현지의 disp_disp_disp. = 네, 아니요(아르그['filen_filen_filen'] 또는 '네') --다음으로 몇 가지 값을 계산합니다. 현지의 일치하다 = 이김. + 그리다 + 손실 현지의 포인트 = win_points*이김. + draw_포인트*그리다 + loss_points(손실_포인트)*손실 현지의 스코어 = 0 현지의 템플 스타일 = .get Current Frame(전류 프레임)():확장 태그{ 이름. = '패턴 스타일', args = { src = '화면 리더 전용/styles.css' } } hth_local = .스트링.서브(hth_local, '%s*s', '.5') 한다면 hth_local == '' 그리고나서 hth_local = '&mdash;' 그렇지 않으면 disp_disp_disp. 그리고나서 hth_local = 톤수(hth_local) 또는 0 한다면 math.floor(hth_local) ~= hth_local 그리고나서 한다면 math.floor(hth_local) > 0 그리고나서 hth_local = math.floor(hth_local) .. 템플 스타일 .. '<span class="sr-only">&nbsp;/span><sup>1</sup>&frasl;<sub>2</sub>' 또 다른 hth_local = 템플 스타일 .. '<span class="sr-only">&nbsp;/span><sup>1</sup>&frasl;<sub>2</sub>' 끝. 끝. 끝. 한다면 스코어_오버_재생 그리고나서 포인트 = '<span style="white-space:nowrap">' .. 포인트 .. ' / ' .. 일치하다 .. '</span>' 그렇지 않으면 disp_disp_disp. 그리고나서 한다면 math.floor(포인트) ~= 포인트 그리고나서 한다면 math.floor(포인트) > 0 그리고나서 포인트 = math.floor(포인트) .. 템플 스타일 .. '<span class="sr-only">&nbsp;/span><sup>1</sup>&frasl;<sub>2</sub>' 또 다른 포인트 = 템플 스타일 .. '<span class="sr-only">&nbsp;/span><sup>1</sup>&frasl;<sub>2</sub>' 끝. 끝. 끝. -- Sonneborn – Berger 점수 한다면 show_displays(표시) 그리고나서 한다면 (sb_iff_hth 그리고. hth_local == '&mdash;') 또는 하지 않다 그리고나서 스코어 = '&mdash;' 끝. 한다면 스코어 == 0 그리고나서 현지의 다리 = 톤수(아르그['실패']) 또는 1 위해서 JJ=1,N_teams 하다 현지의 tj = 아르그['팀 .. JJ] 현지의 tj포인트 = win_points*아르그['우승_'..tj] + draw_포인트*아르그['그리다'..tj] + loss_points(손실_포인트)*아르그['loss_'..tj] 한다면 ii ~= JJ 그리고나서 현지의 match_str = 아르그[일치_' .. team_code_ii .. '_' .. tj] 또는 '' 위해서 l=1,다리 하다 현지의 gii = .스트링.경기(match_str, '^%s*([^%+%s]*)%s*%+'?) 한다면 gii == '1' 그리고나서 스코어 = 스코어 + win_points*tj포인트 그렇지 않으면 gii == '½' 그리고나서 스코어 = 스코어 + draw_포인트*tj포인트 그렇지 않으면 gii == '0' 그리고나서 스코어 = 스코어 + loss_points(손실_포인트)*tj포인트 끝. match_str = .스트링.서브(match_str, '^%s*([^%+%s]*)%s*%+'?, '') 또는 '' 끝. 끝. 끝. 끝. 끝. -- 일부 지역 대표팀 현지의 hth_string 현지의 tt_return(반환) = p_sub.h번째(,아르그,풀 테이블,hth_id_list,제로,메모_존재하다,team_list,team_code_ii,ii_start,ii_end,랜드_발) hth_string = tt_return(반환).스트레이트 hth_id_list = tt_return(반환).목록. 메모_존재하다 = tt_return(반환).메모_존재하다 -- 열구축 한다면 풀 테이블 그리고. show_rating 그리고나서 현지의 레이트 ii = 아르그['등급_'..team_code_ii] 또는 '' table.insert(t,'style='..ii_fw..bg_col..'" '..레이트 ii..'\n') --등급 끝. 한다면 show_played(표시) 그리고나서 table.insert(t,'style='..ii_fw..bg_col..'" '..일치하다..'\n') -- 재생됨 끝. table.insert(t,' style="bold-weight: 굵은 글씨;"..bg_col..'" '..포인트..'\n') -- 포인트 한다면 풀 테이블 그리고나서 한다면 show_hth 그리고. 첫 번째 그리고나서 table.insert(t,'style='..ii_fw..bg_col..'" '..(hth_local 또는 '')..'\n') -- 정면돌파 끝. 한다면 show_displays(표시) 그리고. 첫 번째 그리고나서 table.insert(t,'style='..ii_fw..bg_col..'" '..스코어..'\n') -- 소네본-베르거 끝. 한다면 show_win 그리고나서 한다면 wdl_iff_hth 그리고. hth_local == '&mdash;' 그리고나서 이김. = '&mdash;' 끝. table.insert(t,'style='..ii_fw..bg_col..'" '..이김...'\n') --원 끝. 한다면 show_draw(표시) 그리고나서 한다면 wdl_iff_hth 그리고. hth_local == '&mdash;' 그리고나서 그리다 = '&mdash;' 끝. table.insert(t,'style='..ii_fw..bg_col..'" '..그리다..'\n') -- 드류 끝. 한다면 show_loss 그리고나서 한다면 wdl_iff_hth 그리고. hth_local == '&mdash;' 그리고나서 손실 = '&mdash;' 끝. table.insert(t,'style='..ii_fw..bg_col..'" '..손실..'\n') --잃어버렸다 끝. 한다면 show_hth 그리고. 것은 아니다. 첫 번째 그리고나서 table.insert(t,'style='..ii_fw..bg_col..'" '..(hth_local 또는 '')..'\n') -- 첫 타이브레이크가 아니라면 정면승부 끝. 한다면 show_displays(표시) 그리고. 것은 아니다. 첫 번째 그리고나서 table.insert(t,'style='..ii_fw..bg_col..'" '..스코어..'\n') -- 소네본-베르거 끝. 위해서 에코=1,기타_cols 하다 현지의 엑스트라ii = 아르그['실패'..에코..'_'..team_code_ii] 또는 '' table.insert(t,'style='..ii_fw..bg_col..'" '..엑스트라ii..'\n') -- 추가 끝. 끝. 돌아가다 {t=t, 메모_존재하다=메모_존재하다, hth_id_list=hth_id_list} 끝. 기능. pp.상황(아르그) -- 상태 선언 옵션 -- ------------------------------------------------------------ -- 메모: status_code에 추가할 경우 status_called 및 status_letters에도 추가합니다!! --그렇지 않으면 기능이 저하됩니다. -- ------------------------------------------------------------ 현지의 status_code, status_called(착신) = {} status_code = { A='한 단계 더 나아가다', C='챔피언', D='실격', E='삭제', G='게스트', H='호스트, O='플레이오프 승자', P='프로모션', Q='표시된 단계에 적합함', R='재지정', T='적격하지만 표시된 특정 단계까지는 아직 진행되지 않음', X='?', Y='?', Z='?'} status_called(착신) = { A=거짓의, C=거짓의, D=거짓의, E=거짓의, G=거짓의, H=거짓의, O=거짓의, P=거짓의, Q=거짓의, R=거짓의, T=거짓의, X=거짓의, Y=거짓의, Z=거짓의} 현지의 상태_문자 = 'ACDEGHOPQRTXYZ' -- 상태 위치(읽기 전 또는 후 및 기본값) 현지의 stat_pos_val = 아르그['status_pos'] 또는 '' 현지의 상태_위치 = '후' -- 기본 위치 stat_pos_val = string.lower(stat_pos_val) 한다면 stat_pos_val=='이전' 그리고나서 상태_위치 = '이전' 그렇지 않으면 stat_pos_val=='후' 그리고나서 상태_위치 = '후' 끝. -- 커스텀 상태 옵션에서 읽기 위해서 l .본문.점등(상태_문자, '') 하다 한다면 아르그['status_text_' .. l] 그리고나서 status_code[l] = 아르그['status_text_' .. l] 끝. 끝. 돌아가다 {코드=status_code, 불렀다=status_called(착신), 편지들=상태_문자, 위치=상태_위치} 끝. 돌아가다 pp