Add Welcome & Fixed issues

This commit is contained in:
bigJIU 2022-12-09 21:41:03 +08:00
parent fe76d355e5
commit e8cc605965
18 changed files with 567 additions and 696 deletions

638
.idea/workspace.xml generated
View File

@ -2,617 +2,21 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="c32bfd4e-6189-47f3-9d6c-c1825d3d7e5f" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/img/welcome.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/templates/GameWelcome.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Flask/.idea/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Flask/.idea/Flask.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/IDManager.py" beforeDir="false" afterPath="$PROJECT_DIR$/IDManager.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/data/annotation.csv" beforeDir="false" afterPath="$PROJECT_DIR$/data/annotation.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/data/questionare.csv" beforeDir="false" afterPath="$PROJECT_DIR$/data/questionare.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-0.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-0.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-1.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-1.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-10.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-10.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-11.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-11.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-12.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-12.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-13.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-13.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-14.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-14.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-15.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-15.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-16.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-16.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-17.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-17.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-18.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-18.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-19.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-19.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-2.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-2.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-20.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-20.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-21.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-21.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-22.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-22.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-23.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-23.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-24.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-24.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-25.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-25.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-26.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-26.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-27.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-27.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-28.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-28.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-29.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-29.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-3.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-3.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-30.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-30.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-31.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-31.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-32.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-32.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-33.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-33.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-34.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-34.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-35.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-35.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-36.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-36.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-37.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-37.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-38.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-38.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-39.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-39.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-4.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-4.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-40.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-40.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-41.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-41.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-42.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-42.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-43.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-43.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-44.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-44.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-45.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-45.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-46.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-46.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-47.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-47.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-48.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-48.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-49.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-49.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-5.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-5.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-50.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-50.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-51.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-51.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-52.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-52.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-53.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-53.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-54.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-54.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-55.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-55.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-56.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-56.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-57.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-57.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-58.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-58.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-59.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-59.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-6.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-6.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-60.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-60.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-61.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-61.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-62.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-62.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-63.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-63.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-64.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-64.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-65.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-65.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-66.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-66.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-67.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-67.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-68.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-68.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-69.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-69.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-7.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-7.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-70.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-70.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-71.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-71.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-72.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-72.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-73.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-73.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-74.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-74.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-75.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-75.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-76.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-76.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-77.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-77.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-78.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-78.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-79.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-79.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-8.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-8.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-80.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-80.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-81.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-81.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-82.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-82.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-83.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-83.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-84.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-84.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-85.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-85.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-86.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-86.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-87.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-87.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-88.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-88.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-89.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-89.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-9.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-9.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-90.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-90.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-91.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-91.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-92.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-92.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-93.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-93.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-94.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-94.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-95.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-95.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-96.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-96.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-97.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-97.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-98.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-98.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-99.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Collector-99.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-0.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-0.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-1.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-1.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-10.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-10.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-11.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-11.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-12.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-12.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-13.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-13.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-14.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-14.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-15.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-15.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-16.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-16.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-17.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-17.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-18.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-18.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-19.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-19.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-2.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-2.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-20.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-20.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-21.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-21.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-22.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-22.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-23.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-23.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-24.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-24.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-25.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-25.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-26.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-26.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-27.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-27.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-28.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-28.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-29.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-29.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-3.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-3.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-30.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-30.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-31.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-31.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-32.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-32.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-33.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-33.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-34.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-34.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-35.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-35.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-36.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-36.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-37.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-37.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-38.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-38.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-39.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-39.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-4.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-4.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-40.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-40.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-41.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-41.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-42.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-42.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-43.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-43.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-44.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-44.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-45.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-45.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-46.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-46.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-47.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-47.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-48.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-48.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-49.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-49.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-5.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-5.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-50.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-50.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-51.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-51.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-52.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-52.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-53.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-53.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-54.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-54.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-55.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-55.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-56.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-56.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-57.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-57.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-58.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-58.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-59.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-59.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-6.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-6.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-60.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-60.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-61.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-61.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-62.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-62.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-63.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-63.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-64.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-64.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-65.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-65.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-66.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-66.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-67.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-67.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-68.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-68.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-69.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-69.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-7.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-7.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-70.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-70.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-71.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-71.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-72.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-72.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-73.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-73.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-74.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-74.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-75.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-75.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-76.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-76.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-77.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-77.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-78.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-78.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-79.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-79.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-8.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-8.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-80.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-80.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-81.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-81.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-82.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-82.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-83.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-83.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-84.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-84.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-85.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-85.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-86.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-86.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-87.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-87.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-88.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-88.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-89.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-89.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-9.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-9.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-90.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-90.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-91.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-91.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-92.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-92.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-93.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-93.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-94.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-94.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-95.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-95.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-96.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-96.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-97.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-97.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-98.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-98.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-99.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Killer-99.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-0.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-0.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-1.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-1.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-10.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-10.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-11.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-11.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-12.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-12.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-13.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-13.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-14.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-14.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-15.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-15.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-16.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-16.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-17.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-17.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-18.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-18.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-19.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-19.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-2.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-2.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-20.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-20.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-21.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-21.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-22.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-22.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-23.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-23.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-24.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-24.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-25.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-25.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-26.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-26.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-27.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-27.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-28.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-28.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-29.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-29.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-3.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-3.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-30.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-30.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-31.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-31.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-32.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-32.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-33.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-33.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-34.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-34.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-35.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-35.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-36.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-36.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-37.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-37.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-38.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-38.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-39.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-39.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-4.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-4.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-40.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-40.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-41.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-41.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-42.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-42.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-43.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-43.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-44.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-44.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-45.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-45.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-46.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-46.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-47.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-47.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-48.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-48.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-49.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-49.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-5.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-5.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-50.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-50.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-51.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-51.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-52.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-52.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-53.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-53.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-54.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-54.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-55.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-55.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-56.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-56.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-57.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-57.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-58.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-58.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-59.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-59.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-6.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-6.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-60.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-60.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-61.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-61.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-62.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-62.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-63.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-63.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-64.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-64.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-65.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-65.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-66.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-66.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-67.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-67.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-68.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-68.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-69.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-69.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-7.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-7.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-70.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-70.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-71.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-71.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-72.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-72.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-73.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-73.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-74.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-74.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-75.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-75.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-76.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-76.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-77.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-77.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-78.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-78.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-79.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-79.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-8.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-8.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-80.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-80.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-81.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-81.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-82.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-82.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-83.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-83.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-84.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-84.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-85.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-85.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-86.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-86.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-87.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-87.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-88.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-88.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-89.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-89.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-9.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-9.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-90.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-90.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-91.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-91.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-92.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-92.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-93.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-93.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-94.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-94.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-95.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-95.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-96.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-96.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-97.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-97.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-98.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-98.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-99.lvl" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/levels/part2/Runner-99.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GameAnnotation.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameAnnotation.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GameAnnotation2.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameAnnotation2.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GameOver.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameOver.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GamePlay.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GamePlay.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GamePlay2.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GameTutorial2.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GameQuestion.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameQuestion.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/GameTutorial.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/GameTutorial.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/data.js" beforeDir="false" afterPath="$PROJECT_DIR$/templates/data.js" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -663,6 +67,9 @@
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\duaho\Projects\website materials\MarioWeb\templates" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\duaho\Projects\website materials\MarioWeb\img" />
</key>
</component>
<component name="RunManager" selected="Flask server.Flask (main.py)">
<configuration name="MarioWeb" type="PythonConfigurationType" factoryName="Python">
@ -732,7 +139,22 @@
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="launchJavascriptDebuger" value="false" />
<method v="2" />
</configuration>
<configuration name="Flask (main.py)" type="Python.FlaskServer" temporary="true" nameIsGenerated="true">
<module name="MarioWeb" />
<option name="target" value="$PROJECT_DIR$/main.py" />
<option name="targetType" value="PATH" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
@ -782,7 +204,11 @@
<workItem from="1669293041032" duration="2911000" />
<workItem from="1669304513360" duration="1965000" />
<workItem from="1669626766796" duration="36000" />
<workItem from="1670311726228" duration="8831000" />
<workItem from="1670311726228" duration="12636000" />
<workItem from="1670345664686" duration="17000" />
<workItem from="1670435705322" duration="282000" />
<workItem from="1670478053954" duration="1683000" />
<workItem from="1670575237323" duration="8116000" />
</task>
<servers />
</component>
@ -803,7 +229,7 @@
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/MarioWeb$MarioWeb.coverage" NAME="MarioWeb Coverage Results" MODIFIED="1669305478201" 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$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="1670323731808" 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="1670592765804" 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___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>

