From f5563685b21ff746bb7d37115e668cf8afbb67f4 Mon Sep 17 00:00:00 2001 From: bigJIU <1572204178@qq.com> Date: Mon, 24 Oct 2022 19:48:43 +0800 Subject: [PATCH 1/3] Play Done --- .gitignore | 1 + .idea/workspace.xml | 5 +- Mario-AI-Interface.jar.js | 2 +- Mario-AI-Interface/src/Play.java | 4 +- __pycache__/main.cpython-39.pyc | Bin 940 -> 1073 bytes main.py | 5 ++ templates/eval.html | 44 ++++++++++++ templates/play.html | 118 +++++++++++++++++++------------ 8 files changed, 128 insertions(+), 51 deletions(-) create mode 100644 templates/eval.html diff --git a/.gitignore b/.gitignore index 4ad2cbe..05da908 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ hs_err_pid* replay_pid* *.xml +.idea/workspace.xml diff --git a/.idea/workspace.xml b/.idea/workspace.xml index b4303a9..3c9b0a3 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,11 +2,10 @@ + - - @@ -109,6 +108,6 @@ - + \ No newline at end of file diff --git a/Mario-AI-Interface.jar.js b/Mario-AI-Interface.jar.js index 388a9a4..ecb689c 100644 --- a/Mario-AI-Interface.jar.js +++ b/Mario-AI-Interface.jar.js @@ -200,4 +200,4 @@ function _c4F26engine7sprites5ShellC2E0(r,q,o,n,m,l,p){var c=null;var a=new crea function N4Play(){N4java4lang6Object.call(this);} N4Play.cl=cheerpjCL; function N4PlayX(a){a.f=N4PlayX;if(cheerpjSafeInitGuard('N4Play')) return;var q=a.q=N4Play.prototype=Object.create(N4java4lang6Object.prototype);q.constructor=N4Play;N4PlayG=1;cheerpjSafeInitFinish('N4Play');} -function _d4pYPlayC2E0(d,p){_n4VYObjectC2E0(d,p);}function _d4_ZPlay8getLevelE1(h,p){var e=null,d=null,c=null;var a={p:p,pc:0,f:_d4_ZPlay8getLevelE1,h:h,e:null,d:null,c:null};a.pc=0;;a.e=e=cheerpjInternString("");a.d=d=new N4java4lang6String();a.c=c=["[Ljava/lang/String;"];for(var i=1;i<=0;i=i+1|0)c[i|0]=null;;a.pc=12;;if((N4java3nio4file5PathsG|0)==0){cjG(a);};a.pc=13;a.c=c=_h4VaSkWorJxGSqKNcmDiDBqm5vd(h,c,a);a.pc=1;;a.pc=15;;if((N4java3nio4file5FilesG|0)==0){cjG(a);};a.pc=16;c=_h4VaSkWoCJxGSqK_HSqivBhramOTSSHnri5Pxd(c,a);a.pc=2;;a.pc=18;_t4VacmSx9n(d,c,a);a.pc=3;;return d;}function ed4_ZPlay8getLevelE1(a,b){a.f=ed4_ZPlay8getLevelE1;var h=a.h,e=a.e,d=a.d,c=a.c;var pc=a.pc;a.pc=4;;a.d=d=b;if((pc>=3&&pc<22)&&self.hasOwnProperty("N4java2io11IOException")&&(b instanceof N4java2io11IOException)|0){a.pc=5;;return e;}else{a.pc=6;;a.pc=-1;return;}}function _d4_YPlay4mainE2(d,p){d[1];d[2];}function _d4p1Play12playGameMainE3(l,k,p){var e=null,c=null,d=null,g=null;var a={p:p,pc:0,f:_d4p1Play12playGameMainE3,k:k,e:null,c:null,d:null,g:null};e=cheerpjInternString("/app/levels/group%s/%s.txt");c=["[Ljava/lang/Object;"];for(var i=1;i<=2;i=i+1|0)c[i|0]=null;;c[1]=l;c[2]=k;a.pc=-281;a.e=e=_t4VY6formatE78(e,c,a);c=cheerpjInternString("/files/%s_sav.rep");d=["[Ljava/lang/Object;"];for(var i=1;i<=1;i=i+1|0)d[i|0]=null;;d[1]=k;a.pc=-434;a.c=c=_t4VY6formatE78(c,d,a);a.pc=-473;;if((N6engine4core9MarioGameG|0)==0){cjG(a);};a.d=d=new N6engine4core9MarioGame();a.pc=-565;_c4V26engine4core9MarioGameC2E0(d,a);a.pc=-612;;if((N6agents10HumanAgentG|0)==0){cjG(a);};a.g=g=new N6agents10HumanAgent();a.pc=-698;_c4Vaw0SbrZKunDifdqJgrmiGac7rd(g,a);a.pc=-744;e=_d4_ZPlay8getLevelE1(e,a);a.pc=-782;e=d.v11(d,g,e,200,c,a);a.pc=-815;a.e=e=e.v16(e,a);a.pc=-842;;if((N6engine6helper6ReplayG|0)==0){cjG(a);};return _c4F76engine6helper6Replay20serializeAgentEventsE2(e,p);}function _d4V1Play14replayGameMainE4(l,k,p){var e=null,c=null,d=null,g=null;var a={p:p,pc:0,f:_d4V1Play14replayGameMainE4,k:k,e:null,c:null,d:null,g:null};e=cheerpjInternString("/app/levels/group%s/%s.txt");c=["[Ljava/lang/Object;"];for(var i=1;i<=2;i=i+1|0)c[i|0]=null;;c[1]=l;c[2]=k;a.pc=-285;a.e=e=_t4VY6formatE78(e,c,a);c=cheerpjInternString("/files/%s_sav.rep");d=["[Ljava/lang/Object;"];for(var i=1;i<=1;i=i+1|0)d[i|0]=null;;d[1]=k;a.pc=-438;a.c=c=_t4VY6formatE78(c,d,a);a.pc=-477;;if((N6engine4core9MarioGameG|0)==0){cjG(a);};a.d=d=new N6engine4core9MarioGame();a.pc=-569;_c4V26engine4core9MarioGameC2E0(d,a);a.pc=-616;;if((N6engine6helper6ReplayG|0)==0){cjG(a);};a.pc=-671;a.g=g=_c4p76engine6helper6Replay19getRepAgentFromFileE1(c,a);a.pc=-742;e=_d4_ZPlay8getLevelE1(e,a);d.v11(d,g,e,200,c,p);} \ No newline at end of file +function _d4pYPlayC2E0(d,p){_n4VYObjectC2E0(d,p);}function _d4_ZPlay8getLevelE1(h,p){var e=null,d=null,c=null;var a={p:p,pc:0,f:_d4_ZPlay8getLevelE1,h:h,e:null,d:null,c:null};a.pc=0;;a.e=e=cheerpjInternString("");a.d=d=new N4java4lang6String();a.c=c=["[Ljava/lang/String;"];for(var i=1;i<=0;i=i+1|0)c[i|0]=null;;a.pc=12;;if((N4java3nio4file5PathsG|0)==0){cjG(a);};a.pc=13;a.c=c=_h4VaSkWorJxGSqKNcmDiDBqm5vd(h,c,a);a.pc=1;;a.pc=15;;if((N4java3nio4file5FilesG|0)==0){cjG(a);};a.pc=16;c=_h4VaSkWoCJxGSqK_HSqivBhramOTSSHnri5Pxd(c,a);a.pc=2;;a.pc=18;_t4VacmSx9n(d,c,a);a.pc=3;;return d;}function ed4_ZPlay8getLevelE1(a,b){a.f=ed4_ZPlay8getLevelE1;var h=a.h,e=a.e,d=a.d,c=a.c;var pc=a.pc;a.pc=4;;a.d=d=b;if((pc>=3&&pc<22)&&self.hasOwnProperty("N4java2io11IOException")&&(b instanceof N4java2io11IOException)|0){a.pc=5;;return e;}else{a.pc=6;;a.pc=-1;return;}}function _d4_YPlay4mainE2(d,p){d[1];d[2];}function _d4p1Play12playGameMainE3(l,k,p){var e=null,d=null,c=null,g=null;var a={p:p,pc:0,f:_d4p1Play12playGameMainE3,k:k,e:null,d:null,c:null,g:null};e=cheerpjInternString("/app/levels/%s.lvl");d=["[Ljava/lang/Object;"];for(var i=1;i<=1;i=i+1|0)d[i|0]=null;;d[1]=k;a.pc=-266;a.e=e=_t4VY6formatE78(e,d,a);d=cheerpjInternString("/files/%s_sav.rep");c=["[Ljava/lang/Object;"];for(var i=1;i<=1;i=i+1|0)c[i|0]=null;;c[1]=k;a.pc=-419;a.d=d=_t4VY6formatE78(d,c,a);a.pc=-458;;if((N6engine4core9MarioGameG|0)==0){cjG(a);};a.c=c=new N6engine4core9MarioGame();a.pc=-550;_c4V26engine4core9MarioGameC2E0(c,a);a.pc=-597;;if((N6agents10HumanAgentG|0)==0){cjG(a);};a.g=g=new N6agents10HumanAgent();a.pc=-683;_c4Vaw0SbrZKunDifdqJgrmiGac7rd(g,a);a.pc=-729;e=_d4_ZPlay8getLevelE1(e,a);a.pc=-767;e=c.v11(c,g,e,200,d,a);a.pc=-800;a.e=e=e.v16(e,a);a.pc=-827;;if((N6engine6helper6ReplayG|0)==0){cjG(a);};return _c4F76engine6helper6Replay20serializeAgentEventsE2(e,p);}function _d4V1Play14replayGameMainE4(l,k,p){var e=null,c=null,d=null,g=null;var a={p:p,pc:0,f:_d4V1Play14replayGameMainE4,k:k,e:null,c:null,d:null,g:null};e=cheerpjInternString("/app/levels/%s.lvl");c=["[Ljava/lang/Object;"];for(var i=1;i<=1;i=i+1|0)c[i|0]=null;;c[1]=k;a.pc=-270;a.e=e=_t4VY6formatE78(e,c,a);c=cheerpjInternString("/files/%s_sav.rep");d=["[Ljava/lang/Object;"];for(var i=1;i<=1;i=i+1|0)d[i|0]=null;;d[1]=k;a.pc=-423;a.c=c=_t4VY6formatE78(c,d,a);a.pc=-462;;if((N6engine4core9MarioGameG|0)==0){cjG(a);};a.d=d=new N6engine4core9MarioGame();a.pc=-554;_c4V26engine4core9MarioGameC2E0(d,a);a.pc=-601;;if((N6engine6helper6ReplayG|0)==0){cjG(a);};a.pc=-656;a.g=g=_c4p76engine6helper6Replay19getRepAgentFromFileE1(c,a);a.pc=-727;e=_d4_ZPlay8getLevelE1(e,a);d.v11(d,g,e,200,c,p);} \ No newline at end of file diff --git a/Mario-AI-Interface/src/Play.java b/Mario-AI-Interface/src/Play.java index b8dd9cb..5bf2c1d 100644 --- a/Mario-AI-Interface/src/Play.java +++ b/Mario-AI-Interface/src/Play.java @@ -39,7 +39,7 @@ public class Play { public static byte[] playGameMain(String groupID, String levelName){ - String levelPath = String.format("/app/levels/group%s/%s.txt", groupID, levelName); // For web + String levelPath = String.format("/app/levels/%s.lvl", levelName); // For web String repPath = String.format("/files/%s_sav.rep", levelName); // For web MarioGame game = new MarioGame(); @@ -49,7 +49,7 @@ public class Play { } public static void replayGameMain(String groupID, String levelName){ - String levelPath = String.format("/app/levels/group%s/%s.txt", groupID, levelName); // For web + String levelPath = String.format("/app/levels/%s.lvl", levelName); // For web String repPath = String.format("/files/%s_sav.rep", levelName); // For web // String levelPath = String.format("/app/levels/group%s/%s.txt", groupID, levelName); // For local diff --git a/__pycache__/main.cpython-39.pyc b/__pycache__/main.cpython-39.pyc index 69cade325dc4283ee16d00ce29eb49f63255976d..f8e88bbe38d71becfc41a6c4e3c72c137e4913f3 100644 GIT binary patch delta 469 zcmZXPze)o^5XN^lf9`U*y}Lw12*d|a!T11@Lajwm6l~$Ar9P;J25aQpmtltX6>m`C?T z^x?wQ)@=^csG5M@K%$SqysvZ?3wP4IVo_U{p0-B*Sb!k6k40P?00>+^5u2sq&u1_J zlOm8|+(Z~Rd4f~$l3&<=cDcV4MbD{?VH`e$P0g>4BoWdCq`gc{KZa3*JFAB+2UH!K zBo+vLAhbN{<=DP+6SpFhr_l;%j#Q#VxHOxJ9ABUcNnKuLxnqLlU2fHu`z>OWvYI+R zq&>?VWUi17*x-OECo@@rAgQEwBcJ-yjA?gcZ9KZqzhMe|h($ delta 335 zcmYjLJx{|h5cN52Y?3$$l`24jg{@_P6{+fg_yvH3!~&sbMG7B9ZZa{#NClDA9Y!P= zSos-@o%tc0vjj``^v-whz59|MLS;$?jNbmm(WI!=7QECur{iJ;I~e4E;hbZH>XALb zS)_f8uef=_M2mB!#cTY=fN4?0m|!{wV7PkB2EF>{GaZ2O$ksUXcV~5H^1~#;zYN-;chExSfdoVE)PlEb3)k&1CS7a>Dzm6 z0}{LN_9ih6mR&QgN^M+(NgVVYthteAs@s1zwf1s!GsWs!kAc=^>jaxT;y$N@E>$On JKuGW@@edHLJ!${| diff --git a/main.py b/main.py index be6e3a5..566d156 100644 --- a/main.py +++ b/main.py @@ -15,6 +15,11 @@ def datapage(): return bufferJson +@app.route('/eval') +def eval(): + return render_template('eval.html') + + @app.route('/', methods=['POST']) def getData(): if request.method == 'POST': diff --git a/templates/eval.html b/templates/eval.html new file mode 100644 index 0000000..b7ff642 --- /dev/null +++ b/templates/eval.html @@ -0,0 +1,44 @@ + + + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/templates/play.html b/templates/play.html index 8de9ecb..d5d1d41 100644 --- a/templates/play.html +++ b/templates/play.html @@ -5,71 +5,99 @@ CheerpJ test + +
+

Mario Game User Test

+
+
+ +
+
-
{{ py2htmlstr }} + -
- -
- + + + \ No newline at end of file From 0004823617ddd7fc3f5aa0ebf51d07e56a3c4d7d Mon Sep 17 00:00:00 2001 From: bigJIU <1572204178@qq.com> Date: Mon, 24 Oct 2022 22:17:55 +0800 Subject: [PATCH 2/3] Radio Done --- .idea/workspace.xml | 7 +- __pycache__/main.cpython-39.pyc | Bin 1073 -> 1250 bytes main.py | 10 +- templates/eval.html | 183 +++++++++++++++++++++++++++----- 4 files changed, 168 insertions(+), 32 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 3c9b0a3..8741666 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,12 +2,9 @@ - - - - + - + \ No newline at end of file diff --git a/__pycache__/main.cpython-39.pyc b/__pycache__/main.cpython-39.pyc index f8e88bbe38d71becfc41a6c4e3c72c137e4913f3..feb95acdd75893bb04edc3a8572d4c4d12f464fa 100644 GIT binary patch delta 261 zcmdnU@raWzk(ZZ?0SI=^3QMkKp2#P|xND+zgFSl|X9`OSZ#rWNUoTUNV2V%+Lo;I( zUn*OQa5huXwiJ<6_IUnO_5}h985kK-*|P*vL{db185tQ;#DW<##W!AZW8z!M>{lcN zG`dItNUWT!#%!g;ot|3a73}Zll30=`4iqis01^yLT#OuyT#QAMK=$NwOkV6oB0yG= z=;R4Z5(+#(EkTJXnfV|+@<4G^JyMganI#zoCr@Se<_766k^&JjlbB-oZeSLZ76%I5 z;)svWP0Y-Tj}Osgyv3T5npB$ZrztSmmc^S5Bwr*sc`}POqs-*}ERt*-jBJb?i~yJZ BBt`%L diff --git a/main.py b/main.py index 566d156..996cd19 100644 --- a/main.py +++ b/main.py @@ -21,7 +21,15 @@ def eval(): @app.route('/', methods=['POST']) -def getData(): +def getJSONData(): + if request.method == 'POST': + print("POST") + print(request.json) + return redirect(url_for('datapage')) + + +@app.route('/', methods=['POST']) +def getRadioData(): if request.method == 'POST': print("POST") print(request.json) diff --git a/templates/eval.html b/templates/eval.html index b7ff642..3ef9d22 100644 --- a/templates/eval.html +++ b/templates/eval.html @@ -3,40 +3,171 @@ - + -
+
- -
-
- + - + +
+
+ +
+ Fun + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + + + + +
+ From d3a64595dac4b18cc181090dce47960969da2fa7 Mon Sep 17 00:00:00 2001 From: bigJIU <1572204178@qq.com> Date: Wed, 26 Oct 2022 11:49:14 +0800 Subject: [PATCH 3/3] Week7 done --- .idea/workspace.xml | 5 ++++- Mario-AI-Interface/reps/1.txt | 1 + Mario-AI-Interface/reps/t.txt | 1 + __pycache__/main.cpython-39.pyc | Bin 1250 -> 1606 bytes evals/eval.txt | 1 + main.py | 29 +++++++++++++++++------------ reps/1.txt | 1 + reps/2.txt | 1 + templates/eval.html | 13 ++++++++++++- templates/play.html | 8 +++----- 10 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 Mario-AI-Interface/reps/1.txt create mode 100644 Mario-AI-Interface/reps/t.txt create mode 100644 evals/eval.txt create mode 100644 reps/1.txt create mode 100644 reps/2.txt diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 8741666..ec6fdc0 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,6 +5,7 @@ + - + \ No newline at end of file diff --git a/Mario-AI-Interface/reps/1.txt b/Mario-AI-Interface/reps/1.txt new file mode 100644 index 0000000..43bef96 --- /dev/null +++ b/Mario-AI-Interface/reps/1.txt @@ -0,0 +1 @@ +test2,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,18,18,18,18,18,18,18,2,2,2,2,2,2,2,18,18,18,18,18,18,18,18,18,2,2,2,2,2,2,2,2,2,18,18,18,18,18,2,2,2,2,2,2,2,2,2,2,2,2,2,2,18,18,18,18,18 \ No newline at end of file diff --git a/Mario-AI-Interface/reps/t.txt b/Mario-AI-Interface/reps/t.txt new file mode 100644 index 0000000..f6c18b4 --- /dev/null +++ b/Mario-AI-Interface/reps/t.txt @@ -0,0 +1 @@ +test2,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,18,18,18,18,18,18,18,18,18,2,2,2,2,2,2,18,18,18,18,18,2,2,2,2,2,2,2,18,18,18,18,18,18,18,2,2,2,2,2,2,2,16,16,16,16,18,18,18,2,2,2,2,2,2,2,2,2,0,0,16,16,18,18,18,18,18,18,18,18,2,2,2,2,18,18,18,18,18,18,18,18,18,18,18,2,2,2,2,2,18,18,18,18,18,18,18,18,18,18,18,2,2,2,2,2,2,2,2,2,2,2,2,18,18,18,18,18,18,18,18,2,2,2,2,2,2,2,2,2,2,2,2,2 \ No newline at end of file diff --git a/__pycache__/main.cpython-39.pyc b/__pycache__/main.cpython-39.pyc index feb95acdd75893bb04edc3a8572d4c4d12f464fa..c593cf3dc1ff69573e56d3da3bba3025f080c125 100644 GIT binary patch literal 1606 zcmaJ>-EJF26rP#gS+D=%G)a?I6vP+SpJ@ktvxPTbrsp9#+bd9<^<45|gFyKZkWQuH;1T%>wx%$@SiAx|iYs zZyN;%Q@0OYuY(cvoES*koCxodK|p?gwmv!gbYzOWYv9ss*3dPxhY-e$i6tftV(vYH+BkF$Ap#r}9{5Ms^Eer80X|$q z6iHU@PR=aPfcs0_O=FaV`BbgJcgFXS&mAgm9E_t9f&(<@1?H6XXLX$J0#;2Ja*?f= zHelArIhX^@z!0W74n2H&^fRQjR!B3dgnsAD+w^?~(+wF@K|$wF3=`}ER5c7R&w0M# z=nL;5&hsuj(A?bB2b$>W|+V6gon4}jd#BHz)#qx>D zN@M-8u1Xu~o|Ez__6o2l>|SAWS>@P}l_u@(V(j(ZKbhj+Mt3ktZjD=f?#XHbk;Gj*x> zDG^!qCJky62GkZBWT3Xe*cNK|zsy^}+--xi-iI}JsDDJ&BfwG*%-e>vIdn(;dvK8Y z707z!Ey$cK*f~-KWbVyD{2fGm&_)CHD=%io9KEb~D(;I{_Fu*_>1$9N~>7_R~s z@_2gE+f-dVkq_~mQYh2%@?(uEOqjyVSy+nk#If~~$wckoz BWsU#< delta 711 zcmbV}!EVz)5QcZgUfXeP$7z$6qDpW95s3ogTp=VbP@zz%h=V0$rJZd^z)8EYIUpep z;hIC`TTk@Z2LOo|;30hE#*If{b`hu&H&&Y2-EVgPnc4joeQzbhI1UAmuV*g~-#e$t z%?|}+P+*3IlR1T(xrNLm2nEU`Bxi}4PdI`sQ2wVDx#vKVypLi5S!jvRB%qchE0%;z zRw%M0QvQT*Q9J@lmPl<%Esy{5o!@~Dt=d4sY1dw({z6^l=WP~D&jpv`Pg3eqZwVl1 zeP8r9ewZ#!e?F-n!{ zIyzE%cRrie&#<>1{1J%FSu_f$(>lVJ@#-bgso&y_vBSh_-sVLqCP2Vl+$xb^!8Mo2 z%&{xCl!ObW`+_+4g)`7bPN(cHJZ-vYyh4?)X4J@IJ)V}0JK>tNG^f1!DPF1foM>%> zxATCVzz_lmL2uS4PWRz|SE9QnLC+@Gb>r=8|0KA|qzUr87>=iT{+!=Tk~*kHgMOzz zllShlO&vYW=4`+Cb9a&%=M`F^ld%&2;!9+*#=UuU<45qiiCNjBG5 M0-