游戏王残局简化版

Annotation For script/ygopro_编译.html
Login

Annotation For script/ygopro_编译.html

Origin for each line in script/ygopro_编译.html from check-in bcc9116867:

3ee8d98272 2023-10-14    1: <!DOCTYPE html>
3ee8d98272 2023-10-14    2: <html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
3ee8d98272 2023-10-14    3: <head>
3ee8d98272 2023-10-14    4:   <meta charset="utf-8" />
3ee8d98272 2023-10-14    5:   <meta name="generator" content="pandoc" />
3ee8d98272 2023-10-14    6:   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
3ee8d98272 2023-10-14    7:   <title>ygopro_编译</title>
3ee8d98272 2023-10-14    8:   <style>
3ee8d98272 2023-10-14    9: code{white-space: pre-wrap;}
3ee8d98272 2023-10-14   10: span.smallcaps{font-variant: small-caps;}
3ee8d98272 2023-10-14   11: div.columns{display: flex; gap: min(4vw, 1.5em);}
3ee8d98272 2023-10-14   12: div.column{flex: auto; overflow-x: auto;}
3ee8d98272 2023-10-14   13: div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
3ee8d98272 2023-10-14   14: 
3ee8d98272 2023-10-14   15: ul.task-list[class]{list-style: none;}
3ee8d98272 2023-10-14   16: ul.task-list li input[type="checkbox"] {
3ee8d98272 2023-10-14   17: font-size: inherit;
3ee8d98272 2023-10-14   18: width: 0.8em;
3ee8d98272 2023-10-14   19: margin: 0 0.8em 0.2em -1.6em;
3ee8d98272 2023-10-14   20: vertical-align: middle;
3ee8d98272 2023-10-14   21: }
3ee8d98272 2023-10-14   22: .display.math{display: block; text-align: center; margin: 0.5rem auto;}
3ee8d98272 2023-10-14   23: </style>
3ee8d98272 2023-10-14   24:   <style type="text/css">@media screen and (min-aspect-ratio:1/1) {html {background-color: f8f8f8;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 8px 8px;background-position: 0 0, 16px 8px;}body {border: solid #a0a0a0 1px ;border-radius: 20px ;padding: 26px ;margin: 16px ;color: #101010 ;background: linear-gradient(to right, #efefefff, #efefeffc);padding: 2em 11%;line-height: 2.1em;box-shadow: 0px 0px 1px rgba(160, 160, 160, 1), 0px 0px 1px rgba(160, 160, 160, 1);}}h1,h2,h3,h4,h5,h6 {font-size: 1.5em;color: #3F5770;border-bottom: 1px solid #dddddd;margin: 1.2em 0em;}a {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;background-color: white;text-decoration-color: blue;border-radius: 0.2em;}a:visited {color: blue;text-decoration-color: white;}a:active {color: red;}nav ul li {margin: 1.2em 0em;}p::before {}p {margin: 1.2em 0;letter-spacing: 0.15em;}.title {background-color: white;font-size: 2em;text-align: center;}b {background-color: white;list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;border-radius: 0.2em;}details {border-bottom: 1px solid #dddddd;}details > summary {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;outline: none;border-radius: 0.2em;}pre {background: #f6f6f6;border-left: 0.5em solid #ccc;padding: 0.4em;border-radius: 0.2em;overflow-wrap:break-word;}pre:active {color: red;}code {font-family: "Verdana";}button {background: #ffffff;color: #20894d;}button:active {color: red;}</style>
3ee8d98272 2023-10-14   25:   <!--[if lt IE 9]>
3ee8d98272 2023-10-14   26:     <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
3ee8d98272 2023-10-14   27:   <![endif]-->
3ee8d98272 2023-10-14   28: </head>
3ee8d98272 2023-10-14   29: <body>
3ee8d98272 2023-10-14   30: <header id="title-block-header">
3ee8d98272 2023-10-14   31: <h1 class="title">ygopro_编译</h1>
3ee8d98272 2023-10-14   32: </header>
3ee8d98272 2023-10-14   33: <nav id="TOC" role="doc-toc">
3ee8d98272 2023-10-14   34: <ul>
3ee8d98272 2023-10-14   35: <li><a href="#前言" id="toc-前言"><span class="toc-section-number">1</span> 前言</a></li>
3ee8d98272 2023-10-14   36: <li><a href="#新建文件夹" id="toc-新建文件夹"><span class="toc-section-number">2</span> 新建文件夹</a></li>
bcc9116867 2023-10-14   37: <li><a href="#编译器" id="toc-编译器"><span class="toc-section-number">3</span> 编译器</a></li>
bcc9116867 2023-10-14   38: <li><a href="#lua" id="toc-lua"><span class="toc-section-number">4</span> lua</a></li>
3ee8d98272 2023-10-14   39: </ul>
3ee8d98272 2023-10-14   40: </nav>
3ee8d98272 2023-10-14   41: <h1 data-number="1" id="前言"><span class="header-section-number">1</span> 前言</h1>
3ee8d98272 2023-10-14   42: <p>来,走起,我们来编译一个小且可用的 ygopro 。</p>
3ee8d98272 2023-10-14   43: <p>功能不求全,只要有残局功能就够了。</p>
3ee8d98272 2023-10-14   44: <h1 data-number="2" id="新建文件夹"><span class="header-section-number">2</span> 新建文件夹</h1>
3ee8d98272 2023-10-14   45: <p>万事第一步,先新建个文件夹……</p>
3ee8d98272 2023-10-14   46: <p>然后,不做了,等一年后再来看,进度 0%,哈哈,这才是正常轨迹。</p>
3ee8d98272 2023-10-14   47: <p>上面虽然是玩笑话,但也估摸着是我的真实经历,只不过我这个拖延王拖延了大概六年。</p>
3ee8d98272 2023-10-14   48: <p>好了,给这个文件夹改名吧。</p>
3ee8d98272 2023-10-14   49: <p>我则取名叫:</p>
3ee8d98272 2023-10-14   50: <pre><code>ygopro</code></pre>
bcc9116867 2023-10-14   51: <h1 data-number="3" id="编译器"><span class="header-section-number">3</span> 编译器</h1>
bcc9116867 2023-10-14   52: <p>编译时,一个很麻烦的东西就是编译器。</p>
bcc9116867 2023-10-14   53: <p>很长一段时间,我都不知道到哪里去下编译器。</p>
bcc9116867 2023-10-14   54: <p>像这种基础性的东西难道不应该有某某一个人把它们汇总起来让人随便下吗?</p>
bcc9116867 2023-10-14   55: <p>后来我发现,诶,还真有,但那人的网站在百度上很难搜。</p>
bcc9116867 2023-10-14   56: <p>现在的搜索引擎,早不名副其实了。</p>
bcc9116867 2023-10-14   57: <h1 data-number="4" id="lua"><span class="header-section-number">4</span> lua</h1>
bcc9116867 2023-10-14   58: <p>先下载 lua 的源码:</p>
bcc9116867 2023-10-14   59: <pre><code>https://www.lua.org/download.html</code></pre>
bcc9116867 2023-10-14   60: <p>直接下最新版本。</p>
bcc9116867 2023-10-14   61: <p>顺便一说, lua5.3 有 bug ,性能也不如 lua5.4 。</p>
bcc9116867 2023-10-14   62: <p>下完之后,解压,会出现一大堆文件,别怕。</p>
3ee8d98272 2023-10-14   63: <script>
3ee8d98272 2023-10-14   64: 
3ee8d98272 2023-10-14   65: document.onclick = function(event) {
3ee8d98272 2023-10-14   66: 
3ee8d98272 2023-10-14   67:   var target = event.target
3ee8d98272 2023-10-14   68: 
3ee8d98272 2023-10-14   69:   if (target.tagName == "PRE"
3ee8d98272 2023-10-14   70:   || target.tagName == "CODE") {
3ee8d98272 2023-10-14   71:     if (window.getSelection().toString() !== "") {
3ee8d98272 2023-10-14   72:       return
3ee8d98272 2023-10-14   73:       }
3ee8d98272 2023-10-14   74:     var range = document.createRange();
3ee8d98272 2023-10-14   75:     range.selectNodeContents(target);
3ee8d98272 2023-10-14   76:     window.getSelection().removeAllRanges();
3ee8d98272 2023-10-14   77:     window.getSelection().addRange(range);
3ee8d98272 2023-10-14   78:     var successful = document.execCommand("copy");
3ee8d98272 2023-10-14   79:     target.removeAttribute("contenteditable");
3ee8d98272 2023-10-14   80:     window.getSelection().removeAllRanges();
3ee8d98272 2023-10-14   81:     }
3ee8d98272 2023-10-14   82: 
3ee8d98272 2023-10-14   83:   }
3ee8d98272 2023-10-14   84: 
3ee8d98272 2023-10-14   85: </script>
3ee8d98272 2023-10-14   86: </body>
3ee8d98272 2023-10-14   87: </html>