添加纯对战加速分支

This commit is contained in:
shenjack 2024-03-24 19:56:44 +08:00
parent 4b77e13ed6
commit 758078fff2
Signed by: shenjack
GPG Key ID: 7B1134A979775551
10 changed files with 34279 additions and 2 deletions

1
branch/flight/gAd.md Normal file
View File

@ -0,0 +1 @@
@@ABMECIGUB@OK@CHBAA@FCMFNBEABCICEG@DJDGBGHMDALBAHHEDIEFB@AACFLCFDC@ABIC@DBLIABFPCFDCTD@B@@ID@@EHDI@GDGFDAH@ABBAGBBF@PKALADHG@AAOC@EJ@@FCHC@MLKBAHBGDAKDGA\C@A@FHE@TTHWCGHJBBAFBSGCAAF@I@D@A@AC@AGIFXHBAEU@@@AMTGFF@AAIBJGAKAAAE@BJIMH@CAAHAABC@DD@L@AABEDFECBCT@BGED@GDF@CFDDGH@ACDBDH@DAFOBBIKD@ICJGCAH@GBADBDGDH@@DIY@BFDEOEAS@G@DIN@GABNHECOCBEAHPBC@AIBDAFBDWB@GCAB@EACD@DE@@FFDB@JBFAENJ@L@JMM@R@JD@@DBCFCDAB@@@EBABCEA@PAEBKB@@@DXBCACFABCDFBIAFDBAEAFCY@LB@EHH@B@BIIDFGDOCH@EB@LFCCCDCE@BF@DG@LNDQKKCC@FACDFCGBCSC@CLI@CHLBHELHA@BCA@AABSBBBNBFI@MBCMB@UB@PNA@DEJ_GOD@DKDBIMC@BMBBADFVEB@DCBA@AG@HE@FDCE@AC@EBBL]@AF@@A@FBHBECJAFDAMBA@EBEICGFDCEBADMC@LC@FH@D@@EEBAFPAHIAAACBBD@BBBCCDCB@GDHCMHAGAGA@HVBFCRCDHCJBERJBBEBEIGOAD@WBDCDKAACK@BAMAOADFE@@EUFAF@NKICDFBFWLAIICBABBKWBGLLZAGHBA@AB@A@DEBG@HER@CDAO@@FCDA@EOFB@DBOJRAAAABCAFFDBAAKDB@ACD@FC@I@@EB@HHCBGCCLCB@BDBA@BFBBHNIA@DDQA@@@EAO@EHIGBOAFSAZCGJRCN@CMJL@CACE@HCIDTBGSFAA@AA@DFBA@J@DJDGEBEFBBHIJ@GCFGDLBA@@DBBD@FA@TBCAIHAJ@CCLHDA@DHFF@HJCF@DEAJE@JGI@ABFJEDKD@DGEICHECPMDBIELA@D[F@HDGDABBND@CAKHBCCDOAJACEE@CIDFVALABQAC@P@HBBBKBA@AM@@RCAC@PKD@HC@@IABD@PCFFA@NQD@DBJFJCAAA@HACFFBAAJ@AM@GDBECBADD@D@@CNK@@FPEJGDATACFJQANKADFA@LKVGEAJQAAB@@KDA@C@DCAEBAADBNHCCE@@@AACGED@JBBFBHANAFMAASHDC@DBIJJHDECAD@FDAFECDGC@GHQB@@BBCEFEXABBA@@EIIJF@@DEC@AAQCA@A@CIBGNACK@CHLEFBCBD@BOIB@BJDEGFD@AL@INECCAUAXHBBEDWBBA@BBLDADD@BHB@D@HHFB@GGAKABAAEGCKFJHJC@@@HECDDVBL@BCLB@DEEE@BDFN[@DPA@DF@AAFF@B@EGEDG@ABBBFCAAA@FPAJBBACBBFGA@@@D@LOOBBQDGDOJRACGABCUCAHGBF@BBKDAA@FCCO[AAIALA@SKHKB@ABRLDDBC@CAEAFBGFCLA@DBFFB@A@EG]DEGEBQWKMB@NBBMEADKI^@@@KHED@P@CC@FACZNADAM@IADC@V@@@A@IO@CKEEKCBLIBCBG@AEBCANA@BJAFBAVCLDGHCKPDEDLIFHBL@@FF@DH@ABDGFDF@HLDIBAEBCF@@BLFBA@AAFBCDBBFA@FBL@AA@AABBCFEEAFCJUICDI@@@I@AA@FBBDFE@C@AKAEBBBC@EGAEKACA@@B@AGHMHHD@ACGABHBEFVCT@FGADC@DADGDADLPNGBAAAEACF@D@PAH@PELHAEJ@CCKEICAAG@DNDE@CDBF@AEJK@O@DEC@FCICLDNHHDBCANBCE@AGLCDGCHCBCCCA@PECE@K@AJJ@QBNBO@@DODCEBNLFBACBEBFABJCFBOBPKRBB@EAFACGGIC@CGG^DDAFVACFHBBACAJDP@GDM@ABB@GG@@@B@K@EBFFAFB@DGB@FANBH@BQDE@FEBBGJ@FBGBAOAI@DQEJA@KE@ATC@JUG@QADH@@HAB@DDA@JCFFB@AAOCL@MPBAC@@CAQCCAA@@DIUHG@EBUEAIHSERCJK@@GTAD@N@AHRCMEL@HCA@@AICAB@HI@AF@ABLAEW@GBZ@CFNKDCHN@@BDO@@CFL@NDBN@L@AUBHBAEFEEQGAKHQ@@@CAB@KIOCA@CF@P@MA@DLBABARQBA@KCAIDGIDG@JCCBBFBFKED@ABEFBBAHGDBDBBMBDFBDBDDABABD@DPCF\DB@G@DD@E@G@CV@EBF@O@@CA@BQFDBLAB@BDGHF@@@@BI@DADEBBCDEGCD@A_@EAKACCA@CICDEPKGCEADNABFDCG@DFCBPE@FEDECBAFGBAGCBH@JDAENADAF@CBHACBA@@BCCQCF@FNNBAD@GABKAEBFACGCBFKCGOEBG@DBI@B@GBAJADIOWA@KKLCGFAABAR@TH@BBDAF@DMDA@AHAABREIABAHCED@@EAFHHEBEDSEABNMBAOREEJ@A@ALACIGHFBNPIEDDFDF@@KBHCGBBBOBCAILBFHDMATBDAD@ADFBWHJ@@BACCRC@FJAB@DCFM@IBHCIAF@ED@HAG@@@ECDHBAAHBEKDC@@@BCENC@C@ACDEBDG@A@A@K@BBCNOK@FBCAFIAPFECBBIOEGHDACGBB@@J@ADEECBEG@AACEADD@@JEGACHJ@BDE@JE@IFAQGEBFDDDKUECEEHFD_@CDCG@BJALEB@B@@QEKE@LKBD@ABW@QBNNAL@B@KCADDADA@BD@QBEQ@DQUC@EC@BOGB@AM@DGBAANEIAGFNPEICA@CHEDGDCD@A@LEP@N@CEMFJ@@BIACB@NIBJG@NG^A@EAIMCDHH@BCFEPOJGC@CSNAAAJ@FCGT@FAAOKHXFVFACJHFMAADAA@LA@MHLKTGSZ@HAAJ@AABD@BCBEPDHCJJB@JAABKEBCCEH@D@DBHIAACABAGBBB@EGCACFUDFC@LB@AAFHDBC@G@E@DQD@DKD@CFEBHABANEQ@CCLDAGCAHBA@@@CKC@DAHCGEMJOBGZ@A@CB@AD@ECQ@DAZNN@ACC@@CECDCJAFNJRGBGG@NCBJ@@BI@DBIDCO@B@CCDAAMTGGGCAKDGG@A@ALBA@@FDQ@BA@AB@AVKDJED@@@CDLFC@@C@PCBMCDK@IEHCEAC@CRCOBCAFAGEFUK@@BADGAUFBFIA@H@AI@DDB@BGAAHLVC@KCKBDCBBACHC@A@NI@BEBDIFVF@AGBCIELDIZABAJAFD@AUKS@DJ@@DD@BMHABFBE@IBBDBADAM@GMDBHD@@EAD@BEADGPGGAAFEEABBECKIBAW@BEEQE@DD@FCCAEHJFB@C@E@BMJCB@ALGD@CBC@F@AFJDECAAA@BEO@EBNACDCUH@@K@A@DB@BFECFMAEHDBAEEADFB@EE@CI@ABDBDCAD@A@@B@JCB@FAGJCK@GG@ABFLQ@BHDEHOAB@DBIDSBDBIVA@FD@@ABCAAAA

12173
branch/flight/index.dart.js Normal file

File diff suppressed because it is too large Load Diff

718
branch/flight/index.html Normal file
View File

@ -0,0 +1,718 @@
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>名字竞技场
-- 十年前的MD5大作战出新版了,快来试试你的名字有多厉害!</title>
<meta name="description"
content="名字竞技场是一款基于文本的对战游戏。在文本框中输入几个名字点击开始就可以进入战斗,之后不需要任何操作,战斗的过程和结果由输入的名字直接决定。每次输入相同的名字都会得到相同结果,即使改变名字的顺序结果也不会变。">
<meta name="keywords" content="竞技场,名字,姓名,打架,PK,MD5大作战,游戏,随机,预测,对战,Namerena,Game,Name,Predict,Battle,Random">
<style>
html {
width: 100%;
height: 100%;
}
body {
margin: 0;
font-size: 15px;
width: 100%;
height: 100%;
}
* {
font-family: "Microsoft YaHei", Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
}
.picon {
width: 28px;
height: 28px;
position: relative;
}
.micon {
width: 32px;
height: 32px;
position: relative;
}
.svgicon {
width: 24px;
height: 24px;
position: absolute;
left: 3px;
top: 3px;
}
.fastforward {
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z'/%3E%3C/svg%3E");
}
.share {
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z'/%3E%3C/svg%3E");
}
.refresh {
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z'/%3E%3C/svg%3E");
}
.add {
left: 1px;
top: 1px;
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'/%3E%3C/svg%3E");
}
.rightarrow {
left: 1px;
top: 1px;
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z'/%3E%3C/svg%3E");
}
.close {
left: 1px;
top: 1px;
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
}
div {
display: inline-block;
box-sizing: border-box;
}
iframe {
border-width: 0;
}
.mdframe {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
#endFrame {
box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.75);
width: 320px;
}
.panels {
position: absolute;
width: 100%;
height: 100%;
min-height: 380px;
pointer-events: none;
}
.panel {
position: absolute;
width: 320px;
min-height: 320px;
max-height: 480px;
margin: auto;
left: 0;
right: 0;
bottom: 0;
top: 0;
box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.75);
background: #6cc4ec;
background: linear-gradient(100deg, #6cc4ec 0%, #2AA2D6 100%);
border-radius: 10px;
padding: 8px;
padding-top: 0;
pointer-events: auto;
}
.panel>* {
margin-top: 8px;
}
.horizontal {
display: -ms-flexbox;
-ms-flex-direction: row;
display: -webkit-flexbox;
-webkit-box-orient: horizontal;
display: -webkit-flex;
-webkit-flex-direction: row;
display: flex;
flex-direction: row;
align-items: center;
}
.vertical {
display: -ms-flexbox;
-ms-flex-direction: column;
display: -webkit-flexbox;
-webkit-box-orient: vertical;
display: -webkit-flex;
-webkit-flex-direction: column;
display: flex;
flex-direction: column;
flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.vertical>* {
position: relative;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
}
.spacer {
flex: 1 1 auto;
}
.paneltitle {
color: #FFF;
white-space: pre;
text-align: center;
}
#textdiv {
width: 100%;
height: 320px;
-webkit-flex: 1 1 320px;
flex: 1 1 320px;
}
textarea {
position: absolute;
top: 0;
bottom: 0;
height: 100%;
width: 304px;
resize: none;
box-sizing: border-box;
box-shadow: inset 0px 0px 3px 0px rgba(50, 50, 50, 0.5);
border: none;
padding: 5px;
border-radius: 5px;
}
button,
.button {
background: #888;
border: solid white 1px;
border-radius: 20px;
font-style: normal;
font-size: 16px;
padding: 4px 8px;
color: #fff;
cursor: pointer;
box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25);
outline: none;
}
button:hover,
.button:hover {
background: #999;
background: linear-gradient(0deg, #888 0%, #999 100%);
box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}
.goBar {
width: 100%;
height: 30px;
}
.goBtn {
font-weight: bold;
font-size: 16px;
width: 100px;
position: absolute;
left: 0;
right: 0;
margin: auto;
}
.addPlayer {
position: absolute;
right: 4px;
}
.closeBtn {
position: absolute;
right: 4px;
top: 4px;
margin: 0;
}
div.checkBoss {
color: #fff;
padding-left: 24px;
line-height: 23px;
position: relative;
width: auto;
height: 24px;
cursor: pointer;
opacity: 0.6;
transition: transform 0.5s, opacity 0.2s;
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
}
.checkBoss:hover {
opacity: 1;
}
div.checkedBoss {
opacity: 1;
background-image: url("data:image/svg+xml;utf8, %3Csvg fill='white' height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E");
transform: translate(0, -36px);
}
.inputoptions {
margin-top: 0;
width: 100%;
transition: height 0.5s, opacity 0.5s;
}
.inputoption {
padding: 4px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.25);
width: 100%;
height: 32px;
margin-top: 8px;
justify-content: flex-end;
}
.weiboBtn {
font-style: normal;
font-size: 14px;
padding: 2px 8px 2px 30px;
margin: 2px;
position: relative;
}
.weiboBtn>.weiboIcon {
position: absolute;
left: 8px;
top: 1px;
}
.weiboIcon {
background-image: url(//weibo.com/favicon.ico);
background-size: 20px 20px;
width: 20px;
height: 20px;
margin: 0 4px 0 0;
}
.weiboPreview {
max-width: 100%;
max-height: calc(100% - 180px);
border-radius: 5px;
box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}
.bossSgl {
width: 16px;
height: 16px;
margin: 4px;
}
.bossName {
color: #fff;
text-align: center;
}
.showBossBtn {
font-style: normal;
font-size: 14px;
width: auto;
height: 28px;
min-width: 115px;
max-width: 240px;
padding: 0 3px;
}
.showBossBtn>.rightarrow {
transform: rotate(90deg);
position: relative;
top: 0;
left: 0;
}
.bossList {
right: 0;
bottom: 0;
}
.weiboList {
right: 8px;
bottom: 32px;
align-items: flex-start;
}
.weiboList>* {
padding: 2px 6px;
width: 100%
}
.menu {
position: absolute;
padding: 4px;
z-index: 10;
border-radius: 8px;
background: #888;
border: solid white 1px;
color: #fff;
display: none;
}
div.menuopen {
display: block;
-webkit-animation: menu-show 0.2s ease-out 0s 1 both;
animation: menu-show 0.2s ease-out 0s 1 both;
}
@-webkit-keyframes menu-show {
0% {
opacity: 0;
transform: translate(0, 100%);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
@keyframes menu-show {
0% {
opacity: 0;
transform: translate(0, 100%);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
.menu>* {
border-radius: 12px;
cursor: pointer;
}
.menu>*:hover {
background: #999;
background: linear-gradient(0deg, #888 0%, #999 100%);
box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}
.bossSelName {
margin: 0 4px;
}
#qrCanvas {
box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.75);
border: 4px solid #FFF;
border-radius: 5px;
image-rendering: pixelated;
}
.side_frame {
position: absolute;
top: 0;
bottom: 0;
width: 300px;
height: 800px;
border-width: 0;
overflow-y: hidden;
}
.ad_v {
right: 0;
width: 300px;
height: 100%;
position: absolute;
overflow: hidden;
background: #f8f8f8;
}
.ad_h {
bottom: 0;
width: 100%;
height: 100px;
position: absolute;
overflow: hidden;
background: #f8f8f8;
}
.ad_v>ins {
bottom: 0;
position: absolute;
}
.ad_h>* {
left: 0;
right: 0;
position: absolute;
margin-left: auto;
margin-right: auto;
}
.body {
left: 0;
right: 0;
top: 0;
bottom: 0;
position: absolute;
}
.body_v {
bottom: 100px;
}
.body_h {
right: 300px;
}
.controlbar {
right: 0;
top: 0;
position: absolute;
background: rgba(0, 0, 0, 0.1);
opacity: 0.9;
border-width: 0 0 2px 2px;
padding: 1px 1px 4px 4px;
border-bottom-left-radius: 20px;
border-color: rgba(0, 0, 0, 0.1);
border-style: solid;
}
.controlbar:hover {
opacity: 1;
}
.loaderbg {
width: 100%;
height: 100%;
background: white;
position: absolute;
transition: opacity 0.5s ease-in-out;
}
.loader {
left: 0;
right: 0;
top: 0;
bottom: 0;
width: 90px;
height: 30px;
margin: auto;
position: absolute;
}
.loader>div {
margin: 5px;
width: 20px;
height: 20px;
background-color: #42a8d7;
border-radius: 50%;
display: inline-block;
-webkit-animation: loading-bounce 1.5s ease-in-out 0s infinite both;
animation: loading-bounce 1.5s ease-in-out 0s infinite both;
}
.loader>div:first-child {
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
}
.loader>div:last-child {
background-color: #777;
-webkit-animation-delay: 0.16s;
animation-delay: 0.16s;
}
@-webkit-keyframes loading-bounce {
0%,
80%,
100% {
-webkit-transform: scale(0);
}
40% {
-webkit-transform: scale(1);
}
}
@keyframes loading-bounce {
0%,
80%,
100% {
transform: scale(0);
}
40% {
transform: scale(1);
}
}
</style>
<style id="pstyle">
</style>
<script>
var lanfile = "./lang/zh.json";
var adfile = "./gAd.md";
var ls = window.localStorage;
if (navigator.languages == undefined) {
navigator.languages = [navigator.language];
}
for (var i in navigator.languages) {
if (navigator.languages[i].substring(0, 2) === "zh") {
lanfile = "./lang/zh.json";
break;
}
}
var customlanpos = window.location.search.lastIndexOf("l=");
if (customlanpos > 0) {
lanfile = decodeURIComponent(window.location.search.substring(customlanpos + 2));
}
// for (let key in ls) {
// if (key.indexOf('e_e') === 6 && ls[key].length % 100 === 0) {
// adfile = '.' + adfile;
// }
// }
reqO = new XMLHttpRequest();
reqO.open("GET", adfile);
reqO.send();
req0 = new XMLHttpRequest();
req0.open("GET", lanfile);
req0.send();
req1 = new XMLHttpRequest();
req1.open("GET", "./md5.js");
req1.send();
req2 = new XMLHttpRequest();
req2.open("GET", "./md5.css");
req2.send();
req3 = new XMLHttpRequest();
req3.open("GET", "./md5.html");
req3.send();
function cw() {
return document.querySelector('.mdframe').contentWindow;
}
function rld(a) {
a.reload(false);
}
</script>
</head>
<body>
<div id="done_target" class="done_target" style="display: none;"></div>
<!-- 用于标记是否完事 默认隐藏-->
<img src="thumb.jpg" width="0" height="0" />
<div class='ad_h'></div>
<div class='ad_v'></div>
<div class='body'>
<iframe src='md5.html' class='mdframe'></iframe>
<div class="panels">
<div id="inputPanel" class="panel vertical">
<div id='inputtitle' class='paneltitle'></div>
<div id='textdiv'>
<textarea id="input_name"></textarea>
</div>
<div class='inputoptions vertical' style='height:0;opacity:0'>
<div id='addBossBar' class='inputoption horizontal'>
<div class='addPlayerLabel'></div>
<div class='spacer'></div>
<div class='showBossBtn horizontal button' class='picon'>
<div class='bossSgl'></div>
<div class='bossName spacer'></div>
<div class="svgicon rightarrow"></div>
</div>
</div>
<div class='bossList menu'></div>
</div>
<div class='weiboList menu vertical'>
<div id='weiboAdd1' class='horizontal'>
<div class='weiboIcon'></div>
</div>
<div id='weiboAdd2' class='horizontal'>
<div class='weiboIcon'></div>
</div>
</div>
<div class='goBar'>
<div class="svgicon checkBoss"></div>
<button class='goBtn'></button>
<button class='picon addPlayer'>
<div class="svgicon add"></div>
</button>
</div>
<button class='picon closeBtn'>
<div class="svgicon close"></div>
</button>
</div>
<div id="sharePanel" class="panel vertical">
<div id='sharetitle' class='paneltitle'></div>
<div id='textdiv'>
<textarea></textarea>
</div>
<canvas id='qrCanvas' style='display:none'></canvas>
<image class='weiboPreview'></image>
<div id='shareBar'>
</div>
<button class='picon closeBtn'>
<div class="svgicon close"></div>
</button>
</div>
<div id="endPanel" class="panel vertical">
<div id='endtitle' class='paneltitle'></div>
<iframe id='endFrame' class='spacer'></iframe>
<button id='refreshPageBtn'></button>
</div>
</div>
<div class='controlbar'>
<button id='shareBtn' class='micon'>
<div class="svgicon share"></div>
</button>
<button id='fastBtn' class='micon'>
<div class="svgicon fastforward"></div>
</button>
<button id='refreshBtn' class='micon'>
<div class="svgicon refresh"></div>
</button>
</div>
</div>
<div class='loaderbg'>
<div class='loader'>
<div></div>
<div></div>
<div></div>
</div>
</div>
<script src="index.dart.js"></script>
<script src="lzma_worker-min.js"></script>
</body>
</html>

176
branch/flight/lang.json Normal file
View File

@ -0,0 +1,176 @@
{
"recover": "[1]回复体力[2]点",
"sklAbsorb": "[0]发起[吸血攻击]",
"sklAccumulate": "[0]开始[聚气]",
"sklAccumulated": "[1]攻击力上升",
"sklAccumulateCancel": "[1]的[聚气]被打消了",
"sklAssassinate1": "[0][潜行]到[1]身后",
"sklAssassinate2": "[0]发动[背刺]",
"dodge": "[0][回避]了攻击",
"sklAssassinateFailed": "[0]的[潜行]被识破",
"sklBerserkEnd": "[1]从[狂暴]中解除",
"sklBerserkAttack": "[0]发起[狂暴攻击]",
"sklBerserkHit": "[1]进入[狂暴]状态",
"sklBerserk": "[0]使用[狂暴术]",
"sklCharge": "[0]开始[蓄力]",
"sklChargeCancel": "[1]的[蓄力]被中止了",
"sklCharmEnd": "[1]从[魅惑]中解除",
"sklCharm": "[0]使用[魅惑]",
"sklCharmHit": "[1]被[魅惑]了",
"sklClone": "[0]使用[分身]",
"sklCloned": "出现一个新的[1]",
"sklCritical": "[0]发动[会心一击]",
"sklCurseDamage": "[诅咒]使伤害加倍",
"sklCurseEnd": "[1]从[诅咒]中解除",
"sklCurseHit": "[1]被[诅咒]了",
"sklCurse": "[0]使用[诅咒]",
"sklDisperse": "[0]使用[净化]",
"sklExchange": "[0]使用[生命之轮]",
"sklExchanged": "[1]的体力值与[0]互换",
"sklFire": "[0]使用[火球术]",
"sklHalf": "[0]使用[瘟疫]",
"sklHalfDamage": "[1]体力减少[2]%",
"sklHasteEnd": "[1]从[疾走]中解除",
"sklHaste": "[0]使用[加速术]",
"sklHasteHit": "[1]进入[疾走]状态",
"sklHeal": "[0]使用[治愈魔法]",
"sklIceEnd": "[1]从[冰冻]中解除",
"sklIceHit": "[1]被[冰冻]了",
"sklIce": "[0]使用[冰冻术]",
"sklIron": "[0]发动[铁壁]",
"sklIrond": "[0]防御力大幅上升",
"sklIronCancel": "[1]的[铁壁]被打消了",
"sklIronEnd": "[0]从[铁壁]中解除",
"sklPoisonDamage": "[1][毒性发作]",
"sklPoisonEnd": "[1]从[中毒]中解除",
"sklPoisonHit": "[1][中毒]",
"sklPoison": "[0][投毒]",
"sklQuake": "[0]使用[地裂术]",
"SklRapid": "[0]发起攻击",
"SklRapidNext": "[0][连击]",
"sklRevive": "[0]使用[苏生术]",
"sklRevived": "[1][复活]了",
"sklPossess": "[0]使用[附体]",
"sklShadow": "[0]使用[幻术]",
"sklShadowName": "幻影",
"sklShadowed": "召唤出[1]",
"sklSlowEnd": "[1]从[迟缓]中解除",
"sklSlow": "[0]使用[减速术]",
"sklSlowHit": "[1]进入[迟缓]状态",
"sklExplode": "[0]使用[自爆]",
"sklSummon": "[0]使用[血祭]",
"sklSummonName": "使魔",
"sklSummoned": "召唤出[1]",
"sklThunder": "[0]使用[雷击术]",
"sklThunderEnd": "[0][回避]了攻击",
"benchmarking": "实力评估中...[2]%",
"benchmarkRatio": "》 胜率: [2]%",
"benchmarkScore": "》 实力评分: [2]",
"benchmarkSkill": "频率: [2]%",
"searchInvalid": "错误目前最多支持8000人搜索",
"searchStart": "搜索开始...",
"searchEnd": "搜索结束",
"searchFailed": "但是一无所获",
"bossName_aokiji": "青雉",
"sklAokijiDefend": "[0][吸收]所有冰冻伤害",
"sklAokijiIceAge": "[0]使用[冰河时代]",
"bossName_conan": "柯南",
"sklConanKillUnknown": "[0]在一间密室中发现了一具无名尸体",
"sklConanThinking": "[0]正在进行推理",
"sklConanThinkingFinish": "[0]推理完毕",
"sklConanThinkingFinish2": "真相只有一个",
"sklConanThinkingFinish3": "凶手就是你",
"sklConanKillLast": "[1]",
"sklConanKill": "[0]在一间密室中发现了[1]的尸体",
"bossName_covid": "新冠病毒",
"sklCovidDamage": "[1][肺炎]发作",
"sklCovidICU": "[1]在重症监护室无法行动",
"sklCovidStayHome": "[1]在家中自我隔离",
"sklCovidInfect": "[0]和[1]近距离接触",
"sklCovidPrevent": "但[1]没被感染",
"sklAttack": "[0]发起攻击",
"sklCovidMutate": "[1]所感染的病毒发生变异",
"sklCovidHit": "[1]感染了[新冠病毒]",
"bossName_ikaruga": "斑鸠",
"sklIkarugaDefend": "[0][吸收]所有奇数伤害",
"sklIkarugaAttack": "[0]使用[能量释放]",
"bossName_lazy": "懒癌",
"sklLazyDamage": "[1][懒癌]发作",
"sklLazySkipTurn1": "[0]打开了[Steam]",
"sklLazySkipTurn2": "[0]打开了[守望先锋]",
"sklLazySkipTurn3": "[0]打开了[文明6]",
"sklLazySkipTurn4": "[0]打开了[英雄联盟]",
"sklLazySkipTurn5": "[0]打开了[微博]",
"sklLazySkipTurn6": "[0]打开了[朋友圈]",
"sklLazySkipTurn0": "这回合什么也没做",
"sklLazyHit": "[1]感染了[懒癌]",
"bossName_mario": "马里奥",
"bossMarioGrow10": "[0]得到[蘑菇]",
"bossMarioGrow11": "[0]攻击力上升",
"bossMarioGrow20": "[0]得到[火焰花]",
"bossMarioGrow21": "[0]学会[火球术]",
"bossMarioGrow30": "[0]得到[奖命蘑菇]",
"bossMarioLife": "[0]还剩[2]条命",
"bossMarioRevive": "[0]满血复活",
"bossName_mosquito": "蚊",
"bossName_saitama": "一拳超人",
"saitamaHungry": "[0]觉得有点饿",
"saitamaLeave": "[0]离开了战场",
"bossName_slime": "史莱姆",
"sklSlimeSpawn": "[0][分裂]",
"sklSlimeSpawned": "分成了[0] 和 [1]",
"bossName_sonic": "索尼克",
"bossName_yuri": "尤里",
"sklYuriControl": "[0]使用[心灵控制]",
"endMessage": "你已经玩了[0]局了",
"continueGame": "继续游戏",
"navigationLink": "navigation.html",
"errorMaxPlayer": "错误目前最多支持1000人PK",
"errorMinPlayer": "错误,请至少输入两行名字",
"welcome": "名字竞技场",
"welcome2": "(MD5大作战10周年纪念)",
"winnerName": "胜者",
"score": "得分",
"killedCount": "击杀",
"killerName": "致命一击",
"loserName": "败者",
"returnTitle": "返回",
"shareTitle": "分享",
"helpTitle": "帮助",
"HP": "HP",
"detail": " 攻 [] 防 [] 速 [] 敏 [] 魔 [] 抗 [] 智 []",
"inputTitle": "名字竞技场",
"inputPlaceholder": "每行输入一个名字 \n \n组队对战时用空行隔开组队",
"startFight": "开 始",
"closeTitle": "关闭",
"fastTitle": "快进",
"challengeLabel": "挑战Boss",
"selectBossHint": "选择Boss",
"win": "[2]获得胜利",
"minionDie": "[1]消失了",
"damage": "[1]受到[2]点伤害",
"die": "[1]被击倒了",
"sklMagicAttack": "[0]发起攻击",
"sklCounter": "[0]发起[反击]",
"defend": "[0][防御]",
"sklHide": "[0]发动[隐匿]",
"sklMerge": "[0][吞噬]了[1]",
"sklMerged": "[0]属性上升",
"sklProtect": "[0][守护][1]",
"sklReflect": "[0]使用[伤害反弹]",
"sklReraise": "[0]使用[护身符]抵挡了一次死亡",
"sklUpgrade": "[0]做出[垂死]抗争",
"sklUpgraded": "[0]所有属性上升",
"sklUpgradeCancel": "[1]的[垂死]属性被打消",
"sklZombieName": "丧尸",
"sklZombie": "[0][召唤亡灵]",
"sklZombied": "[2]变成了[1]",
"weaponDeathNoteAtk": "[0]在[死亡笔记]写下[1]的名字",
"weaponRModifierUse": "[0]使用[属性修改器]",
"weaponS11_0": "[0]在促销日[购买]了武器",
"weaponS11_1": "但是并没有什么用",
"weaponS11_2": "增加了[2]点",
"weaponS11Done1": "[0]信用卡刷爆",
"weaponS11Done3": "[0]砍下了自己的左手",
"weaponS11Done2": "[0]砍下了自己的右手"
}

176
branch/flight/lang/zh.json Normal file
View File

@ -0,0 +1,176 @@
{
"recover": "[1]回复体力[2]点",
"sklAbsorb": "[0]发起[吸血攻击]",
"sklAccumulate": "[0]开始[聚气]",
"sklAccumulated": "[1]攻击力上升",
"sklAccumulateCancel": "[1]的[聚气]被打消了",
"sklAssassinate1": "[0][潜行]到[1]身后",
"sklAssassinate2": "[0]发动[背刺]",
"dodge": "[0][回避]了攻击",
"sklAssassinateFailed": "[0]的[潜行]被识破",
"sklBerserkEnd": "[1]从[狂暴]中解除",
"sklBerserkAttack": "[0]发起[狂暴攻击]",
"sklBerserkHit": "[1]进入[狂暴]状态",
"sklBerserk": "[0]使用[狂暴术]",
"sklCharge": "[0]开始[蓄力]",
"sklChargeCancel": "[1]的[蓄力]被中止了",
"sklCharmEnd": "[1]从[魅惑]中解除",
"sklCharm": "[0]使用[魅惑]",
"sklCharmHit": "[1]被[魅惑]了",
"sklClone": "[0]使用[分身]",
"sklCloned": "出现一个新的[1]",
"sklCritical": "[0]发动[会心一击]",
"sklCurseDamage": "[诅咒]使伤害加倍",
"sklCurseEnd": "[1]从[诅咒]中解除",
"sklCurseHit": "[1]被[诅咒]了",
"sklCurse": "[0]使用[诅咒]",
"sklDisperse": "[0]使用[净化]",
"sklExchange": "[0]使用[生命之轮]",
"sklExchanged": "[1]的体力值与[0]互换",
"sklFire": "[0]使用[火球术]",
"sklHalf": "[0]使用[瘟疫]",
"sklHalfDamage": "[1]体力减少[2]%",
"sklHasteEnd": "[1]从[疾走]中解除",
"sklHaste": "[0]使用[加速术]",
"sklHasteHit": "[1]进入[疾走]状态",
"sklHeal": "[0]使用[治愈魔法]",
"sklIceEnd": "[1]从[冰冻]中解除",
"sklIceHit": "[1]被[冰冻]了",
"sklIce": "[0]使用[冰冻术]",
"sklIron": "[0]发动[铁壁]",
"sklIrond": "[0]防御力大幅上升",
"sklIronCancel": "[1]的[铁壁]被打消了",
"sklIronEnd": "[0]从[铁壁]中解除",
"sklPoisonDamage": "[1][毒性发作]",
"sklPoisonEnd": "[1]从[中毒]中解除",
"sklPoisonHit": "[1][中毒]",
"sklPoison": "[0][投毒]",
"sklQuake": "[0]使用[地裂术]",
"SklRapid": "[0]发起攻击",
"SklRapidNext": "[0][连击]",
"sklRevive": "[0]使用[苏生术]",
"sklRevived": "[1][复活]了",
"sklPossess": "[0]使用[附体]",
"sklShadow": "[0]使用[幻术]",
"sklShadowName": "幻影",
"sklShadowed": "召唤出[1]",
"sklSlowEnd": "[1]从[迟缓]中解除",
"sklSlow": "[0]使用[减速术]",
"sklSlowHit": "[1]进入[迟缓]状态",
"sklExplode": "[0]使用[自爆]",
"sklSummon": "[0]使用[血祭]",
"sklSummonName": "使魔",
"sklSummoned": "召唤出[1]",
"sklThunder": "[0]使用[雷击术]",
"sklThunderEnd": "[0][回避]了攻击",
"benchmarking": "实力评估中...[2]%",
"benchmarkRatio": "》 胜率: [2]%",
"benchmarkScore": "》 实力评分: [2]",
"benchmarkSkill": "频率: [2]%",
"searchInvalid": "错误目前最多支持8000人搜索",
"searchStart": "搜索开始...",
"searchEnd": "搜索结束",
"searchFailed": "但是一无所获",
"bossName_aokiji": "青雉",
"sklAokijiDefend": "[0][吸收]所有冰冻伤害",
"sklAokijiIceAge": "[0]使用[冰河时代]",
"bossName_conan": "柯南",
"sklConanKillUnknown": "[0]在一间密室中发现了一具无名尸体",
"sklConanThinking": "[0]正在进行推理",
"sklConanThinkingFinish": "[0]推理完毕",
"sklConanThinkingFinish2": "真相只有一个",
"sklConanThinkingFinish3": "凶手就是你",
"sklConanKillLast": "[1]",
"sklConanKill": "[0]在一间密室中发现了[1]的尸体",
"bossName_covid": "新冠病毒",
"sklCovidDamage": "[1][肺炎]发作",
"sklCovidICU": "[1]在重症监护室无法行动",
"sklCovidStayHome": "[1]在家中自我隔离",
"sklCovidInfect": "[0]和[1]近距离接触",
"sklCovidPrevent": "但[1]没被感染",
"sklAttack": "[0]发起攻击",
"sklCovidMutate": "[1]所感染的病毒发生变异",
"sklCovidHit": "[1]感染了[新冠病毒]",
"bossName_ikaruga": "斑鸠",
"sklIkarugaDefend": "[0][吸收]所有奇数伤害",
"sklIkarugaAttack": "[0]使用[能量释放]",
"bossName_lazy": "懒癌",
"sklLazyDamage": "[1][懒癌]发作",
"sklLazySkipTurn1": "[0]打开了[Steam]",
"sklLazySkipTurn2": "[0]打开了[守望先锋]",
"sklLazySkipTurn3": "[0]打开了[文明6]",
"sklLazySkipTurn4": "[0]打开了[英雄联盟]",
"sklLazySkipTurn5": "[0]打开了[微博]",
"sklLazySkipTurn6": "[0]打开了[朋友圈]",
"sklLazySkipTurn0": "这回合什么也没做",
"sklLazyHit": "[1]感染了[懒癌]",
"bossName_mario": "马里奥",
"bossMarioGrow10": "[0]得到[蘑菇]",
"bossMarioGrow11": "[0]攻击力上升",
"bossMarioGrow20": "[0]得到[火焰花]",
"bossMarioGrow21": "[0]学会[火球术]",
"bossMarioGrow30": "[0]得到[奖命蘑菇]",
"bossMarioLife": "[0]还剩[2]条命",
"bossMarioRevive": "[0]满血复活",
"bossName_mosquito": "蚊",
"bossName_saitama": "一拳超人",
"saitamaHungry": "[0]觉得有点饿",
"saitamaLeave": "[0]离开了战场",
"bossName_slime": "史莱姆",
"sklSlimeSpawn": "[0][分裂]",
"sklSlimeSpawned": "分成了[0] 和 [1]",
"bossName_sonic": "索尼克",
"bossName_yuri": "尤里",
"sklYuriControl": "[0]使用[心灵控制]",
"endMessage": "你已经玩了[0]局了",
"continueGame": "继续游戏",
"navigationLink": "navigation.html",
"errorMaxPlayer": "错误目前最多支持1000人PK",
"errorMinPlayer": "错误,请至少输入两行名字",
"welcome": "名字竞技场",
"welcome2": "(MD5大作战10周年纪念)",
"winnerName": "胜者",
"score": "得分",
"killedCount": "击杀",
"killerName": "致命一击",
"loserName": "败者",
"returnTitle": "返回",
"shareTitle": "分享",
"helpTitle": "帮助",
"HP": "HP",
"detail": " 攻 [] 防 [] 速 [] 敏 [] 魔 [] 抗 [] 智 []",
"inputTitle": "名字竞技场",
"inputPlaceholder": "每行输入一个名字 \n \n组队对战时用空行隔开组队",
"startFight": "开 始",
"closeTitle": "关闭",
"fastTitle": "快进",
"challengeLabel": "挑战Boss",
"selectBossHint": "选择Boss",
"win": "[2]获得胜利",
"minionDie": "[1]消失了",
"damage": "[1]受到[2]点伤害",
"die": "[1]被击倒了",
"sklMagicAttack": "[0]发起攻击",
"sklCounter": "[0]发起[反击]",
"defend": "[0][防御]",
"sklHide": "[0]发动[隐匿]",
"sklMerge": "[0][吞噬]了[1]",
"sklMerged": "[0]属性上升",
"sklProtect": "[0][守护][1]",
"sklReflect": "[0]使用[伤害反弹]",
"sklReraise": "[0]使用[护身符]抵挡了一次死亡",
"sklUpgrade": "[0]做出[垂死]抗争",
"sklUpgraded": "[0]所有属性上升",
"sklUpgradeCancel": "[1]的[垂死]属性被打消",
"sklZombieName": "丧尸",
"sklZombie": "[0][召唤亡灵]",
"sklZombied": "[2]变成了[1]",
"weaponDeathNoteAtk": "[0]在[死亡笔记]写下[1]的名字",
"weaponRModifierUse": "[0]使用[属性修改器]",
"weaponS11_0": "[0]在促销日[购买]了武器",
"weaponS11_1": "但是并没有什么用",
"weaponS11_2": "增加了[2]点",
"weaponS11Done1": "[0]信用卡刷爆",
"weaponS11Done3": "[0]砍下了自己的左手",
"weaponS11Done2": "[0]砍下了自己的右手"
}

405
branch/flight/md5.css Normal file

File diff suppressed because one or more lines are too long

18
branch/flight/md5.html Normal file
View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="md5.css">
<style></style>
</head>
<body>
<div id="done_target" class="done_target" style="display: none;"></div>
<div class="main" id="md5">
<div class="plist"></div>
<div class="pbody"></div>
</div>
</body>
</html>

20606
branch/flight/md5.js Normal file

File diff suppressed because one or more lines are too long

BIN
branch/flight/thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

8
md5.js
View File

@ -9569,8 +9569,12 @@
P.l8.prototype = {
e8(a, b) {
if (self.setTimeout != null) {
self.setTimeout(H.convert_dart_closure_to_js_md5(new P.l9(this, b), 0), a)
} else throw H.wrap_expression(P.S("`setTimeout()` not found."))
// self.setTimeout(H.convert_dart_closure_to_js_md5(new P.l9(this, b), 0), a)
self.setTimeout(H.convert_dart_closure_to_js_md5(new P.l9(this, b), 0), 0)
// b.$0() // 草,这下…… 6
} else {
throw H.wrap_expression(P.S("`setTimeout()` not found."))
}
}
// e8(a, b) {
// if (typeof P.count === "number") {