Eingabe_Funktion
This commit is contained in:
@@ -84,7 +84,10 @@ class GameConsumer(AsyncWebsocketConsumer):
|
||||
|
||||
elif message_type == 'submit_answer':
|
||||
participant_id = text_data_json['participant_id']
|
||||
answer = text_data_json['answer']
|
||||
try:
|
||||
answer = text_data_json['answer']
|
||||
except:
|
||||
answer=-1
|
||||
time_remaining = text_data_json.get('time_remaining', 0)
|
||||
|
||||
# Save answer and update participant score
|
||||
@@ -182,15 +185,30 @@ class GameConsumer(AsyncWebsocketConsumer):
|
||||
|
||||
# Check if answer is correct
|
||||
is_correct = False
|
||||
if answer_index >= 0: # -1 means timeout
|
||||
question_data = json.loads(current_question.data)
|
||||
question_data = json.loads(current_question.data)
|
||||
print(answer_index)
|
||||
try:
|
||||
#if answer_index >= 0 : # -1 means timeout
|
||||
is_correct = question_data['options'][answer_index]['is_correct']
|
||||
print(is_correct)
|
||||
except:
|
||||
user_input = str(answer_index).strip().lower()
|
||||
correct_value = str(question_data['options'][0].get('value', '')).strip().lower()
|
||||
print("Richtig",correct_value)
|
||||
if user_input == correct_value:
|
||||
is_correct=True
|
||||
answer_index=0
|
||||
print(is_correct)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Calculate score based on correctness and time
|
||||
score = 0
|
||||
if is_correct:
|
||||
base_score = 1000
|
||||
time_factor = time_remaining / 30000 # 30 seconds max
|
||||
time_factor = time_remaining / int(current_question.time_per_question)/int(1000)
|
||||
score = int(base_score * (0.5 + 0.5 * time_factor))
|
||||
|
||||
# Update or create answer in QuizAnswer table
|
||||
|
||||
Reference in New Issue
Block a user