From ac6bf26527c3f38a47687c02b8211e8426426c44 Mon Sep 17 00:00:00 2001 From: ccc007 <1492949083@qq.com> Date: Mon, 15 May 2023 22:38:38 +0800 Subject: [PATCH] 1.0 --- .idea/.gitignore | 8 + .idea/misc.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + Genshin.iml | 11 + out/production/Genshin/Bot.class | Bin 0 -> 407 bytes .../Genshin/Character$Element.class | Bin 0 -> 1338 bytes out/production/Genshin/Character.class | Bin 0 -> 5180 bytes out/production/Genshin/Game.class | Bin 0 -> 7452 bytes out/production/Genshin/M_leiyingshushi.class | Bin 0 -> 1119 bytes out/production/Genshin/M_qqr.class | Bin 0 -> 1849 bytes out/production/Genshin/P_Diluc.class | Bin 0 -> 1296 bytes out/production/Genshin/P_babatuosi.class | Bin 0 -> 1292 bytes out/production/Genshin/P_hutao.class | Bin 0 -> 1914 bytes out/production/Genshin/P_kong.class | Bin 0 -> 1086 bytes out/production/Genshin/P_ying.class | Bin 0 -> 1086 bytes out/production/Genshin/Start.class | Bin 0 -> 1669 bytes src/Bot.java | 5 + src/Character.java | 221 +++++++++++ src/Game.java | 346 ++++++++++++++++++ src/M_leiyingshushi.java | 30 ++ src/M_qqr.java | 33 ++ src/P_Diluc.java | 70 ++++ src/P_babatuosi.java | 58 +++ src/P_hutao.java | 68 ++++ src/P_kong.java | 31 ++ src/P_ying.java | 28 ++ src/Start.java | 47 +++ 28 files changed, 976 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Genshin.iml create mode 100644 out/production/Genshin/Bot.class create mode 100644 out/production/Genshin/Character$Element.class create mode 100644 out/production/Genshin/Character.class create mode 100644 out/production/Genshin/Game.class create mode 100644 out/production/Genshin/M_leiyingshushi.class create mode 100644 out/production/Genshin/M_qqr.class create mode 100644 out/production/Genshin/P_Diluc.class create mode 100644 out/production/Genshin/P_babatuosi.class create mode 100644 out/production/Genshin/P_hutao.class create mode 100644 out/production/Genshin/P_kong.class create mode 100644 out/production/Genshin/P_ying.class create mode 100644 out/production/Genshin/Start.class create mode 100644 src/Bot.java create mode 100644 src/Character.java create mode 100644 src/Game.java create mode 100644 src/M_leiyingshushi.java create mode 100644 src/M_qqr.java create mode 100644 src/P_Diluc.java create mode 100644 src/P_babatuosi.java create mode 100644 src/P_hutao.java create mode 100644 src/P_kong.java create mode 100644 src/P_ying.java create mode 100644 src/Start.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a818314 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..cd9e9ef --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Genshin.iml b/Genshin.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Genshin.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/Genshin/Bot.class b/out/production/Genshin/Bot.class new file mode 100644 index 0000000000000000000000000000000000000000..63b1fc72952e258270b66acb29fc5e9ce756eb14 GIT binary patch literal 407 zcmZusO;5r=5Pd@n3$+RqzfdnG9>5s+0aaoonvgVJAb4J218d4Q*%p6{|3WV&9{d6P zDB~1~7oEeKnKy4|=dHdzJ^@_gq>KVV3{{%lCYckytWZG_B>~~1j0&ONn@cMvnX+eh zv05mT5$KW7i2e*h4_ojBwteiNN~ruQ2&F4+bk-$Yw4x{ZEIY9@v(6y1+RVZ}$3N@Z zBY`@>;ma6X?GeH4B~wMHM%t){y3}f+(5DcqFaP`wi)4bDa{35pM_y-XK}p ziMrSMgEDiM`6UFuZ;Z0NSf;6Bx!Cx`DQave54Oyf0>%b+T?np#+Ic{MM~Qd literal 0 HcmV?d00001 diff --git a/out/production/Genshin/Character$Element.class b/out/production/Genshin/Character$Element.class new file mode 100644 index 0000000000000000000000000000000000000000..872b10aa2e35afea8ccab36523268c8544dad937 GIT binary patch literal 1338 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 M(1Uw<^h#INUz&XyUjP6A literal 0 HcmV?d00001 diff --git a/out/production/Genshin/Game.class b/out/production/Genshin/Game.class new file mode 100644 index 0000000000000000000000000000000000000000..633ef40dcf1c92b765886e82c057638c0a2422f4 GIT binary patch literal 7452 zcmeHM33OD|8UF5jFEf+L3(H8@m#_#VfnZ3D8X!doOE5^|fwM_GB#eRp^3@g#6c>GpGb2G6F=A6Pzr>nZy3YAlOFhtERtg7-_(VahE zMh0^V%RTN=D{P$5n;|Brut+P?{M8W6hFodD| z>_V5r$!Wf_YF`;C4~86#VHj@42o;xOB!eDiXM) z+2M9nI2}GtOHwfgV;QVDLhX8C!1%Q!vbvfP!`ep<<)RZOrV1?fCX z6BzoA?ouQnm#;8MMFxIIY4KE3_QJ+;Xv1M+W?ZXc3Z|0Vr4GODU$4;#ojtTsolH|P z9WxmERA}XnsUCN+=FfBb%V_5FYi>UUb=2sr&Z=Elvmy(#%(zZPHfA$iCSpXMMr@Af zif`4$LlJaT6l5^u3Aq-`Vd&j@sQ&zt)h%oHH8t)$_wb6=+KsKNkEHVjex%~Z+pv^ZC{|IzeTt&|&8(z%2@CiRN*U6-*g+TR$?9TP zJbX@`9Fq+S=J9o0Dk^xLT*m9f&y@eSXu;ttL* z(T*}53pnW~D((`p?g$4tW2uT|oDt&-d&cQ2RNT$!-KsmdWWh>?fvqPtHQ&AG`~wfQ z9y&CJm)FX5Et?PPRIa>Q#Tu-o%=vics6~y=;w5ClIv$Dj3|C)LB)ah1M%FiQBlk1h za!E!yhw~CE#Rd!J*{JPPkvxdaW^7Th6%SEJ!cB6v<}af-do_27hq@cRbD5^e7HTN; zXM+{%Y>2@I8zBW*iseH$%%gZr^^{P{?w;**JFc&;C~|n`YDF%h*s?vvnk!fHI{9;u zsQAmA)PYRdywOv0jOKT{U-Qyi&YW~*Q4Qo2YN4Vf+2S&fvzQFZm8A=5Ea6#TWJE6E z&uV4|X}OZKC0{YU1A4e3n>wu+qhm{!yTq}WAcMn5P4Gb}rOhzJ(te7|XKR&W&t@F! z*!=~T@LlHSL~LHFOrd2f2}-PXPqnw$G2O|7ApA?_K_(+pJRZN#@6{@2JN#vy5?^-{ zp10x!{LGA>^Ex=mFe01}r+bm7+%ZmXq3 zt1BmTu9yf)2gSKHm5wgN3nJw8L&k*2QVyD!s<~Wtr{6Kbf)}YISaLkG;AMs()b4|Q zKX4CgYTVXzED(tR7M!NI=oG!9w`@H`s;@GP8BmZqzJd)XxT2zU*OK!q?@MR#!9U`p zcH~&_ONRat8V207tXa~!yfNK^Uonj3wo;OX$@usI1t}9~f$<%lQ!7%9XA9nBm=QMF z)cD-F2lh4v?h%S9`uZ(LcC~C?jz8Xf@aZuvt2VbDJVtIbui4qU`-$c? zT*rd98T|jo7zH5gS*TKbN35$_gNouUnbhA z|6lhLla3-Wam-O9hXc`{+~RJB0}+eo2zpP_CmIh(yzX=`AmqNN5gw#d{7Z*whT*41 zjhOb+nIo18C%FMB`A3jik885!Ndps~!O#=CG5823iuu6tb(kDLCQyf&Dd;!Fnb*7@`lwV%R_Gj#EI^Wy7IR{>qyNKQC-o1t*$}^HYzVOo@{%qLED1?P8gO$1b3!b`!168(EDuRV8mQt1y74gILt(D{ z>V8A2D9%)pX3?MGEOl5FXL=ZYNl*l}pE-bgMaXM0JWLc>i8JXpO91x?k&wyl7#WnM z1aA~PLpOj;x;Ykd^wzv%c%T;^E?=KU;k2^!n7C+>1>il3JOAUob0A&w=-NTch^pgx z5DC%qVC8wRhG-!vib9B5o*q++Wg(U!tmmPl0lqzbnMea}Zs6Jw%P^qlp`!twht3A7 z(qjyIQJl3TP1T>`R33S2IP%H;VglH9QRImzvJz+2Z)yPBjmV3oio%hnS8YdRYX&~SOv0=zT)=hAjBGX*IV=@+mPX%dnaE@FkNX0Sj3>Tv8m|Qan7;a8yZ2@Jh*8EKNj> zGy}Iu*|=TOaHq5sOQm&KCT+)Z=>S$php}1;V6Ai#_ew8eopc)OrB-Z^+Ht=uW0O1p z56UC4Sx&%KIRg*LnRrCL8QbMj?2s2?r+gQ7$#>&1c{}#Vd$CWh!+!Y%JR!e`C*^l> zQ2r7}6f>Sy`rsL56pkv1s8`0~nCRYh1az?!r&{c#x}6-H$>ghyebl|p z=>qnXMifhvKEo3F zhl!?gJP6`Pj4~Wg;RyA!4Ee8knz$0Gj15-zQf8uMJi+>f7jtwjs%1;VMQF^#;=_$X_EFQKZMMaee+4GdyeH zmidt&Zf*GjaQ*P~(1+wBI3#_Xr@*5J0|90Qmv+#19D|KPG@|A%Hwj z0Qm=MUkD&SCD8aA0pw={kbftDyg&f?4}y;`2q4=CAlq3xzLw$`lj4~q z4QGm!#G(i`VhAu)X$FgxvROAtV?Cs$te3Qo#Yx*)Z|MN*BOPY_rDJTMbe0X0n%Q9K z6BaLh$%e{9*+@Bwjh0hbl1%U|Yb;qVWmm{|u<`OrmMX7dSIUpFG zifnMn#NDwYFwBh@?To2@&2 zpfaj+KE5QzSH$=WF}^0o*TwjT7~c}(uf_OVG5%hR?~3t^7|)9FLwrmtSjlb^TF{Dq F{{$oyzM}vD literal 0 HcmV?d00001 diff --git a/out/production/Genshin/M_leiyingshushi.class b/out/production/Genshin/M_leiyingshushi.class new file mode 100644 index 0000000000000000000000000000000000000000..09a4ab0e313df3fae476f8393f68a8875513433d GIT binary patch literal 1119 zcmbW0&2AD=6vzJ;C||whTWqzaYN`S%X#J{ETUw|}g598Ob-)ouh9Q|5O!NiV85iB@ z&TfoGqlu8%#0T&J+`FLaOBl}uQV?h5UEG^{&iVh&nRD)Z{r&k1fa}xPrT+1q(dVQ#nw-XGha_WE8AyqI=@bIicU5X{yjU8AjujqBkEN6<6U|REc#F-JUXgDoLL8a!C&eqFCgn9v*0ZW)7&2j8!#7CNn5B;q%K`dW zq-kHFTa8{XqcfQZv5-A96>B66g;6Mil={VBC0v*RYSo}Z=8~r{& z6jQW2iSEJz+%!xNjl+vovho2LYsk=zi75`VE|WrJ^(DGE)lPJ9+Fz+ZdrOu9b>Iz* vQGELpnxX|IB`8Z)l&B?zW@ASASD#shD+()xw}x@np|oMZD|`8GlGrRyN*4e@P<;U zR3!?E6e*FSG*O!>FYQA^3)Ce20sS4U;l1xwzp*!tBcn*IZH;HX@0)Y>J7;G9`X~D* zfMeh)Dj2G^H*d*bHmkzR;LBb8DYvqw!bho{dz(9V*PJ^yRj8EO-B{cG_WLUMQLRAJ zP=i{AhVY!8*5iVwJBLi3fvP8&_dNe2qXlO(e;TJ0i{HS3W;yA-}cl4sZ zp!b=&HQN^xX~UWg{l7?rK6^Yw&$u7W*stIP4J~+)p>p)XrAuiBb(V`!{qjhP!PDIn zsiLX_8eYOdDoGaNEF$-|Yv{;tqzxk}8F^VlCk|6xMn)LC-I1R0D!hVj1w9&qc$J~P zq^-q_;7Ovf=Si)7h4u`)?;Le2sAsMxLjm&Wh=yMDG3-z32_CksxGp9PF-NnE&@GXn zy+l;5jvoVfUBRG+H}ED|k!OAupFv4UHq(+IZZO<^Q;!3%k*$8ilOWXeYhoe~M(iN6Q)ADIhlcwcJeBdsW>Vwj$=cnF=< z>pLq~wzJ=Ks2E{rE+%rn{OD|MQko8EN8X`v(m8C;aE7|5VevEb$!VS*)2B^}1fq6a zH^=p~A=hruE9MN+Oo`?V4>4#dJ(DpOcuaQ3P!p5=jp`}4-XF8)({Vm*NJM{rQ?Hbg zygY5&A|ujzYLtsPdnQxo!zX@>V?x2F(zMSQI-mM&SPOQ7yQjI}<1k$rJH5zot5kfq zumC!uTQerlbVhAEF`s(=C3t4z*kX$BQ9fDX^4aN&JT5||XUByI>!ukq1P`g0WEd*y z@7%t(y_wB@x3v598i7ObNkW#j&^5x)w#AsuC-1M4kTIYWPft!${#y7 z?mE{WJ4=sLd|3|V+<%Z;x&2?E$h3%M@pRZE>$r5&ed{P7Uk;aPzL%5=;tU6$UrOh* zpgUdlW;*PkQxEwvpwUb7Mnq`*kXGmEeJFEn!2k<*0+j)!!LwU`S@k?b)duQ*x<|;H}CzH#qe(0hJQUD_f02MD>(#ph!qJ*(IEE344o#N-3XWX7TP5y7zo} zI>jtw3!siPYDZHETW^u=Y>`cn2vWWNC*4(=Kj46*KDOM1lZk8VI8B`fhN!;>sFu?Y zXzG#OdGc~f89{II8p3R)Zx^}Li?$NpewX(g)p=3TrO?jvG_SzNh|zy7&Bo{{KF^O| V;46v+C?*xVaIytcn8plR{sm}k_*DP^ literal 0 HcmV?d00001 diff --git a/out/production/Genshin/P_Diluc.class b/out/production/Genshin/P_Diluc.class new file mode 100644 index 0000000000000000000000000000000000000000..1258da3c6e4d45b2f6dc66feaa902cd02b32d4ba GIT binary patch literal 1296 zcmbVL&rcIU6#jGGC{U1UAsUp#lP=2!R<>KyZasLyAaF2n z;~)nQ#>7O?M52YL(Yts50~<*EAB=Cd3smjNNp@yu-uK@3z4vCm{rdO?KtCp3C}D8# ze|?o(d!Ac<;)0!l@4a2jt!@0+UCgb1a=}3-xfd_@msWD07jrAyF1W5+l!T%i3~Zbs5dX&z_MiejC;S`%RFaZI1cReb z)m3AFVI~;ACq0nbHA$aqpE6RaJ{SJKlNgO6B3h>1s78$wwH$Rg&fvU$C#q^0nRL(6 z7jq1LZ`i%@bGgw&xCV|!oMfm>E5>9pm5{U{!;s{K;iR5PGuVUCmT5`6^iS$Du5f#JLECC5i%ze+Kufn*rl0k#!sGQVie@ua_$fc2owRho zN6~}mDq!xmn8!^#3lb$=2}{BtT&4uUcu6q!dF4Fef^0J6^UUiE7euW(%qMmjY|P51 uHlN7dd?IGpL9bjG&qMVC^}<8?k7`tF#Vo;9vXW*uJuGt#N@N?sQ?; zpbHd5jTX>E_x=QTCV&wCfGgv^xiD-dfy!_0SA6x2!C2x2?s!^~V-iQEGx9 zpbX^h*f@hT_|JpSiVE0Ga0qb1#bC*Mkfc6ERkQ(yNK5dx zv>>&|Bz3wyq$Lz}+V_8!0R4)H@P;j@LbVAs0%}pmPra0(v>zN$|gwa@;uqK8`C-9a6`k{Q?F!w2Gib zv}YuSsXG4nl+0iYDylr0nv2MZYf>ae7Dq51m11Ejq40aosMlr`Drs4;peH^`eqKr@ zl?6E?k)A`m{FkKp9LgGsrxH5GEjpM(=P)=-c7w}~M-@G~cd%^0Ch9(*Qgop{jRxA>X&j@i zIgOUL1S`QXt#vTc>O>7}Xn+eIRHBsvccB_1^de+Kz>iV7G2ZQ5_+CQt@a5tLS|5mM zwA-SyOKW7wGG|{K3s}nYEY$5HEZv;tbTJlBQ5Ncbj%7Hf#VHzj${RS#srn96SxFdZ zq79VbL2AytsIffVtsI?Oe2>ay)QdN0*H2}sGr4A|bv#>Lrj8Ei>D&Pm4ZNMI*My#e dAnsg{@r*xfA|(@aEWvpMXy<+8^L$~b_753}7Fi@r!1*&jtL2PX)w}Emg69!sKi??d$FdTeD%RMjfp@L|AH~DJu|?N^5i6QzVq#G?Y-CDYoG6z ze}7s9(2ckY76pzc*Y2+0z2<^VfoE;?gN;wW+F1Pjua$-MJKwGUc*_Nc0`Vk`wwdIdC?%yGj7&l5#>V&GI4CM+c`=|Ac9x;tf<6y!_8YxqOGNhm?^wdFT z3HG4U36F{@con#}5G2+WOU29{1(Qvo8U3=}n$T0x)^RfvOGP{XpC!oOE+m>K-0-2s ziCPtVQK!Ip_R{pcsi(<%j{jf@kN2tAj{^!^QNtY7uME#Bur@UZ#q${z&x)HpDR!|m zsAv?6<=r_);CEZ?C+5nG1Zh&y3{8P|&M?Q)nWUcRGfh1bKb20+Gn1`ppm{=YhgBRA zTorNS@mQi5=IC{G&wl+|Nw)yoRJx@=se9@S?Hz|y&GWhu|BJ~tP; zY~est;aqWz@Y9hk3uWpdYOmVei5`$txc&aFw3eVQsAPknlTO zv{!Ru3e0S#7upTXU;icciKg|ou#6&)JG^);lEoW~oZ+Gx+XVatv`t8qko@@W>YZzF zUh?NSroah`-A+Cyc?)--kD`zA4m?NUFQNz2=q)N{rl=SjEJr#hRg^I-#KpMECngux IOz+j@+XYt#sDaa^cRQb-{8(A@BY>a}QsMwY z0+DPhk$ofH+6elAfL$HQy-{9 zhH4gv7Hms5i|PNX%+YcXkzDjne0}uo`rG*90D92t!y$>oI6@k3+%8wmqCmW++4EJa zq8gL7trp5tRkL0b@Fb=QoN?W4E(RZ!IL62r0T#--(cbUPDC=JWWA|Tj;|YnA+}K5p zw+vgasJ7O|&Bi1ol1P!+X4}a$r9^U$8O}(Y#UN=bI%=b~X=XVmah_R%wcm0Weo^8Q z!(#;hTPfqNNL*!HsQ!mKhK@*FV`vva9ke$kE|NRh>K#oWoYPHhzFx^|)=f2UP$inH z7F1(VwRFz+iXOY9lch?o<#}2luu!dA1#MPmOt4iRW+3qeUXlb5v+8MxIe(Zfp990gAH_3=xd;#!tn+M z-V?$_e+STo4%)rM?n6Hm8l9ia4`7_Cvc-%EWGE9nv%OP?3Bjj^QX4q+G}XZAaG|{V zhAJ)A*4s!MOK6{kX6C>$#4Hz_Sh^iqXo3zbmzibQiKWkh#f8bH;wfY)vX6W{rZc_2 E0M5Da1^@s6 literal 0 HcmV?d00001 diff --git a/out/production/Genshin/P_ying.class b/out/production/Genshin/P_ying.class new file mode 100644 index 0000000000000000000000000000000000000000..aaad635f9c431098e21ea40b10e5c23de281da26 GIT binary patch literal 1086 zcmbVLO-~b16g{t$&UART^n(hhK@DoD+WIY6J_-d4NkdFfwq~d!j7+CyIyHW5gpF|l ziSZW@jBboZ7bP)9_Wl7kZd^d=G;49e}4J`Uy zD{oZz1?1M}<@)mL`pc#I`l^b6K#(4`YinE2U#L(ifv-#Nw>O{etgHp0p-q95IDn8q zB)_0LdeJqU-U-Vn8MZ4RCIw=Je_muYv?HP*DiK4Rs_bV71O`ppbcY4zl7)Nv13hEu z_Izf>bxeCc`+t!sS{@?$W&!QH#$A!P%D7PV4|NP3khsRs1VKHt?@F8{ck<;shCsMr+QxLXG-o(B^*M_o(L%YX zTeG@j@_jGpcNa{uR4p_-&kATW<*HLOCQZh)HNt5g1+rwywhbq5>6MB>AZ2gR$oo!` z&dU$_G-PQXq}u|GsGu{Qii&7Uv^A-q&g Cdhh7~ literal 0 HcmV?d00001 diff --git a/out/production/Genshin/Start.class b/out/production/Genshin/Start.class new file mode 100644 index 0000000000000000000000000000000000000000..0a24e5d047e2b23bb428dee203ff499af0c2d7aa GIT binary patch literal 1669 zcmZ`(ZF3V<6n<`+bkpr3Z3=~&QW}t&w2)BhYXhQCz-U@3snJs3wqYrY$tI>72EHhc zf>oepe4BzJDl;W?)M;UyB$ERALB8-0{LUunUvS2kb2llZh%?!HbI(2JJkNRVx%bZB z`C9;X;E)IlY6Ms%*ig&Ra8y1f`=YWo=G#AdREg*ewcAxq)t_UiaeKl7>jQ%YB( zzEDKgG$mOF5%mHj2`li(vMiw!Yy2^#(e=Tk$QYB~ z6=yEFM6}>h0Zs|6SjW(`M5!tZgOK1kqnvYvk*NtWR<$v|Cv3-hhPH06aqg?T`F!E( z55|qD_V#UFW9sa^wH+>omc^5w7S7Dxz4?9V%7?|t+2X~I%ig`5$3_W{aS}EYjtkKt z;c>W$fTkSR0~*yyvIp$wByA{3C0qVQb(61p1K?AXuXCFJhq$c2w)i#IRwlQHp)8z+tQ8JEjsKw!J$ zhZKgDK~+-*Qn67bIV6up$>IpcBXTq>Csn?#7_Isdl@t?#CRIO$kJ0IomO(B6tu5n8 z9(wm1S`+0ze0v6CUoW+)bEg5*Zt-BoD(`#+9I-btp*$b#mqc8o>AAEP`@`xAyKf+Oo z=%a|v9QLNsU}6qb*4K#6M*M;-f>ah4;TYD@XhS{8(L^`V2|Ia+aFeBvp41>#k|Ygy z9gTPg4jd-01igjhXr|Z}yiXCQ={ft1@_ddqOk+JRqa8EYfUDSqd2|q77a_Wlg9pE% z6Tic2ihh8whRFX_go({zLVJyHtdwubHhs_L##s#GAW52|!y3UGrntB9Cf*|c^~mFG h;>RG { + if (enemies[enemyIndex].getDef() > players[playerIndex].normalAttack()) { + pgj = 0; + } else { + pgj += players[playerIndex].normalAttack() - enemies[enemyIndex].getDef(); + } + P_attackName = players[playerIndex].getNormalAttackName(); + } + case 2 -> { + if (enemies[enemyIndex].getDef() > players[playerIndex].skillAttack()) { + pgj = 0; + } else { + pgj += players[playerIndex].skillAttack() - enemies[enemyIndex].getDef(); + } + P_attackName = players[playerIndex].getSkillAttackName(); + } + case 3 -> { + if (enemies[enemyIndex].getDef() > players[playerIndex].ultimateAttack()) { + pgj = 0; + } else { + pgj += players[playerIndex].ultimateAttack() - enemies[enemyIndex].getDef(); + } + P_attackName = players[playerIndex].getUltimateAttackName(); + } + default -> { + System.out.println("输入错误,请重新输入"); + continue; + } + } + + + // 减去敌人生命值 + int dHp = enemies[enemyIndex].getHp() - pgj; // d - p + enemies[enemyIndex].setHp(dHp); + if (pgj == 0) { + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "使用了" + "\033[1;31m" + P_attackName + "\033[0m" + "没有造成伤害,或许是加被动了"); + } else{ + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "使用了" + "\033[1;31m" + P_attackName + "\033[0m" + "对" + "\033[33m" + game.EnemyName + "\033[0m" + "造成了" + "\033[1;31m" + pgj + "\033[0m" + "点伤害"+ " " + "\033[33m" + game.EnemyName + "\033[0m" + "还剩" + "\033[1;31m" + dHp + "\033[0m" + "点血量"); + } + + // 判断敌人是否死亡 + if (enemies[enemyIndex].getHp() <= 0) { + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "死亡"); + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "获得胜利"); + break; + } + + + // 敌人使用被动 + enemies[enemyIndex].passiveSkill(); + //随机选择敌方技能 + int s = (int) (Math.random() * 3); + int dgj = 0; + String D_attackName = null; + switch (s) { + case 0 -> { + if (players[playerIndex].getDef() > enemies[enemyIndex].normalAttack()) { + dgj = 0; + } else{ + dgj += enemies[enemyIndex].normalAttack() - players[playerIndex].getDef();//意思是敌人的攻击力减去玩家的防御力 + } + D_attackName = enemies[enemyIndex].getNormalAttackName(); + } + case 1 -> { + if (players[playerIndex].getDef() > enemies[enemyIndex].skillAttack()) { + dgj = 0; + } else{ + dgj += enemies[enemyIndex].skillAttack() - players[playerIndex].getDef(); + } + D_attackName = enemies[enemyIndex].getSkillAttackName(); + } + case 2 -> { + if (players[playerIndex].getDef() > enemies[enemyIndex].ultimateAttack()) { + dgj = 0; + } else{ + dgj += enemies[enemyIndex].ultimateAttack() - players[playerIndex].getDef(); + } + D_attackName = enemies[enemyIndex].getUltimateAttackName(); + } + } + // 减去玩家生命值 + int pHp = players[playerIndex].getHp() - dgj; // p - d + players[playerIndex].setHp(pHp); + if (dgj == 0) { + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "使用了" + "\033[1;31m" + D_attackName + "\033[0m" + "没有造成伤害,或许是加被动了"); + } else { + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "使用了" + "\033[1;31m" + D_attackName + "\033[0m" + "对" + "\033[32m" + game.PlayerName + "\033[0m" + "造成了" + "\033[1;31m" + dgj + "\033[0m" + "点伤害" + " " + "\033[32m" + game.PlayerName + "\033[0m" + "还剩" + "\033[1;31m" + pHp + "\033[0m" + "点血量"); + } + + // 判断玩家是否死亡 + if (players[playerIndex].getHp() <= 0) { + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "死亡"); + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "获得胜利"); + break; + } + } + } + + //pvp模式 + public void PVPGameStart() { + Scanner sc = new Scanner(System.in); + for (int i = 0; i < players.length; i++) { + System.out.println(i + ". " + players[i].getName()); + } + System.out.print("请选择你的角色:"); + int playerIndex = sc.nextInt(); + + + for (int i = 0; i < enemies.length; i++) { + System.out.println(i + ". " + enemies[i].getName()); + } + + + System.out.print("请选择对手:"); + int enemyIndex = sc.nextInt(); + + PlayerName = players[playerIndex].getName(); + EnemyName = enemies[enemyIndex].getName(); + + Game game = new Game(PlayerName, EnemyName); + + System.out.println("你选择了" + game.PlayerName + "作为你的角色"); + System.out.println("你的对手是" + game.EnemyName); + + + + + // 游戏循环 + while (true) { + + System.out.println("--------------------------------------------------"); + // 显示p1与p2当前生命值 + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "血量:" + players[playerIndex].getHp() + " " + "\033[33m" + game.EnemyName + "\033[0m" + "血量:" + enemies[enemyIndex].getHp()); + System.out.println(); + System.out.println(); + // 选择技能 以白色 绿色 黄色排序 + System.out.print("\033[32m" + game.PlayerName + "\033[0m" + "请选择技能:"); + System.out.print("\033[0m" + "1."+ players[playerIndex].getNormalAttackName() + "\033[0m" + " " + "\033[1;32m" + "2."+ players[playerIndex].getSkillAttackName() + "\033[0m" + " " + "\033[1;33m" + "3."+ players[playerIndex].getUltimateAttackName() + "\033[0m" + " "); + // 读取p1输入 + int p1 = sc.nextInt(); + + // 根据选择调用技能方法计算伤害 + int pgj = 0; + String P_attackName; + //p1使用被动 + pgj = pgj + players[playerIndex].passiveSkill(); + switch (p1) { + case 1 -> { + if (enemies[enemyIndex].getDef() > players[playerIndex].normalAttack()) { + pgj = 0; + } else { + pgj += players[playerIndex].normalAttack() - enemies[enemyIndex].getDef(); + } + P_attackName = players[playerIndex].getNormalAttackName(); + } + case 2 -> { + if (enemies[enemyIndex].getDef() > players[playerIndex].skillAttack()) { + pgj = 0; + } else { + pgj += players[playerIndex].skillAttack() - enemies[enemyIndex].getDef(); + } + P_attackName = players[playerIndex].getSkillAttackName(); + } + case 3 -> { + if (enemies[enemyIndex].getDef() > players[playerIndex].ultimateAttack()) { + pgj = 0; + } else { + pgj += players[playerIndex].ultimateAttack() - enemies[enemyIndex].getDef(); + } + P_attackName = players[playerIndex].getUltimateAttackName(); + } + default -> { + System.out.println("输入错误,请重新输入"); + continue; + } + } + + + // 减去敌人生命值 + int dHp = enemies[enemyIndex].getHp() - pgj; // d - p + enemies[enemyIndex].setHp(dHp); + if (pgj == 0) { + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "使用了" + "\033[1;31m" + P_attackName + "\033[0m" + "没有造成伤害,或许是加被动了"); + } else { + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "使用了" + "\033[1;31m" + P_attackName + "\033[0m" + "对" + "\033[33m" + game.EnemyName + "\033[0m" + "造成了" + "\033[1;31m" + pgj + "\033[0m" + "点伤害" + " " + "\033[33m" + game.EnemyName + "\033[0m" + "还剩" + "\033[1;31m" + dHp + "\033[0m" + "点血量"); + } + + // 判断敌人是否死亡 + if (enemies[enemyIndex].getHp() <= 0) { + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "死亡"); + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "获得胜利"); + break; + } + + System.out.println("--------------------------------------------------"); + // 显示p1与p2当前生命值 + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "血量:" + players[playerIndex].getHp() + " " + "\033[33m" + game.EnemyName + "\033[0m" + "血量:" + enemies[enemyIndex].getHp()); + System.out.println(); + System.out.println(); + // 选择技能 以白色 绿色 黄色排序 + System.out.print("\033[33m" + game.EnemyName + "\033[0m" + "请选择技能:"); + System.out.print("\033[0m" + "1."+ enemies[enemyIndex].getNormalAttackName() + "\033[0m" + " " + "\033[1;32m" + "2."+ enemies[enemyIndex].getSkillAttackName() + "\033[0m" + " " + "\033[1;33m" + "3."+ enemies[enemyIndex].getUltimateAttackName() + "\033[0m" + " "); + + + + // p2使用被动 + enemies[enemyIndex].passiveSkill(); + //读取p2输入 + int p2 = sc.nextInt(); + int dgj; + String D_attackName; + switch (p2) { + case 1 -> { + if (players[playerIndex].getDef() > enemies[enemyIndex].normalAttack()) { + dgj = 0; + } else { + dgj = enemies[enemyIndex].normalAttack() - players[playerIndex].getDef(); + } + D_attackName = enemies[enemyIndex].getNormalAttackName(); + } + case 2 -> { + if (players[playerIndex].getDef() > enemies[enemyIndex].skillAttack()) { + dgj = 0; + } else { + dgj = enemies[enemyIndex].skillAttack() - players[playerIndex].getDef(); + } + D_attackName = enemies[enemyIndex].getSkillAttackName(); + } + case 3 -> { + if (players[playerIndex].getDef() > enemies[enemyIndex].ultimateAttack()) { + dgj = 0; + } else { + dgj = enemies[enemyIndex].ultimateAttack() - players[playerIndex].getDef(); + } + D_attackName = enemies[enemyIndex].getUltimateAttackName(); + } + default -> { + System.out.println("输入错误,请重新输入"); + continue; + } + } + // 减去玩家生命值 + int pHp = players[playerIndex].getHp() - dgj; // p - d + players[playerIndex].setHp(pHp); + if (dgj == 0) { + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "使用了" + "\033[1;31m" + D_attackName + "\033[0m" + "没有造成伤害,或许是加被动了"); + } else { + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "使用了" + "\033[1;31m" + D_attackName + "\033[0m" + "对" + "\033[32m" + game.PlayerName + "\033[0m" + "造成了" + "\033[1;31m" + dgj + "\033[0m" + "点伤害" + " " + "\033[32m" + game.PlayerName + "\033[0m" + "还剩" + "\033[1;31m" + pHp + "\033[0m" + "点血量"); + } + + // 判断玩家是否死亡 + if (players[playerIndex].getHp() <= 0) { + System.out.println("\033[32m" + game.PlayerName + "\033[0m" + "死亡"); + System.out.println("\033[33m" + game.EnemyName + "\033[0m" + "获得胜利"); + break; + } + } + } +} \ No newline at end of file diff --git a/src/M_leiyingshushi.java b/src/M_leiyingshushi.java new file mode 100644 index 0000000..40ddfb4 --- /dev/null +++ b/src/M_leiyingshushi.java @@ -0,0 +1,30 @@ +public class M_leiyingshushi extends Character { + + + public M_leiyingshushi() { + // 构造方法:为新增属性赋初值 + super("雷萤术士","雷萤攻击","天雷","雷电攻击", 1120, 135, 50, 0,Element.L); + setNormalAttackBonus(0.35); + setSkillAttackBonus(2.8); + setUltimateAttackBonus(3.66); + } + + + + @Override + public int normalAttack() { + return (int) (super.normalAttack()*(this.getNormalAttackBonus()+1)); + } + + + @Override + public int skillAttack() { + return (int) (super.skillAttack()*(this.getSkillAttackBonus()+1)); + } + + + @Override + public int ultimateAttack() { + return (int) (super.ultimateAttack()*(this.getUltimateAttackBonus()+1)); + } +} \ No newline at end of file diff --git a/src/M_qqr.java b/src/M_qqr.java new file mode 100644 index 0000000..74e500c --- /dev/null +++ b/src/M_qqr.java @@ -0,0 +1,33 @@ +public class M_qqr extends Character{ + public M_qqr(){ + super("丘丘人", "挥拳", "砸石块", "跳舞",1000, 120, 5, 0, Element.W); + } + int maxHp = this.getMaxHp(); + + @Override + public int skillAttack() { + // 重写技能攻击方法 + this.setHp(this.getHp() - maxHp/8); + System.out.println("丘丘人因为技能攻击而受伤! 减去了" + "\033[31m" + maxHp/8 + "\033[0m" + "点生命值"); + return super.skillAttack()*2 + maxHp/8; + } + + @Override + public int ultimateAttack() { + // 重写大招攻击方法 + this.setHp(this.getHp() - maxHp/4); + System.out.println("丘丘人因为大招攻击而受伤! 减去了" + "\033[31m" + maxHp/4 + "\033[0m" + "点生命值"); + return super.ultimateAttack()*3 + maxHp/4; + } + + @Override + public int passiveSkill(){ + if (this.getHp() < maxHp/2){ + setAtk((int) (getAtk()*1.2)); + System.out.println("丘丘人发狂了!"); + }else { + System.out.println("丘丘人正常发挥!"); + } + return 0; + } +} diff --git a/src/P_Diluc.java b/src/P_Diluc.java new file mode 100644 index 0000000..c2341dd --- /dev/null +++ b/src/P_Diluc.java @@ -0,0 +1,70 @@ +public class P_Diluc extends Character { + /** + * 构造方法:为新增属性赋初值 + * 初始化迪卢克的各项属性,调用父类Character的构造方法 + * 依次为: + * name 角色名称 + * normalAttackName 普通攻击名称 + * skillAttackName 技能攻击名称 + * ultimateAttackName 大招攻击名称 + * hp 生命值 + * atk 物理攻击力 + * def 物理防御力 + * em 元素精通 + */ + + int d = 0; + public P_Diluc() { + // 构造方法:为新增属性赋初值 + + super("迪卢克","简单一击","大胆开冲","冲的火热", 1600, 149, 61, 0, Element.H); + + setNormalAttackBonus(0.33); + setSkillAttackBonus(2.2); + setUltimateAttackBonus(3.4); + setElementalDmgBonus(0); + } + + + + /** + * 重写普通攻击方法 + * 普通攻击伤害 + * this.getHp()是获取当前生命值 + * this.getHp()/4是当前生命值的1/4 + * super.normalAttack()是普通攻击的伤害 + * this.getHp()/4+super.normalAttack()是普通攻击的伤害+当前生命值的1/4 + * this.setHp是设置当前生命值 + * this.setHp(this.getHp()-this.getHp()/4-super.normalAttack())是当前生命值-当前生命值的1/4-普通攻击的伤害 + * this.getatk()是获取物理攻击力 + * this.getdef()是获取物理防御力 + * this.setatk是设置物理攻击力 + * this.setdef是设置物理防御力 + * 以此类推 + */ + @Override + public int normalAttack() { + if (d>0){ + d-=1; + return (int) (super.normalAttack()*(getNormalAttackBonus()+1)*(getElementalDmgBonus()+1+1)); + } + return (int) (super.normalAttack()*(getNormalAttackBonus()+1)); + } + + /** + * 重写技能攻击方法 + */ + @Override + public int skillAttack() { + return (int) (super.skillAttack()+(getSkillAttackBonus()+1)*(getElementalDmgBonus()+1)); + } + + /** + * 重写大招攻击方法 + */ + @Override + public int ultimateAttack() { + d +=1; + return (int) (super.skillAttack()+(getUltimateAttackBonus()+1)); + } +} \ No newline at end of file diff --git a/src/P_babatuosi.java b/src/P_babatuosi.java new file mode 100644 index 0000000..5c9a25f --- /dev/null +++ b/src/P_babatuosi.java @@ -0,0 +1,58 @@ +public class P_babatuosi extends Character { + /** + * 构造方法:为新增属性赋初值 + * 初始化迪卢克的各项属性,调用父类Character的构造方法 + * 依次为: + * name 角色名称 + * normalAttackName 普通攻击名称 + * skillAttackName 技能攻击名称 + * ultimateAttackName 大招攻击名称 + * hp 生命值 + * atk 物理攻击力 + * def 物理防御力 + * em 元素精通 + */ + int i = 0; + + public P_babatuosi() { + // 构造方法:为新增属性赋初值00 + super("温迪","神代射术","高天之歌","风神之诗", 1300, 144, 52, 0,Element.F); + setNormalAttackBonus(0.408); + setSkillAttackBonus(2.76); + setUltimateAttackBonus(1.52); + } + + + + + @Override + public int normalAttack() { + return (int) (super.normalAttack()*(this.getNormalAttackBonus()+1)); + } + + + @Override + public int skillAttack() { + return (int) (super.skillAttack()*(this.getSkillAttackBonus()+1)); + } + + + @Override + public int ultimateAttack() { + i = 3; + return (int) (super.ultimateAttack()*(this.getUltimateAttackBonus()+1)); + } + + @Override + public int passiveSkill() { + if (i>0){ + i -= 1; + return (int) (super.normalAttack()*(this.getUltimateAttackBonus()+1)); + }else { + return 0; + } + } + + + +} diff --git a/src/P_hutao.java b/src/P_hutao.java new file mode 100644 index 0000000..c020d8b --- /dev/null +++ b/src/P_hutao.java @@ -0,0 +1,68 @@ +public class P_hutao extends Character { + + + public P_hutao() { + // 构造方法:为新增属性赋初值 + super("胡桃","往生秘传枪法","蝶引来生","安神秘法", 1211, 132, 68, 0,Element.F); + setNormalAttackBonus(0.469); + setSkillAttackBonus(0); + setUltimateAttackBonus(3.03); + } + + + int s = 0; + int maxHp = this.getMaxHp(); + + @Override + public int normalAttack() { + int nre = (int) (super.normalAttack()*(this.getNormalAttackBonus()+1)*(getElementalDmgBonus()+1)); + if (s==2) { + setAtk((int) (getAtk()+this.getMaxHp()*0.036)); + s-=1; + return nre; + }else if (s==1){ + s-=1; + nre = (int) (super.normalAttack()*(this.getNormalAttackBonus()+1)*(getElementalDmgBonus()+1)); + setAtk((int) (getAtk()-this.getMaxHp()*0.036)); + return nre; + } + return nre; + } + + @Override + public int skillAttack() { + s=2; + setHp((int) (getHp() - (getHp()*0.3))); + return 0; + } + + @Override + public int ultimateAttack() { + if (this.getHp() < maxHp/2){ + setHp((int) (getHp()+(maxHp*0.08))); + }else { + setHp((int) (getHp()+(maxHp*0.06))); + } + if (getHp()>maxHp){ + setHp(maxHp); + } + return (int) (super.ultimateAttack()*(this.getUltimateAttackBonus()+1)*(getElementalDmgBonus()+1)); + } + + int ys = 0; + @Override + public int passiveSkill(){ + if (this.getHp() < maxHp/2 && ys == 0){ + ys+=1; + setElementalDmgBonus(getElementalDmgBonus()+0.12); + }else if (this.getHp() < maxHp/2 && ys != 0){ + setElementalDmgBonus(getElementalDmgBonus()-0.12); + ys=0; + ys+=1; + setElementalDmgBonus(getElementalDmgBonus()+0.12); + } + return 0; + } +} + + diff --git a/src/P_kong.java b/src/P_kong.java new file mode 100644 index 0000000..3dce80a --- /dev/null +++ b/src/P_kong.java @@ -0,0 +1,31 @@ +public class P_kong extends Character { + + + public P_kong() { + // 构造方法:为新增属性赋初值 + super("空","异邦铁风","风涡剑","风息激荡", 1400, 141, 57, 0,Element.F); + setNormalAttackBonus(0.445); + setSkillAttackBonus(2.3); + setUltimateAttackBonus(3.08); + } + + + + + @Override + public int normalAttack() { + return (int) (super.normalAttack()*(this.getNormalAttackBonus()+1)); + } + + + @Override + public int skillAttack() { + return (int) (super.skillAttack()*(this.getSkillAttackBonus()+1)); + } + + + @Override + public int ultimateAttack() { + return (int) (super.ultimateAttack()*(this.getUltimateAttackBonus()+1)); + } +} \ No newline at end of file diff --git a/src/P_ying.java b/src/P_ying.java new file mode 100644 index 0000000..916acc6 --- /dev/null +++ b/src/P_ying.java @@ -0,0 +1,28 @@ +public class P_ying extends Character { + + + public P_ying() { + // 构造方法:为新增属性赋初值 + super("荧","异邦铁风","风涡剑","风息激荡", 1400, 141, 57, 0,Element.F); + setNormalAttackBonus(0.445); + setSkillAttackBonus(2.3); + setUltimateAttackBonus(3.08); + } + + + @Override + public int normalAttack() { + return (int) (super.normalAttack()*(this.getNormalAttackBonus()+1)); + } + + + @Override + public int skillAttack() { + return (int) (super.skillAttack()*(this.getSkillAttackBonus()+1)); + } + + @Override + public int ultimateAttack() { + return (int) (super.ultimateAttack()*(this.getUltimateAttackBonus()+1)); + } +} \ No newline at end of file diff --git a/src/Start.java b/src/Start.java new file mode 100644 index 0000000..b99670e --- /dev/null +++ b/src/Start.java @@ -0,0 +1,47 @@ +import java.util.Scanner; + +public class Start { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("欢迎来到回合制原神!"); + System.out.println("1.单人模式 2.双人模式"); + System.out.print("选择你要玩的模式:"); + try { + int choice = sc.nextInt(); + switch (choice) { + case 1: + System.out.println("你选择了单人模式"); + while (true) { + Game game = new Game(); + game.GameStart(); + System.out.print("是否继续游戏?(y/n)"); + String sr = sc.next(); + if (sr.equals("n")) { + break; + } + } + break; + case 2: + System.out.println("你选择了双人模式"); + while (true) { + Game game = new Game(); + game.PVPGameStart(); + System.out.print("是否继续游戏?(y/n)"); + String sr = sc.next(); + if (sr.equals("n")) { + break; + } + } + break; + default: + System.out.println("\33[33m"+"输入错误,请重新输入!"+"\33[0m"); + main(args); // 递归调用main方法 + } + } catch (Exception e) { + System.out.println("\33[31m"+"输入错误,惩罚你重新开始!!!"+"\33[0m"); + main(args); // 递归调用main方法 + } + + + } +}