8
Flask/.idea/.gitignore generated vendored
View File

@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
Flask/.idea/Flask.iml generated
View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -6,7 +6,7 @@ class idManager():
levelNum = 200
typeNum = 100
timeMin = 1
timeMin = 0
tutorialMax = 3
ip_dic = {}
ip_recent = {}
@ -18,6 +18,7 @@ class idManager():
def __int__(self):
self.levelNum = 200
self.typeNum = 100
self.timeMin = 0
def getLevels(self, ip):
if ip not in self.ip_dic.keys():
@ -85,14 +86,14 @@ class idManager():
self.ip_time[ip] = 0
def getTimes(self, ip):
print(self.ip_time[ip])
if ip not in self.ip_time.keys():
return 0
self.ip_time[ip] = 0
if self.ip_time[ip] >= self.timeMin:
return 1
else:
if self.ip_time[ip] >= self.timeMin:
return 1
else:
return 0
return 0
def addTimes(self, ip):
if ip not in self.ip_time.keys():

Binary file not shown.

Binary file not shown.

View File

@ -4,3 +4,18 @@ IP,A-ID,B-ID,Anno,
127.0.0.1,193,112,E,
127.0.0.1,153,200,B,
127.0.0.1,187,192,N,
10.27.169.251,12,169,N,
10.27.169.251,85,63,B,
10.27.169.251,131,179,E,
10.27.169.251,2,59,E,
10.27.169.251,163,78,E,
10.27.169.251,77,174,E,
10.27.169.251,186,108,A,
10.27.169.251,122,155,E,
10.27.169.251,32,148,A,
127.0.0.1,166,46,N,
127.0.0.1,54,167,N,
127.0.0.1,26,49,B,
127.0.0.1,38,154,N,
127.0.0.1,168,74,B,
127.0.0.1,82,101,N,

