summaryrefslogtreecommitdiff
path: root/modeling/model_env.py
diff options
context:
space:
mode:
Diffstat (limited to 'modeling/model_env.py')
-rw-r--r--modeling/model_env.py117
1 files changed, 71 insertions, 46 deletions
diff --git a/modeling/model_env.py b/modeling/model_env.py
index 7dcad3e..1ad9495 100644
--- a/modeling/model_env.py
+++ b/modeling/model_env.py
@@ -1,54 +1,79 @@
#!/usr/bin/env python3
+import random
-def generate_environments():
- envs = []
+from modeling import frensch_procedures
+
+
+class Stimuli:
+ current_stimulus_id = 0
+
+ def __init__(self, condition, training_N=75, test_N=50):
+ self.condition = condition
+ self.training_N = training_N
+ self.test_N = test_N
+
+ def generate_stimuli(self):
+ self.training_stimuli = frensch_procedures.constrained_WaterSample()
+ self.test_stimuli = frensch_procedures.constrained_WaterSample()
+
+ def next_stimulus(self):
+ self.current_stimulus_id += 1
+ if self.current_stimulus_id < self.training_N:
+ return self.training_stimuli[self.current_stimulus_id]
+ else:
+ return self.test_stimuli[self.current_stimulus_id - self.training_N]
+
+
+ def update_current_stimulus(self, ):
+ pass
+
+ def generate_environments(self):
+ envs = []
- for i in range(3):
screen = {}
- screen["id"] = {"text": i, "position":(0,0)}
- generate_variables(screen)
- generate_procedures(screen)
+ self.generate_variables(screen)
+ self.generate_procedures(screen)
envs.append(screen)
- return envs
-
-
-def generate_procedures(screen):
- procs = ["procs1", "procs2", "procs3", "procs4", "procs5", "procs6"]
- screen["Procedure1"] = {"text": procs[0], "position": (0, 100)}
- screen["Procedure2"] = {"text": procs[1], "position": (0, 200)}
- screen["Procedure3"] = {"text": procs[2], "position": (0, 300)}
- screen["Procedure4"] = {"text": procs[3], "position": (0, 400)}
- screen["Procedure5"] = {"text": procs[4], "position": (0, 500)}
-
- screen["ProcedureOverall"] = {"text": "proc_overall", "position": (0, 600)}
-
- screen["Answers"] = {"text": "Answers", "position": (100, 100)}
- screen["Answer1"] = {"text": 1, "position": (100, 200)}
- screen["Answer2"] = {"text": 2, "position": (100, 300)}
- screen["Answer3"] = {"text": 3, "position": (100, 400)}
- screen["Answer4"] = {"text": 4, "position": (100, 500)}
- screen["Answer5"] = {"text": 5, "position": (100, 600)}
-
- screen["AnswerOverall"] = {"text": "proc_overall", "position": (100, 700)}
-
-def generate_variables(screen):
- # Variables
- screen["Algen"] = {"text": "Algen", "position": (400, 100)}
- screen["AlgenVar"] = {"text": "3", "position": (400, 200)}
- screen["Mineralien"] = {"text": "Mineralien", "position": (500, 100)}
- screen["MineralienVar"] = {"text": "9", "position": (500, 200)}
-
- screen["Gifte"] = {"text": "Gifte", "position": (600, 100)}
- screen["GifteVar1"] = {"text": "3", "position": (600, 200)}
- screen["GifteVar2"] = {"text": "1", "position": (600, 300)}
- screen["GifteVar3"] = {"text": "8", "position": (600, 400)}
- screen["GifteVar4"] = {"text": "6", "position": (600, 500)}
-
- screen["Sandstein"] = {"text": "Sandstein", "position": (700, 100)}
- screen["SandsteinVar1"] = {"text": "3", "position": (700, 200)}
- screen["SandsteinVar2"] = {"text": "4", "position": (700, 300)}
- screen["SandsteinVar3"] = {"text": "5", "position": (700, 400)}
- screen["SandsteinVar4"] = {"text": "6", "position": (700, 500)}
+ return envs
+
+ def generate_procedures(self, screen):
+ procs = ["procs1", "procs2", "procs3", "procs4", "procs5", "procs6"]
+ screen["Procedure1"] = {"text": procs[0], "position": (0, 100)}
+ screen["Procedure2"] = {"text": procs[1], "position": (0, 200)}
+ screen["Procedure3"] = {"text": procs[2], "position": (0, 300)}
+ screen["Procedure4"] = {"text": procs[3], "position": (0, 400)}
+ screen["Procedure5"] = {"text": procs[4], "position": (0, 500)}
+
+ screen["ProcedureOverall"] = {"text": "proc_overall", "position": (0, 600)}
+
+ screen["Answers"] = {"text": "Answers", "position": (100, 100)}
+ screen["Answer1"] = {"text": 1, "position": (100, 200)}
+ screen["Answer2"] = {"text": 2, "position": (100, 300)}
+ screen["Answer3"] = {"text": 3, "position": (100, 400)}
+ screen["Answer4"] = {"text": 4, "position": (100, 500)}
+ screen["Answer5"] = {"text": 5, "position": (100, 600)}
+
+ screen["AnswerOverall"] = {"text": "proc_overall", "position": (100, 700)}
+
+ def generate_variables(self, screen):
+ # Variables
+ screen["Algen"] = {"text": "Algen", "position": (400, 100)}
+ screen["AlgenVar"] = {"text": "3", "position": (400, 200)}
+ screen["Mineralien"] = {"text": "Mineralien", "position": (500, 100)}
+ screen["MineralienVar"] = {"text": "9", "position": (500, 200)}
+
+ screen["Gifte"] = {"text": "Gifte", "position": (600, 100)}
+ screen["GifteVar1"] = {"text": "3", "position": (600, 200)}
+ screen["GifteVar2"] = {"text": "1", "position": (600, 300)}
+ screen["GifteVar3"] = {"text": "8", "position": (600, 400)}
+ screen["GifteVar4"] = {"text": "6", "position": (600, 500)}
+
+ screen["Sandstein"] = {"text": "Sandstein", "position": (700, 100)}
+ screen["SandsteinVar1"] = {"text": "3", "position": (700, 200)}
+ screen["SandsteinVar2"] = {"text": "4", "position": (700, 300)}
+ screen["SandsteinVar3"] = {"text": "5", "position": (700, 400)}
+ screen["SandsteinVar4"] = {"text": "6", "position": (700, 500)}
+