Add Tutorial
This commit is contained in:
parent
e2abea7831
commit
581b552ea6
14
.idea/workspace.xml
generated
14
.idea/workspace.xml
generated
@ -3,9 +3,15 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="c32bfd4e-6189-47f3-9d6c-c1825d3d7e5f" name="Changes" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/data/annotation.csv" beforeDir="false" afterPath="$PROJECT_DIR$/data/annotation.csv" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/IDManager.py" beforeDir="false" afterPath="$PROJECT_DIR$/IDManager.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/data/questionare.csv" beforeDir="false" afterPath="$PROJECT_DIR$/data/questionare.csv" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/templates/GameOver.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameOver.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/levels/Tutorial1.lvl" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/levels/Tutorial2.lvl" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/levels/Tutorial3.lvl" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/levels/test1.lvl" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/levels/test2.lvl" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/templates/GameTutorial.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameTutorial.html" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -159,7 +165,7 @@
|
||||
<workItem from="1667456828218" duration="24361000" />
|
||||
<workItem from="1667898094682" duration="1595000" />
|
||||
<workItem from="1667998268807" duration="2593000" />
|
||||
<workItem from="1668064138807" duration="5381000" />
|
||||
<workItem from="1668064138807" duration="7237000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
@ -179,7 +185,7 @@
|
||||
</component>
|
||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||
<SUITE FILE_PATH="coverage/MarioWeb$test.coverage" NAME="test Coverage Results" MODIFIED="1668079935841" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||
<SUITE FILE_PATH="coverage/MarioWeb$Flask__main_py_.coverage" NAME="Flask (main.py) Coverage Results" MODIFIED="1668084426080" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||
<SUITE FILE_PATH="coverage/MarioWeb$Flask__main_py_.coverage" NAME="Flask (main.py) Coverage Results" MODIFIED="1668088139944" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||
<SUITE FILE_PATH="coverage/MarioWeb$Flask__main_py___1_.coverage" NAME="Flask (main.py) (1) Coverage Results" MODIFIED="1668079945407" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||
</component>
|
||||
</project>
|
19
IDManager.py
19
IDManager.py
@ -3,10 +3,12 @@ import csv
|
||||
class idManager():
|
||||
levelNum = 200
|
||||
timeMin = 1
|
||||
tutorialMax = 3
|
||||
ip_dic = {}
|
||||
ip_recent = {}
|
||||
ip_control = {}
|
||||
ip_time = {}
|
||||
ip_tutorial = {}
|
||||
def __int__(self):
|
||||
self.levelNum = 200
|
||||
|
||||
@ -49,6 +51,23 @@ class idManager():
|
||||
self.ip_time[ip] = self.ip_time[ip]+1
|
||||
return self.ip_time[ip]
|
||||
|
||||
def addTutorial(self,ip):
|
||||
|
||||
if ip not in self.ip_tutorial.keys():
|
||||
self.ip_tutorial[ip] = 1
|
||||
return 1
|
||||
else:
|
||||
if self.ip_tutorial[ip]>self.tutorialMax:
|
||||
return 1
|
||||
else:
|
||||
self.ip_tutorial[ip] = self.ip_tutorial[ip] + 1
|
||||
return self.ip_tutorial[ip]
|
||||
|
||||
def hasNextTutorial(self,ip):
|
||||
if self.ip_tutorial[ip] == self.tutorialMax:
|
||||
return 0
|
||||
else:
|
||||
return 1
|
||||
def getControl(self,ip):
|
||||
return self.ip_control[ip]
|
||||
def write_csv(self,path, data):
|
||||
|
Binary file not shown.
Binary file not shown.
@ -20,3 +20,4 @@
|
||||
127.0.0.1,47,30,E
|
||||
127.0.0.1,47,30,E
|
||||
127.0.0.1,136,104,E
|
||||
127.0.0.1,136,68,E
|
||||
|
|
@ -52,3 +52,8 @@ IP,Style,Frequency,Age,Gender
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
127.0.0.1,,,,,
|
||||
|
|
@ -1,16 +0,0 @@
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-----------------------------------------------SSSS-SSS-----------------------SSSSSSSSSSSSSSSSSS----------------SSSSSSSSSSSSSSSS----------------S--SSSSSS-------
|
||||
----------o-----t-------------------------------------------------------------------SSSS--S----------------------SSSSSSSSSSSSSSS--------------------------------
|
||||
%--------S------t--------------------------------------------------------------------SS--SSS--------------------SSSSSSSSSSSSSSS---------------------------------
|
||||
|------------------------------o----------SSSSSS--------------------Q--------------S------SS-------------------o------S----KSSS---------------@%--S-------------
|
||||
|-----------------------------------------SSSSS------oo----------------------------------------------%---------------------SS------------------|----------------
|
||||
|--------------------------------------SSSSSSSS-%----%%%%%-%%--------------------------SS------------|-----------------------------------------|-----#----------
|
||||
|--------o------------------------S--SS--SSSSS--|-----|||--||--------------------------r-------S-----|------------SSo-ooo---oSSS---------------|----##----------
|
||||
|------------------------------S----SSSSSSSSSSS-|-----|||--||-------------------%%%%%%%%%%------QQQ--|-QQ----------SSS%--%%%%%%%---#-----------|---####--##-##-#
|
||||
|------------------------------t--------S-------|-T---|||--||----------------#---||||||||----#-------|----------------|---|||||----#-----------|--#####--##----#
|
||||
|--------------------------tt--t-------SSS%%-SS-|-TT--|||--||----------------#--S|||||||S----#-------tt---------S-----|--S||||S----#-----------|-######--##----#
|
||||
|--------k-------g---------tt-kt----------||----|-TT--|||--||----kkg-------###---|||||||---------g---tt------ggg------|---||||-----#-#---------|#######--##----#
|
||||
XX-------XXXXXXXXXXXXXXXXXXXXXXXS--%------%%----|XXXX-|||--||---XXXXXXXXXXXXXXXX%|%%%%%%%-------XXXXXXXXXXXXXXXX-%%%%%%%%%%%||--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-X
|
||||
XX-------XXXXXXXXXXXXXXXXXXXXXXX---|------||----|XXXX-|||--||---XXXXXXXXXXXXXXXXg|-|||||--------XXXXXXXXXXXXXXXXg-|||||||||-||--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-X
|
@ -1,16 +0,0 @@
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-----------------------------------------------SSSS-SSS-----------------------SSSSSSSSSSSSSSSSSS----------------SSSSSSSSSSSSSSSS----------------S--SSSSSS-------
|
||||
----------o-----t-------------------------------------------------------------------SSSS--S----------------------SSSSSSSSSSSSSSS--------------------------------
|
||||
%--------S------t--------------------------------------------------------------------SS--SSS--------------------SSSSSSSSSSSSSSS---------------------------------
|
||||
|------------------------------o----------SSSSSS--------------------Q--------------S------SS-------------------o------S----KSSS---------------@%--S-------------
|
||||
|-----------------------------------------SSSSS------oo----------------------------------------------%---------------------SS------------------|----------------
|
||||
|--------------------------------------SSSSSSSS-%----%%%%%-%%--------------------------SS------------|-----------------------------------------|-----#----------
|
||||
|--------o------------------------S--SS--SSSSS--|-----|||--||--------------------------r-------S-----|------------SSo-ooo---oSSS---------------|----##----------
|
||||
|------------------------------S----SSSSSSSSSSS-|-----|||--||-------------------%%%%%%%%%%------QQQ--|-QQ----------SSS%--%%%%%%%---#-----------|---####--##-##-#
|
||||
|------------------------------t--------S-------|-T---|||--||----------------#---||||||||----#-------|----------------|---|||||----#-----------|--#####--##----#
|
||||
|--------------------------tt--t-------SSS%%-SS-|-TT--|||--||----------------#--S|||||||S----#-------tt---------S-----|--S||||S----#-----------|-######--##----#
|
||||
|--------k-------g---------tt-kt----------||----|-TT--|||--||----kkg-------###---|||||||---------g---tt------ggg------|---||||-----#-#---------|#######--##----#
|
||||
XX-------XXXXXXXXXXXXXXXXXXXXXXXS--%------%%----|XXXX-|||--||---XXXXXXXXXXXXXXXX%|%%%%%%%-------XXXXXXXXXXXXXXXX-%%%%%%%%%%%||--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-X
|
||||
XX-------XXXXXXXXXXXXXXXXXXXXXXX---|------||----|XXXX-|||--||---XXXXXXXXXXXXXXXXg|-|||||--------XXXXXXXXXXXXXXXXg-|||||||||-||--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-X
|
12
main.py
12
main.py
@ -32,7 +32,7 @@ def gamepreplay():
|
||||
""])
|
||||
idm.setControl(ip, result.get("control"))
|
||||
print(result.get("gamestyle"))
|
||||
return redirect(url_for('gameplay', id=ip))
|
||||
return redirect(url_for('gametutorial', id=ip))
|
||||
|
||||
|
||||
@app.route('/again')
|
||||
@ -44,9 +44,13 @@ def gamepreplayAgain():
|
||||
def gamequestion():
|
||||
return render_template('GameQuestion.html')
|
||||
|
||||
@app.route('/gametutorial/<id>/<level>')
|
||||
def gametutorial(id, level):
|
||||
return render_template('GameTutorial.html', tutorial=level)
|
||||
@app.route('/gametutorial/<id>')
|
||||
def gametutorial(id):
|
||||
return render_template('GameTutorial.html', tutorial=idm.addTutorial(id), next=idm.hasNextTutorial(id))
|
||||
|
||||
@app.route('/gametutorial/<id>/data')
|
||||
def gametutorialdata(id):
|
||||
return redirect(url_for('gameplay', id=id))
|
||||
|
||||
@app.route('/gameplay/<id>')
|
||||
def gameplay(id):
|
||||
|
@ -124,7 +124,6 @@
|
||||
</div>
|
||||
<br>
|
||||
|
||||
|
||||
<div class="row clearfix">
|
||||
|
||||
<div class="col-md-12">
|
||||
@ -134,6 +133,18 @@
|
||||
<div align="center" id = "GameWindow">
|
||||
|
||||
</div>
|
||||
<div align = "center" style="visibility: hidden;" id = "next">
|
||||
<br>
|
||||
<button onclick="
|
||||
window.location.href = window.location.href;
|
||||
"><h3>Play Next Tutorial</h3></button>
|
||||
</div>
|
||||
<div align = "center" style="visibility: hidden;" id = "game">
|
||||
<br>
|
||||
<button onclick="
|
||||
window.location.href = window.location.href+'/data'
|
||||
"><h3>Play Real Game</h3></button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//Init Cheerpj Framework
|
||||
@ -166,7 +177,7 @@
|
||||
return element;
|
||||
}*/
|
||||
var divElement = document.getElementById("GameWindow");
|
||||
var level = "Tutorial"+"{{tutorial}}";
|
||||
var level = "t"+"{{tutorial}}";
|
||||
|
||||
cheerpjCreateDisplay(500,500,divElement);
|
||||
cheerpjRunMain("Play", "/app/Mario-AI-Interface.jar", "0", "f_l");
|
||||
@ -176,8 +187,11 @@
|
||||
PlayLevel(level,control)
|
||||
.then(function (){
|
||||
//play next?
|
||||
alert("Go to Evaluation Window")
|
||||
window.location.href = "/annotation"
|
||||
if ("{{next}}"=="1"){
|
||||
document.getElementById("next").style.visibility = "visible";
|
||||
}
|
||||
document.getElementById("game").style.visibility = "visible";
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user