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">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="c32bfd4e-6189-47f3-9d6c-c1825d3d7e5f" name="Changes" comment="">
|
<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$/.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$/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>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@ -159,7 +165,7 @@
|
|||||||
<workItem from="1667456828218" duration="24361000" />
|
<workItem from="1667456828218" duration="24361000" />
|
||||||
<workItem from="1667898094682" duration="1595000" />
|
<workItem from="1667898094682" duration="1595000" />
|
||||||
<workItem from="1667998268807" duration="2593000" />
|
<workItem from="1667998268807" duration="2593000" />
|
||||||
<workItem from="1668064138807" duration="5381000" />
|
<workItem from="1668064138807" duration="7237000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
@ -179,7 +185,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
<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$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="" />
|
<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>
|
</component>
|
||||||
</project>
|
</project>
|
19
IDManager.py
19
IDManager.py
@ -3,10 +3,12 @@ import csv
|
|||||||
class idManager():
|
class idManager():
|
||||||
levelNum = 200
|
levelNum = 200
|
||||||
timeMin = 1
|
timeMin = 1
|
||||||
|
tutorialMax = 3
|
||||||
ip_dic = {}
|
ip_dic = {}
|
||||||
ip_recent = {}
|
ip_recent = {}
|
||||||
ip_control = {}
|
ip_control = {}
|
||||||
ip_time = {}
|
ip_time = {}
|
||||||
|
ip_tutorial = {}
|
||||||
def __int__(self):
|
def __int__(self):
|
||||||
self.levelNum = 200
|
self.levelNum = 200
|
||||||
|
|
||||||
@ -49,6 +51,23 @@ class idManager():
|
|||||||
self.ip_time[ip] = self.ip_time[ip]+1
|
self.ip_time[ip] = self.ip_time[ip]+1
|
||||||
return self.ip_time[ip]
|
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):
|
def getControl(self,ip):
|
||||||
return self.ip_control[ip]
|
return self.ip_control[ip]
|
||||||
def write_csv(self,path, data):
|
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,47,30,E
|
127.0.0.1,47,30,E
|
||||||
127.0.0.1,136,104,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,,,,,
|
||||||
|
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"))
|
idm.setControl(ip, result.get("control"))
|
||||||
print(result.get("gamestyle"))
|
print(result.get("gamestyle"))
|
||||||
return redirect(url_for('gameplay', id=ip))
|
return redirect(url_for('gametutorial', id=ip))
|
||||||
|
|
||||||
|
|
||||||
@app.route('/again')
|
@app.route('/again')
|
||||||
@ -44,9 +44,13 @@ def gamepreplayAgain():
|
|||||||
def gamequestion():
|
def gamequestion():
|
||||||
return render_template('GameQuestion.html')
|
return render_template('GameQuestion.html')
|
||||||
|
|
||||||
@app.route('/gametutorial/<id>/<level>')
|
@app.route('/gametutorial/<id>')
|
||||||
def gametutorial(id, level):
|
def gametutorial(id):
|
||||||
return render_template('GameTutorial.html', tutorial=level)
|
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>')
|
@app.route('/gameplay/<id>')
|
||||||
def gameplay(id):
|
def gameplay(id):
|
||||||
|
@ -124,7 +124,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@ -134,6 +133,18 @@
|
|||||||
<div align="center" id = "GameWindow">
|
<div align="center" id = "GameWindow">
|
||||||
|
|
||||||
</div>
|
</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>
|
<script>
|
||||||
//Init Cheerpj Framework
|
//Init Cheerpj Framework
|
||||||
@ -166,7 +177,7 @@
|
|||||||
return element;
|
return element;
|
||||||
}*/
|
}*/
|
||||||
var divElement = document.getElementById("GameWindow");
|
var divElement = document.getElementById("GameWindow");
|
||||||
var level = "Tutorial"+"{{tutorial}}";
|
var level = "t"+"{{tutorial}}";
|
||||||
|
|
||||||
cheerpjCreateDisplay(500,500,divElement);
|
cheerpjCreateDisplay(500,500,divElement);
|
||||||
cheerpjRunMain("Play", "/app/Mario-AI-Interface.jar", "0", "f_l");
|
cheerpjRunMain("Play", "/app/Mario-AI-Interface.jar", "0", "f_l");
|
||||||
@ -176,8 +187,11 @@
|
|||||||
PlayLevel(level,control)
|
PlayLevel(level,control)
|
||||||
.then(function (){
|
.then(function (){
|
||||||
//play next?
|
//play next?
|
||||||
alert("Go to Evaluation Window")
|
if ("{{next}}"=="1"){
|
||||||
window.location.href = "/annotation"
|
document.getElementById("next").style.visibility = "visible";
|
||||||
|
}
|
||||||
|
document.getElementById("game").style.visibility = "visible";
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user