1 IP A-ID B-ID Anno
4 127.0.0.1 193 112 E
5 127.0.0.1 153 200 B
6 127.0.0.1 187 192 N
7 10.27.169.251 12 169 N
8 10.27.169.251 85 63 B
9 10.27.169.251 131 179 E
10 10.27.169.251 2 59 E
11 10.27.169.251 163 78 E
12 10.27.169.251 77 174 E
13 10.27.169.251 186 108 A
14 10.27.169.251 122 155 E
15 10.27.169.251 32 148 A
16 127.0.0.1 166 46 N
17 127.0.0.1 54 167 N
18 127.0.0.1 26 49 B
19 127.0.0.1 38 154 N
20 127.0.0.1 168 74 B
21 127.0.0.1 82 101 N

View File

@ -115,3 +115,39 @@ IP,Style,Frequency,Age,Gender
10.27.169.251,,,,,,
10.27.169.251,,,,,,
10.27.169.251,,,,,,
10.27.169.251,A,D,B,A,,
10.27.169.251,A,D,B,A,,
10.27.169.251,A,E,B,A,,
10.27.169.251,,,,,,
10.27.169.251,,,,,,
10.27.169.251,,,,,,
10.27.169.251,A,D,B,A,,
10.27.169.251,A,D,B,A,,
10.27.169.251,,,,,,
10.27.169.251,D,,,,,
10.27.169.251,,,,,,
10.27.169.251,,,,,,
10.27.169.251,A,A,A,A,,
10.27.169.251,A,A,,,,,,
10.27.169.251,A,B,A,D,D,B,,
10.27.169.251,,,,,,,,
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,,,,,,,,
10.27.169.251,,,,,,,,
10.27.169.251,A,A,C,B,B,A,,
127.0.0.1,A,A,A,E,A,A,,
127.0.0.1,A,A,A,B,B,A,,
127.0.0.1,A,A,A,A,C,A,,
127.0.0.1,C,A,A,E,B,A,,
127.0.0.1,C,A,C,D,F,A,,
127.0.0.1,A,A,D,A,C,A,,
127.0.0.1,B,A,C,A,A,A,,
127.0.0.1,C,A,B,E,B,A,,
127.0.0.1,A,A,A,E,E,A,,

