from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random author = '@sunduzdivle' doc = """ a sentence-unscrambling task where subjects are asked to drop the irrelevant word in a six-word group and rearrange the remainder to form a five-word sentence. """ class Constants(BaseConstants): name_in_url = 'scramble' players_per_group = None num_rounds = 1 num_questions = 10 minutes_given = 6 answer_keys_covid = ["KORONAVIRÜS IŞITME KAYBINA YOL AÇABILIR", "ÖĞRENCILER ILOKULDA KODLAMA EĞITIMLERI ALIYOR", "VAKA SAYISI KIRK MILYONU AŞTI", "KÖY EVLERINE OLAN TALEP ARTTI", "HASTANEDE TEDAVI GÖRENLERIN SAYISI ARTIYOR", "SOKAKTA YAŞAYANLARA SICAK ÇORBA DAĞITIYOR", "AŞININ UZUN DÖNEM ETKILERI BILINMIYOR", "ARAŞTIRMACILAR OKYANUSTA YENI TÜRLER KEŞFETTI", "MUTASYON VIRUSUN BULAŞICILIK KATSAYISINI ARTTIRDI", "YAZILIM VERILERIN SALDIRILARDAN KORUNMASINI SAĞLIYOR"] answer_keys = ["ISTANBUL BARAJLARINDA SUSUZLUK ALARMI VERILDI ", "ÖĞRENCILER ILOKULDA KODLAMA EĞITIMLERI ALIYOR", "GEÇMEYEN AĞRILAR KANSER BELIRTISI OLABILIR", "KÖY EVLERINE OLAN TALEP ARTTI", "ÖMÜR BOYU İLAÇ KULLANMAK ZORUNDAYDI ", "SOKAKTA YAŞAYANLARA SICAK ÇORBA DAĞITIYOR", "GÜNEY SINIRINDA ÇATIŞMALARIN SÜRDÜĞÜ BILDIRILIYOR", "ARAŞTIRMACILAR OKYANUSTA YENI TÜRLER KEŞFETTI", "ZINCIRLEME TRAFIK KAZASI TRAFIĞI DURDURDU", "YAZILIM VERILERIN SALDIRILARDAN KORUNMASINI SAĞLIYOR"] answer_keys_covid0 = ["KORONAVIRUS ISITME KAYBINA YOL ACABILIR", "OGRENCILER ILOKULDA KODLAMA EGITIMLERI ALIYOR", "VAKA SAYISI KIRK MILYONU ASTI", "KOY EVLERINE OLAN TALEP ARTTI", "HASTANEDE TEDAVI GORENLERIN SAYISI ARTIYOR", "SOKAKTA YASAYANLARA SICAK CORBA DAGITIYOR", "ASININ UZUN DONEM ETKILERI BILINMIYOR", "ARASTIRMACILAR OKYANUSTA YENI TURLER KESFETTI", "MUTASYON VIRUSUN BULASICILIK KATSAYISINI ARTTIRDI", "YAZILIM VERILERIN SALDIRILARDAN KORUNMASINI SAGLIYOR"] answer_keys0 = ["ISTANBUL BARAJLARINDA SUSUZLUK ALARMI VERILDI ", "OGRENCILER ILOKULDA KODLAMA EGITIMLERI ALIYOR", "GECMEYEN AGRILAR KANSER BELIRTISI OLABILIR", "KOY EVLERINE OLAN TALEP ARTTI", "OMUR BOYU ILAÇ KULLANMAK ZORUNDAYDI ", "SOKAKTA YASAYANLARA SICAK CORBA DAGITIYOR", "GUNEY SINIRINDA CATISMALARIN SURDUGU BILDIRILIYOR", "ARASTIRMACILAR OKYANUSTA YENI TURLER KESFETTI", "ZINCIRLEME TRAFIK KAZASI TRAFIGI DURDURDU", "YAZILIM VERILERIN SALDIRILARDAN KORUNMASINI SAGLIYOR"] class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): comp_checkA = models.IntegerField(label='A. “kadın uyuyamıyordu son iki gündür” cevabı yanlıştır, çünkü cümle anlamlı olsa da kurallı değildir.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkB = models.IntegerField(label='B. “tuzağa: ilgisiz kelime, kadın son iki gündür uyuyamıyordu” cevabı yanlıştır çünkü ilgisiz kelime cevap formuna yazılmamalıdır.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkC = models.IntegerField(label='C. “tuzağa” cevabı doğrudur, çünkü soruda ilgisiz kelimenin bulunması istenmektedir.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkD = models.IntegerField(label='D. “kadın son iki gündür uyuyamıyordu” cevabı doğrudur, çünkü ilgisiz kelime dışarıda bırakılarak hem kurallı hem de anlamlı bir cümle oluşturulmuştur.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) comp_checkE = models.IntegerField(label='E. “son iki gündür uyuyamıyordu” cevabı yanlıştır, çünkü cümle 5 kelimeden oluşmalıdır, anlamlı dahi olsa daha az kelimeden oluşan cevaplar yanlıştır.', choices=[ [1, 'Doğru'], [0, 'Yanlış'], ], widget=widgets.RadioSelectHorizontal) # answer = models.IntegerField(choices=[0, 1,2,3,4,5,6,7,8], widget=widgets.RadioSelect, initial=0) q1 = models.StringField() q2 = models.StringField() q3 = models.StringField() q4 = models.StringField() q5 = models.StringField() q6 = models.StringField() q7 = models.StringField() q8 = models.StringField() q9 = models.StringField() q10 = models.StringField() q1_correct = models.IntegerField() q2_correct = models.IntegerField() q3_correct = models.IntegerField() q4_correct = models.IntegerField() q5_correct = models.IntegerField() q6_correct = models.IntegerField() q7_correct = models.IntegerField() q8_correct = models.IntegerField() q9_correct = models.IntegerField() q10_correct = models.IntegerField() scramble_total_correct = models.IntegerField( initial=0, doc="total number of correct answers" ) payoff_priming = models.IntegerField() def set_payoffs(self): self.q1=self.q1.upper() self.q2=self.q2.upper() self.q3=self.q3.upper() self.q4=self.q4.upper() self.q5=self.q5.upper() self.q6=self.q6.upper() self.q7=self.q7.upper() self.q8=self.q8.upper() self.q9=self.q9.upper() self.q10=self.q10.upper() if self.q1 == Constants.answer_keys_covid[0] or self.q1 == Constants.answer_keys[0] or self.q1 == Constants.answer_keys_covid0[0] or self.q1 == Constants.answer_keys0[0]: self.q1_correct = 1 else: self.q1_correct = 0 if self.q2 == Constants.answer_keys_covid[1] or self.q2 == Constants.answer_keys_covid0[1]: self.q2_correct = 1 else: self.q2_correct = 0 if self.q3 == Constants.answer_keys_covid[2] or self.q1 == Constants.answer_keys[2] or self.q3 == Constants.answer_keys_covid0[2] or self.q1 == Constants.answer_keys0[2]: self.q3_correct = 1 else: self.q3_correct = 0 if self.q4 == Constants.answer_keys_covid[3] or self.q4 == Constants.answer_keys_covid0[3]: self.q4_correct = 1 else: self.q4_correct = 0 if self.q5 == Constants.answer_keys_covid[4] or self.q1 == Constants.answer_keys[4] or self.q5 == Constants.answer_keys_covid0[4] or self.q1 == Constants.answer_keys0[4]: self.q5_correct = 1 else: self.q5_correct = 0 if self.q6 == Constants.answer_keys_covid[5] or self.q6 == Constants.answer_keys_covid0[5]: self.q6_correct = 1 else: self.q6_correct = 0 if self.q7 == Constants.answer_keys_covid[6] or self.q1 == Constants.answer_keys[6] or self.q7 == Constants.answer_keys_covid0[6] or self.q1 == Constants.answer_keys0[6]: self.q7_correct = 1 else: self.q7_correct = 0 if self.q8 == Constants.answer_keys_covid[7] or self.q8 == Constants.answer_keys_covid0[7]: self.q8_correct = 1 else: self.q8_correct = 0 if self.q9 == Constants.answer_keys_covid[8] or self.q1 == Constants.answer_keys[8] or self.q9 == Constants.answer_keys_covid0[8] or self.q1 == Constants.answer_keys0[8]: self.q9_correct = 1 else: self.q9_correct = 0 if self.q10 == Constants.answer_keys_covid[9] or self.q10 == Constants.answer_keys_covid0[9]: self.q10_correct = 1 else: self.q10_correct = 0 # else: # if self.q1 == Constants.answer_keys[0]: # self.q1_correct = 1 # else: # self.q1_correct = 0 # if self.q2 == Constants.answer_keys[1]: # self.q2_correct = 1 # else: # self.q2_correct = 0 # if self.q3 == Constants.answer_keys[2]: # self.q3_correct = 1 # else: # self.q3_correct = 0 # if self.q4 == Constants.answer_keys[3]: # self.q4_correct = 1 # else: # self.q4_correct = 0 # if self.q5 == Constants.answer_keys[4]: # self.q5_correct = 1 # else: # self.q5_correct = 0 # if self.q6 == Constants.answer_keys[5]: # self.q6_correct = 1 # else: # self.q6_correct = 0 # if self.q7 == Constants.answer_keys[6]: # self.q7_correct = 1 # else: # self.q7_correct = 0 # if self.q8 == Constants.answer_keys[7]: # self.q8_correct = 1 # else: # self.q8_correct = 0 # if self.q9 == Constants.answer_keys[8]: # self.q9_correct = 1 # else: # self.q9_correct = 0 # if self.q10 == Constants.answer_keys[9]: # self.q10_correct = 1 # else: # self.q10_correct = 0 self.scramble_total_correct = self.q1_correct + \ self.q2_correct + \ self.q3_correct + \ self.q4_correct + \ self.q5_correct + \ self.q6_correct + \ self.q7_correct + \ self.q8_correct + \ self.q9_correct + \ self.q10_correct self.payoff_priming = 3 * self.scramble_total_correct self.participant.vars['payoff_priming'] = self.payoff_priming print("Total number of correct: priming", self.payoff_priming) print("Payoff: priming", self.payoff_priming) print("Payoff: priming", self.participant.vars['payoff_priming']) # print("RAT: Total number of correct answers", self.rat_total_correct) #return self.scramble_total_correct # # / 1 = "Bilinç/Yer/Köprü" # / 2 = "Kutup/Anlam/Karakter" # / 3 = "Çukur/Devlet/Uyku" # / 4 = "Özel/Kilit/Cins" # / 5 = "Cin/Para/Tepe" # / 6 = "Ata/Gök/Şen" # / 7 = "Oturum/Ajan/Kamera" # / 8 = "Ağız/Porsiyon/Ada" # / 9 = "Kız/Tahta/Gül" # / 10 = "Akıl/Mafya/Aile" # # / 11 = "Cadde/Fikir/Kraliçe" # / 12 = "Yabancı/Küçük/Tatlı" # / 13 = "Destek/Tazminat/Evlat" # / 14 = "Atık/Ham/Saydam" # / 15 = "Türkçe/Kafa/Şehir" # / 16 = "Akar/Duru/Kaynar" # / 17 = "Santral/Enerji/Silah" # / 18 = "Sargı/Toz/Sofra" # / 19 = "Eş/Katma/Saygı" # / 20 = "Komşu/Dal/Hakem"