From 0de883ae542cd0e72e1dbc84d92f4d24208d5fc7 Mon Sep 17 00:00:00 2001 From: bigJIU <1572204178@qq.com> Date: Mon, 3 Apr 2023 14:53:14 +0800 Subject: [PATCH] Add Level Count down --- IDManager.py | 2 ++ main.py | 30 ++++++++++++++++++++---------- templates/GamePlay.html | 17 +++++++++++++++++ templates/GameQuestion.html | 31 ++----------------------------- 4 files changed, 41 insertions(+), 39 deletions(-) diff --git a/IDManager.py b/IDManager.py index 9d6a657..3d1c971 100644 --- a/IDManager.py +++ b/IDManager.py @@ -98,6 +98,8 @@ class idManager(): def setTimes(self, ip): self.ip_time[ip] = 0 + # 1 For next step + # 0 For not next step def getTimes(self, ip): if ip not in self.ip_time.keys(): diff --git a/main.py b/main.py index 2690f86..80095c7 100644 --- a/main.py +++ b/main.py @@ -22,13 +22,16 @@ evalDataPath = "evals/" questionarePath = "data/questionare.csv" annotationPath = "data/annotation.csv" annotationPath2 = "data/annotation2.csv" +feedbackPath = "data/feedback.csv" -#id=idm.getId(request.remote_addr) + +# id=idm.getId(request.remote_addr) def getId(): if 'name' not in session: session['name'] = str(uuid.uuid4()) return session['name'] + @app.route('/') def gamewelcome(): ip = getId() @@ -55,8 +58,8 @@ def gamepreplay(): result.get("playedp"), result.get("gamestyle"), result.get("frequency"), - result.get("age")+result.get("myAge"), - result.get("gender")+result.get("myGender"), + result.get("age") + result.get("myAge"), + result.get("gender") + result.get("myGender"), ""]) idm.setControl(cid, result.get("control")) print(result.get("gamestyle")) @@ -67,7 +70,8 @@ def gamepreplay(): @app.route('/gametutorial/') def gametutorial(id): - return render_template('GameTutorial.html', tutorial=idm.addTutorial(id), next=idm.hasNextTutorial(id),maxT=idm.tutorialMax, + return render_template('GameTutorial.html', tutorial=idm.addTutorial(id), next=idm.hasNextTutorial(id), + maxT=idm.tutorialMax, control=idm.getControl(id)) @@ -85,6 +89,7 @@ def gametutorialdata(id): def gameplay(id): gamelevels = idm.getLevels(id) return render_template('GamePlay.html', gamelevels=gamelevels, control=idm.getControl(id), levelNum=2, + times=idm.getTimes(id), jump="/annotation") @@ -93,7 +98,7 @@ def getJSONData(id): if request.method == 'POST': print("POST Game") resultList = list(request.form)[0].split(",") - saveFile(replayDataPath, id + resultList[0][:-2], resultList[1:]) + saveFile(replayDataPath, id + "_" + resultList[0][:-2], resultList[1:]) return "return!" @@ -147,7 +152,7 @@ def getJSONData2(id): if request.method == 'POST': print("POST Game") resultList = list(request.form)[0].split(",") - saveFile(replayDataPath, id + resultList[0][:-2], resultList[1:]) + saveFile(replayDataPath, id+"_" + resultList[0][:-2], resultList[1:]) return "return!" @@ -174,11 +179,8 @@ def gameanno2(id): def gameannoresult2(id): if request.method == 'POST': print("result: " + id) - resultList = list(request.form)[0].split(",") levelList = idm.getRecent(getId()) - - idm.write_csv(annotationPath2, [getId(), resultList[0], resultList[1], resultList[2], levelList[0], levelList[1], levelList[2], @@ -194,10 +196,18 @@ def gameannoresult2(id): @app.route("/gameover") def over(): finish = idm.getTimes(getId()) - return render_template("GameOver.html", finish=1, stage=1) +@app.route("/gameover//feedback", methods=['POST']) +def overa(): + if request.method == 'POST': + resultList = list(request.form)[0].split(",") + idm.write_csv(feedbackPath, + [getId(), resultList[0], + ""]) + + def saveFile(path, filename, content): cp = list(map(int, content)) file_dir = os.path.join(os.getcwd(), path) diff --git a/templates/GamePlay.html b/templates/GamePlay.html index d22ab63..485ce45 100644 --- a/templates/GamePlay.html +++ b/templates/GamePlay.html @@ -187,6 +187,7 @@
+

There are 7 levels left

If the game is not responding to your keyboard, please click on the game screen.

@@ -201,6 +202,7 @@ cheerpjInit(); var divElement = document.getElementById("GameWindow"); var title = document.getElementById("Head"); + var leftLevel = document.getElementById("leftLevel") var levelNum = Number("{{levelNum}}") var levels = getLevels("{{gamelevels}}", levelNum); var levelNames = ["Level A", "Level B", "Level C", "Level D"]; @@ -215,8 +217,19 @@ console.log("GameLoad Initialize Succeed!"); document.getElementById("loading").style.visibility = 'hidden'; }) + leftNum = 0; + if(levelNum === 3) {leftNum = 2} + else { + if ("{{times}}"==1){ + leftNum = 4; + }else{ + leftNum = 6; + } + } + leftLevel.innerText = "There are " + leftNum +" levels left." + leftNum--; for (i = 0; i < levelNum - 1; i++) { console.log("Play level: %s", levels[i]) PlayLevel(levels[i], control) @@ -225,6 +238,8 @@ console.log(i) var index = levelNames.indexOf(title.innerText); title.innerText = levelNames[index + 1]; + leftLevel.innerText = "There are " + leftNum +" levels left." + leftNum--; }); } @@ -235,7 +250,9 @@ }); + function LeftNum(times, level){ + } diff --git a/templates/GameQuestion.html b/templates/GameQuestion.html index 1e60897..b301af8 100644 --- a/templates/GameQuestion.html +++ b/templates/GameQuestion.html @@ -312,23 +312,6 @@ None of above

- -

4. How often do you play games?

- - -