1 IP,Style,Frequency,Age,Gender
115 10.27.169.251,,,,,,
116 10.27.169.251,,,,,,
117 10.27.169.251,,,,,,
118 10.27.169.251,A,D,B,A,,
119 10.27.169.251,A,D,B,A,,
120 10.27.169.251,A,E,B,A,,
121 10.27.169.251,,,,,,
122 10.27.169.251,,,,,,
123 10.27.169.251,,,,,,
124 10.27.169.251,A,D,B,A,,
125 10.27.169.251,A,D,B,A,,
126 10.27.169.251,,,,,,
127 10.27.169.251,D,,,,,
128 10.27.169.251,,,,,,
129 10.27.169.251,,,,,,
130 10.27.169.251,A,A,A,A,,
131 10.27.169.251,A,A,,,,,,
132 10.27.169.251,A,B,A,D,D,B,,
133 10.27.169.251,,,,,,,,
134 127.0.0.1,,,,,,,,
135 127.0.0.1,,,,,,,,
136 127.0.0.1,,,,,,,,
137 127.0.0.1,,,,,,,,
138 127.0.0.1,,,,,,,,
139 127.0.0.1,,,,,,,,
140 127.0.0.1,,,,,,,,
141 127.0.0.1,,,,,,,,
142 127.0.0.1,,,,,,,,
143 10.27.169.251,,,,,,,,
144 10.27.169.251,A,A,C,B,B,A,,
145 127.0.0.1,A,A,A,E,A,A,,
146 127.0.0.1,A,A,A,B,B,A,,
147 127.0.0.1,A,A,A,A,C,A,,
148 127.0.0.1,C,A,A,E,B,A,,
149 127.0.0.1,C,A,C,D,F,A,,
150 127.0.0.1,A,A,D,A,C,A,,
151 127.0.0.1,B,A,C,A,A,A,,
152 127.0.0.1,C,A,B,E,B,A,,
153 127.0.0.1,A,A,A,E,E,A,,

BIN
img/welcome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

50
main.py
View File

@ -14,9 +14,14 @@ evalDataPath = "evals/"
questionarePath = "data/questionare.csv"
annotationPath = "data/annotation.csv"
annotationPath2 = "data/annotation2.csv"
@app.route('/')
def gamewelcome():
return render_template('GameWelcome.html')
@app.route('/question')
def gamequestion():
return render_template('GameQuestion.html')
@ -28,18 +33,18 @@ def gamepreplay():
ip = request.remote_addr
# Save the result to questionare
idm.write_csv(questionarePath,
[ip, result.get("gamestyle"), result.get("frequency"), result.get("age"), result.get("gender"),
[ip,result.get("playeds"),result.get("playedp"), result.get("gamestyle"), result.get("frequency"), result.get("age"), result.get("gender"),
""])
idm.setControl(ip, result.get("control"))
print(result.get("gamestyle"))
# return redirect(url_for('gametutorial', id=ip))
return redirect(url_for('gametutorial', id=ip))
# debug use:
return redirect(url_for('gameanno2', id=ip))
#return redirect(url_for('gameplay2', id=ip))
@app.route('/gametutorial/<id>')
def gametutorial(id):
return render_template('GameTutorial.html', tutorial=idm.addTutorial(id), next=idm.hasNextTutorial(id))
return render_template('GameTutorial.html', tutorial=idm.addTutorial(id), next=idm.hasNextTutorial(id),control=idm.getControl(id))
@app.route('/again')
@ -79,6 +84,7 @@ def gameanno(id):
if (id != "radioresult"):
print("anno " + id)
gamelevels = idm.getRecent(id)
level1 = "lvl" + str(gamelevels[0])
level2 = "lvl" + str(gamelevels[1])
return render_template('GameAnnotation.html', level1=level1, level2=level2)
@ -94,15 +100,14 @@ def getRadioData():
print(result)
ipRecent = idm.getRecent(ip)
idm.write_csv(annotationPath, [ip, ipRecent[0], ipRecent[1], result["fun"]])
idm.addTimes(ip)
finish = idm.getTimes(ip)
return render_template("GameOver.html", finish=finish, stage=2)
@app.route("/gameover/<stage>")
def over(stage):
return render_template("GameOver.html", finish=1, stage=stage)
return redirect(url_for('over', stage=1))
@app.route('/gameplay2')
def gamepreplay2():
return redirect(url_for('gameplay2', id=request.remote_addr))
@app.route('/gameplay2/<id>')
@ -124,15 +129,15 @@ def getJSONData2(id):
@app.route('/annotation2')
def gamepreanno2():
return redirect(url_for('gameanno', id=request.remote_addr))
return redirect(url_for('gameanno2', id=request.remote_addr))
@app.route('/annotation2/<id>')
def gameanno2(id):
if id != "result":
print("anno " + id)
# gamelevels = idm.getRecent(id)
gamelevels = idm.getTypeLevels(id)
gamelevels = idm.getRecent(id)
# gamelevels = idm.getTypeLevels(id)
level1 = gamelevels[0]
level2 = gamelevels[1]
level3 = gamelevels[2]
@ -146,9 +151,24 @@ def gameannoresult2(id):
if request.method == 'POST':
print("result! " + id)
resultList = list(request.form)[0].split(",")
levelList = idm.getRecent(request.remote_addr)
print(resultList)
return redirect(url_for('over',stage=2))
idm.write_csv(annotationPath2,
[request.remote_addr, resultList[0], resultList[1], resultList[2], levelList[0], levelList[1], levelList[2],
""])
return redirect(url_for('over', stage=2))
@app.route("/gameover/<stage>")
def over(stage):
finish = idm.getTimes(request.remote_addr)
print("finish %d",finish)
if finish:
idm.setTimes(request.remote_addr)
else:
idm.addTimes(request.remote_addr)
return render_template("GameOver.html", finish=finish, stage=stage)
def saveFile(path, filename, content):

View File

@ -236,16 +236,16 @@ function Replay(id){
<section id="Reviews">
<div class="container">
<div class="page-header">
<h1>
<i class="icon-cloud"></i> Reviews
</h1>
</div>
{# <div class="page-header">#}
{# <h1>#}
{# <i class="icon-cloud"></i> Reviews#}
{# </h1>#}
{# </div>#}
<br>
<div class="row clearfix">
<div class="col-md-5">
<h4>Level A Review</h4>
<h4>Level A</h4>
<p style="color:darkgrey">Drag Picture To Move</p>
<div style="overflow-x: scroll; height: 350px;" >
<img src="../levels/{{level1}}.png" height="100%">
@ -258,7 +258,7 @@ function Replay(id){
<div class="col-md-2"></div>
<div class="col-md-5">
<h4>Level B Review</h4>
<h4>Level B</h4>
<p style="color:darkgrey">Drag Picture To Move</p>
<div style="overflow-x: scroll; height: 350px;" >
@ -272,13 +272,35 @@ function Replay(id){
</div>
</div>
<script type="text/javascript">
function beforeSubmit(form){
if(isEmpty("fun")){
alert("Question is Empty! Please Fill it!");
return false;
}
return true;
}
function isEmpty(name){
var elements = document.getElementsByName(name)
for (var i = 0; i < elements.length; i++) { //遍历Radio
if (elements[i].checked) {
return 0;
}
}
return 1;
}
</script>
<br><br>
<div class="container">
<h1>
<i class="icon-cloud"></i> Annotation Questions
<i class="icon-cloud"></i> Which level was more fun to play?
</h1>
<br>
<form action="radioresult" method="POST">
<form action="radioresult" method="POST" onSubmit="return beforeSubmit(this);">
<div class="row clearfix">
<div class="col-md-6">

View File

@ -198,7 +198,7 @@ function Replay(id){
<div class="row clearfix">
<div class="col-md-4">
<h4>Collector Review</h4>
<h4>Level A</h4>
<p style="color:darkgrey">Drag Picture To Move</p>
<div style="overflow-x: scroll; height: 350px;" >
<img src="../levels/{{level1}}.png" height="100%">
@ -211,7 +211,7 @@ function Replay(id){
<div class="col-md-4">
<h4>Killer Review</h4>
<h4>Level B</h4>
<p style="color:darkgrey">Drag Picture To Move</p>
<div style="overflow-x: scroll; height: 350px;" >
@ -224,7 +224,7 @@ function Replay(id){
</div>
<div class="col-md-4">
<h4>Runner Review</h4>
<h4>Level C</h4>
<p style="color:darkgrey">Drag Picture To Move</p>
<div style="overflow-x: scroll; height: 350px;" >
@ -247,15 +247,15 @@ function Replay(id){
<div class="wrapper">
<div class="item">
<span class="text">Collector Level</span>
<span class="text">Level A</span>
<i class="fas fa-bars" ></i>
</div>
<div class="item">
<span class="text">Killer Level</span>
<span class="text">Level B</span>
<i class="fas fa-bars"></i>
</div>
<div class="item">
<span class="text">Runner Level</span>
<span class="text">Level C</span>
<i class="fas fa-bars"></i>
</div>

View File

@ -143,11 +143,18 @@
<script>
window.onload=function(){
console.log("{{finish}}");
var fini = document.getElementById("Finish");
console.log("{{finish}}" == "1")
if("{{finish}}" == "1"){
document.getElementById("Finish").style.visibility = "visible";
fini.style.visibility = "visible";
if('{{stage}}' == '2'){
fini.innerText = "Finish"
}else{
document.getElementById("Finish").style.visibility = "hidden";
fini.innerText = "Go to Phase II"
}
}else{
fini.style.visibility = "hidden";
}
}
</script>
@ -158,13 +165,23 @@
<i class="icon-cloud"></i> Thank You!!!
</h1>
<br>
<button onclick='window.location.href = "/again"'>Play And Annotate Again!</button>
<button onclick="
if('{{stage}}' == '2'){
window.location.href = '/gameplay2';
}else{
window.location.href = '/again'
}
">Play And Annotate Again!</button>
<button id = "Finish" onclick="
if('{{stage}}' == '1'){
if('{{stage}}' == '2'){
window.location.href = 'about:blank';
window.close();
}else{
window.location.href = '/stage2pre';
window.location.href = '/gameplay2';
}
">Finish!</button>

View File

@ -98,11 +98,11 @@
<section id="news">
<div class="container">
<div class="page-header">
<h1>
<i class="fa-solid fa-gamepad"><b>EDRL Game Demo</b></i>
</h1>
</div>
{# <div class="page-header">#}
{# <h1>#}
{# <i class="fa-solid fa-gamepad"><b>EDRL Game Demo</b></i>#}
{# </h1>#}
{# </div>#}
<br>
@ -110,7 +110,7 @@
<div class="col-md-12">
<div align="center">
<h3>Mario Game User Test</h3>
<h3 id="Head">Level A</h3>
</div>
<div align="center" id = "GameWindow">
@ -120,8 +120,10 @@
//Init Cheerpj Framework
cheerpjInit();
var divElement = document.getElementById("GameWindow");
var title = document.getElementById("Head");
var levelNum = Number("{{levelNum}}")
var levels = getLevels("{{gamelevels}}",levelNum);
var levelNames = ["Level A","Level B","Level C","Level D"];
cheerpjCreateDisplay(500,500,divElement);
cheerpjRunMain("Play", "/app/Mario-AI-Interface.jar", "0", "f_l");
@ -132,10 +134,13 @@
for (i = 0; i < levelNum-1; i++) {
console.log("Play level: %s",levels[i])
PlayLevel(levels[i],control)
.then(function (){alert("Game Over!")});
.then(function (){alert("Game Over!")})
.then(function (){
console.log(i)
var index = levelNames.indexOf(title.innerText);
title.innerText = levelNames[index+1];});
}
console.log("Play level: %s",levels[levelNum-1])
PlayLevel(levels[levelNum-1],control)
.then(function (){
alert("Go to Evaluation Window")
@ -144,6 +149,10 @@
</script>
</div>
</div>
<br>

View File

@ -191,18 +191,70 @@
</div>
</div>
</nav>
<script type="text/javascript">
function beforeSubmit(form){
var radios = ["playeds","playedp","gamestyle","frequency","age","gender","control"]
for (var i = 0; i < radios.length; i++){
if(isEmpty(radios[i])){
alert("Question "+(i+1)+" is Empty! Please Fill it!");
return false;
}
}
return true;
}
function isEmpty(name){
var elements = document.getElementsByName(name)
for (var i = 0; i < elements.length; i++) { //遍历Radio
if (elements[i].checked) {
return 0;
}
}
return 1;
}
</script>
<section id="Reviews">
<div class="container">
<h1>
<i class="icon-cloud"></i> Questionare
<i class="icon-cloud"></i> Questionnaire
</h1>
<br>
<div class="row clearfix">
<div class="col-md-6">
<form action="result" method="POST">
<p><h4>Which do you prefer in Super Mario Bros?</h4>
<form action="result" method="POST" onSubmit="return beforeSubmit(this);">
<p><h4>Have you played Super Mario Bros before?</h4>
<label>
<input type="radio" class="option-input radio" name="playeds" value="A" >
Yes, a lot
</label>
<label>
<input type="radio" class="option-input radio" name="playeds" value="B" >
Yes, rarely
</label>
<label>
<input type="radio" class="option-input radio" name="playeds" value="C" >
No
</label>
</p>
<p><h4>Do you played platform games like Super Mario Bros?</h4>
<label>
<input type="radio" class="option-input radio" name="playedp" value="A" >
Yes, a lot
</label>
<label>
<input type="radio" class="option-input radio" name="playedp" value="B" >
Yes, rarely
</label>
<label>
<input type="radio" class="option-input radio" name="playedp" value="C" >
No
</label>
</p>
<p><h4>What is your prefered acion in Super Mario Bros?</h4>
<label>
<input type="radio" class="option-input radio" name="gamestyle" value="A" >
Speed run
@ -220,15 +272,15 @@
None of above
</label>
</p>
W
<p><h4>How frequently do you play game?</h4>
<label>
<input type="radio" class="option-input radio" name="frequency" value="A" >
Never
More than 10 hours a week
</label>
<label>
<input type="radio" class="option-input radio" name="frequency" value="B" >
Seldom
3-10 hours per week
</label>
<label>
<input type="radio" class="option-input radio" name="frequency" value="C" >
@ -236,15 +288,15 @@ W
</label>
<label>
<input type="radio" class="option-input radio" name="frequency" value="D" >
3-10 hours per week
Rarely
</label>
<label>
<input type="radio" class="option-input radio" name="frequency" value="E" >
More than 10 hours a week
Never
</label>
</p>
<p><h4>Your age?</h4>
<p><h4>What is your age?</h4>
<label>
<input type="radio" class="option-input radio" name="age" value="A" >
Below 20
@ -275,7 +327,7 @@ W
</label>
</p>
<p><h4>Your gender?</h4>
<p><h4>What is your gender?</h4>
<label>
<input type="radio" class="option-input radio" name="gender" value="A" >
Male
@ -290,14 +342,14 @@ W
</label>
</p>
<p><h4>You would like to play in?</h4>
<p><h4>How would you like to play?</h4>
<label>
<input type="radio" class="option-input radio" name="control" value="A" >
ASD (run to left; squat; run to right) + JK (Jump; Speed Up)
ASD (run to left; duck; run to right) + JK (Jump; Speed Up)
</label>
<label>
<input type="radio" class="option-input radio" name="control" value="B" >
←↓→ (run to left; squat; run to right) + SA (Jump; Speed Up)
←↓→ (run to left; duck; run to right) + SA (Jump; Speed Up)
</label>
</p>

View File

@ -117,23 +117,24 @@
<section id="news">
<div class="container">
<div class="page-header">
<h1>
<i class="fa-solid fa-gamepad"><b>EDRL Game Demo</b></i>
</h1>
</div>
{# <div class="page-header">#}
{# <h1>#}
{# <i class="fa-solid fa-gamepad"><b>EDRL Game Demo</b></i>#}
{# </h1>#}
{# </div>#}
<br>
<div class="row clearfix">
<div class="col-md-12">
<div align="center">
<h3>Mario Game Tutorial</h3>
<h3>Super Mario Bros Tutorial</h3>
</div>
<div align="center">
<p>
Further description of Tutorial can be done here<br>
Use the way of Play That you selected
Before proceeding to the main part of the experiment please familiarize yourself with the game.<br>
You may proceed to the next phase of this survey once you are ready!
</p>
</div>
@ -147,13 +148,13 @@
<br>
<button onclick="
window.location.href = window.location.href;
"><h3>Play Next Tutorial</h3></button>
"><h3>Repeat Tutorial</h3></button>
</div>
<div class="col-md-6" align="center" style="visibility: hidden;" id = "game">
<br>
<button onclick="
window.location.href = window.location.href+'/data'
"><h3>Play Real Game</h3></button>
"><h3>Play Game</h3></button>
</div>
<script>
@ -166,7 +167,7 @@
cheerpjRunMain("Play", "/app/Mario-AI-Interface.jar", "0", "f_l");
console.log("Cheerpj Initialize Succeed!");
var control = false;
var control = ("{{control}}" == "1");
PlayLevel(level,control)
.then(function (){
//play next?

287
templates/GameWelcome.html Normal file

File diff suppressed because one or more lines are too long

View File

@ -30,6 +30,7 @@ function PostToServer(url,data) {
}
}
function PlayLevel(level,control){
var returnVal = cjCall("Play", "playGameMain", level, 5, control);
return returnVal.then(function(){
console.log("the return val is ready");