class Cyclop(Enemy): name='un ciclopo' hp=20 strength=8 move_max=2 weapon=Mace battle_text = 'Il ciclopo attacca.' vulnerable_spirit = False questions = \ [ phrase(['volare','decollare','atterrare','rotolare'],person=['3sm','3sf','3p']), phrase(['nuotare','tuffarsi0','galleggiare','affondare','navigare','cadere'], person=['3sm','3sf','3p'], post=[prep_phrase(['in'],['il lago','il mare','il fiume'])]*2+\ ['qui', 'qua','lì', 'là']), phrase(['salire','scendere','avvicinarsi0','passare'], person=['3sm','3sf','3p'], dobj=['la montagna','la collina']), phrase(['cavalcare','guidare','viaggare','strisciare', 'camminare','correre'], person=['3sm','3sf','3p'], post=[prep_phrase(['in','in','da'], ['la valle', 'la pianura','la foresta', 'la terra','il deserto','la prateria', 'la campagna', 'la piazza'])]), phrase(['attraversare','passare','esplorare'], person=['3sm','3sf','3p'], dobj=['la valle','la prateria','la foresta','la piazza']) ] greeting_text = 'Un grande ciclopo si avvincina!' image='./img/cyclops.gif' sound='./sounds/monster1.wav'
class Centipede(Enemy): name='un centopiedo gigante' hp=18 strength=8 move_max=2 battle_text = 'Il centopiedo attacca.' vulnerable_spirit = False questions = [ phrase(['vedersi2','amarsi2'],person=['1p','2p','3p','3pp']), phrase(['vestirsi0','nascondersi0'],person=['1s','2s','3sm','3sf','3sp']*3+\ ['1p','2p','3p','3pp']) ] greeting_text = 'Un centopiedo gigante striscia carponi verso te!' image = "./img/centipede.gif" sound = './sounds/dungbeetle.wav'
class ThornBushes(KeepingTrap): name='Cespugli' intro_text = "Questi cespugli hanno lunghi spini." strength=2 effect_text = "Gli spini ti fa male." questions = phrase(obj_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf']) image="./img/thorn.gif"
class RatTrap(Trap): description='Un passagio con una trappola' name='trappola' strength=5 things=[Cheese] questions = [ phrase(rat_verbs, person=['1s','1s','2s','2s','3sm','3sf','3sp', '1p','1p','2p','2p','3pm','3pf','3pp'], tempus=rat_tempus) ]
class VampireTalisman(MagicThing): name='un talismano con una pietra nera' off=3 deff=2 opponent_class=Vampire understand=4 activated_description = 'Questo talismano ha potenza verso vampiri.' questions = phrase(irreg_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf']) image="./img/necklace.gif"
class Minotaur2(Minotaur): questions = \ [ phrase(['andare','aspettare','fermare','cominciare','finire','riposarsi0','dormire','svegliarsi0', 'addormentarsi0'], person = ['3sm','3sf','3p'], adverb1=['sempre','non mai','qualche volta', 'spesso', 'raramente','ancora(0)', 'ancora(1)','non ancora','già', 'presto(0)', 'fra poco','appena','di solito', 'finalmente']), phrase(['andare','aspettare','fermare','cominciare','finire','riposarsi0','dormire','svegliarsi0', 'addormentarsi0'], person = ['3sm','3sf','3p'], adverb2=['una volta','due volte','ancora(1)', 'non piu', 'ora', 'tardi', 'per ultimo', 'per sempre', 'stanotte', 'stasera', 'stamattina', 'allo stesso tempo', 'adesso', 'presto(1)', 'prima', 'dopo', 'finalmente','oggi']) ]
class Fox(ReluctantAgentWithGift,WaryReluctantAgent): name='un volpe' move_max=3 things=[Apple] greeting_text = 'Vedi un volpe. Piaci il volpe?' success_text = 'Il volpe ti da una mela, e va via.' failure_text = 'Il volpe in silenza parte nella foresta.' questions = phrase(agent_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf']) image="./img/fox.gif"
class Owl(ReluctantAgentWithGift,WaryReluctantAgent): name='un gufo' move_max=3 things=[VampireTalisman] greeting_text = 'Vedi un gufo. Piaci il gufo?' success_text = 'Il gufo ti da un talismano, e vola via.' failure_text = 'Il gufo in silenza vola nella foresta.' questions = phrase(agent_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf']) image="./img/owl.gif"
class Chrystal(MagicThing): name='un cristallo' off=3 deff=2 opponent_class=(Spectre,GhostHound) understand=4 activated_description = 'Questo cristallo ha potenza verso spettri (anche cani)' questions = phrase(irreg_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf']) image="./img/crystal.gif"
class VampireDemon(Vampire): name='un vampiro demonico' hp=24 strength=8 sp=24 craft=10 move_max=3 image="./img/vampiredemon.gif" greeting_text = 'Un vampiro demonico attacca!' questions = phrase(irreg_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class KnifeOfBidaro(MagicWeapon): name='il coltello di Bidaro' description='Un bello coltello' strength=3 off=1 deff=2 opponent_class=Gorgoco special_strength=8 understand=8 activated_description = "Il coltello ha un maledizione verso Gorgoco." questions = phrase(irreg_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class Spectre(Enemy): name='un spettro' sp=14 craft=6 move_max=2 magic_text= 'Il spettro desidera succhiare la tua anima.' vulnerable_body = False greeting_text = 'Un spettro con occhie rosse si avvincia!' image="./img/spectre.gif" sound = './sounds/ghost2.wav' questions = phrase(move_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class Faun3(Faun): questions = \ [ noun_phrase(['il giorno','la notte','la sera','la mattina',"l'ora", 'il minuto','la settimana','il mese','la stagione', "l'estate(f)", "l'autumno", "l'inverno",'la primavera', "l'anno",'il secolo','il tempo','la data'], adj1=['primo','secondo','ultimo','passato',False,False, 'presente','futuro','precedente','prossimo'], kind=['sd'])]+\ 2*[phrase(['partire','arrivare','morire','nascere'],tempus=['present'], person = ['3sm','3sf','3p'], post=[prep_phrase(['in'],['la primavera', "l'inverno", "l'autumno","l'estate(f)"],kind=['s']), prep_phrase(['a(1)'],['il mezzogiorno','la mezzanotte'],kind=['s']), prep_phrase(['tra(2)'], ['il mese','il giorno',"l'ora",'la settimana'], count=[1,2,3],kind=['pi'])])]+\ [phrase(['finire','fare'],tempus=['perfect'], person = ['3sm','3sf','3p'], post=2*[prep_phrase(['da(5)','per','in'],['il mese','il giorno',"l'ora",'la settimana'], count=[1,2,3],kind=['pi'])] +\ [noun_phrase(['il mese','il giorno',"l'ora",'la settimana'],count=[1,2,3],kind=['pi'], post=['fa'])] ) ]
class GhostHound(Enemy): name='un cane spettrale' sp=15 craft=4 move_max=2 forbidden_places=House magic_text= 'Il cane spettrale propaga pazzia.' vulnerable_body = False greeting_text = 'Un cane spettro con una bocca rossa si avvincia!' image="./img/ghostdog.gif" sound = './sounds/doggrowl.wav' questions = phrase(obj_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class Wolf(Enemy): name='un lupo' hp=10 strength=6 move_max=2 forbidden_places=House battle_text = 'Il lupo attacca.' vulnerable_spirit = False greeting_text = 'Un lupo ti sale!' image="./img/wolf.gif" sound = './sounds/wolf.wav' questions = phrase(obj_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class Gorgoco(Enemy): name='Gorgoco' sp=40 craft=12 hp=10 move_max=2 battle_text= 'Gorogoco chiama il dio del morte.' vulnerable_body = False greeting_text = 'Hai trovato Gorocogo, il mago cattivo!\nGorgoco dice: Anche tu diventicerai il mio schiavo. Ma prima, muori!\n' image="./img/wizard.gif" sound = './sounds/evillaugh.wav' questions = phrase(all_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class Spider(Enemy): name='un ragno' hp=6 strength=4 move_max=2 battle_text = 'Il ragno attacca.' vulnerable_spirit = False questions = [ phrase(['vincere','andare','venire','partire'], subject=[subj_pronoun_phrase(['1s','2s','3sm','3sf','3smn','3sfn','3sp', '1p','2p','3p','3pmn','3pfn','3pp'])]) ] greeting_text = 'Un ragno corre verso te!' image="./img/spider.gif" sound = './sounds/insect.wav'
class Bat(Enemy): name='un pipistrello grosso' hp=8 strength=4 move_max=2 forbidden_places=House battle_text = 'Il pipistrello si lancia in picchiata.' vulnerable_spirit = False greeting_text = 'Un pipistrello nero vola verso te!' image="./img/bat.gif" sound = './sounds/bats.wav' questions = phrase(all_verbs,tempus=['infinitive'], person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class BigRat(Rat): name='un ratto grande' hp=12 strength=6 move_max=2 vulnerable_spirit = False questions = [ phrase(rat_verbs, person=['1s','1s','2s','2s','3sm','3sf','3sp', '1p','1p','2p','2p','3pm','3pf','3pp'], tempus=rat_tempus) ] multiple_choice=False battle_text = 'Il grande ratto attacca con i sui denti, grandi con due stilletti.' greeting_text= 'Un ratto raramente grande attacca!'
class Spirit(Enemy): name='una fantasma malevolenza' sp=12 craft=6 move_max=2 magic_text= 'la fantasma trova a ti paralizzare.' vulnerable_body = False questions = [ phrase(['prendere','aiutare','vedere','portare','cercare','trovare','trarre','muovere'], person=['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], dobj = [ dir_pronoun_phrase(['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], ['solo','anche']), dir_pronoun_phrase(['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], person2=['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp']) ]), phrase(['andare','fuggire','partire'], person=['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], iobj=[indir_pronoun_phrase(['da','con'],['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'])]) ] greeting_text = 'Una fantasma malevolenza si avvincia!' sound = './sounds/ghost2.wav' image = "./img/blackspirit.gif"
class Rat(Enemy): name='un ratto' hp=8 strength=4 sp=8 craft=1 move_max=2 vulnerable_spirit = True battle_text = 'Il ratto attacca con i sui affiliati denti.' greeting_text = 'Un brutto ratto molto arrabbiato attacca!' image='./img/rat.gif' sound = './sounds/mouse.wav' questions = [ phrase(rat_verbs, person=[['1s','2s','3sm','1p','2p','3pm'], ['1s','2s','3sf','1p','2p','3pf'], ['1s','2s','3sp','1p','2p','3pp']], tempus=rat_tempus), phrase(rat_verbs, person=['1s','1s','2s','2s','3sm', '1p','1p','2p','2p','3pm'], tempus=[rat_tempus]), ] multiple_choice=6
class OgreScout(Enemy): name='un orco' hp=12 strength=4 move_max=2 battle_text = 'Il orco attacca.' vulnerable_spirit = False weapon=Lance questions = [ phrase(['prendere','aiutare','vedere','portare','cercare','trovare','trarre','muovere'], person=['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], dobj = [ dir_pronoun_phrase(['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp', '4s', '4p']) ]) ] greeting_text = 'Un orco con una lancia ti vede è attacca instantemente!' image = "./img/ogre1.gif" sound = './sounds/warcry.wav'
class BigSpider(Enemy): name='un ragno gigante' hp=10 strength=4 move_max=2 battle_text = 'Il ragno gigante attacca.' vulnerable_spirit = False questions = [ phrase(['dire','parlare','rispondere','chiedere'], person=['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], iobj=[indir_pronoun_phrase(['a'],['1s','2s','3sm','3sf','3smn','3sfn','3sp', '1p','2p','3pmn','3pfn','3pp'])]) ] greeting_text = 'Un ragno gigante corre verso te!' image="./img/spider.gif" sound = './sounds/insect.wav'
class Ogre1(Enemy): name='un orco grande con una mazza' hp=15 strength=5 move_max=2 weapon=Mace battle_text = "L'orco attacca." vulnerable_spirit = False questions = [ phrase(['prendere','dare'], person=['1s','2s','3sm','3sf','3sp', '1p','2p','3p','3pp'], dobj=[ dir_pronoun_phrase(['1s','2s','3sm','3sf','3sp', '1p','2p','3pm','3pf','3pp','4s', '4p']) ], iobj=[ indir_pronoun_phrase(['a'],['1s','2s','3sm','3sf','3sp', '1p','2p','3pm','3pf','3pp']) ] ) ] greeting_text = 'Un orco grande con una mazza ti vede è attacca instantemente!' image = "./img/ogre2.gif" sound = './sounds/grunt.wav'
class Vampire(Enemy): name= 'un vampiro' hp=16 strength=8 sp=16 craft=5 move_max=3 forbidden_places=House battle_text= [ 'Il vampiro sibila!', 'Il vampiro é putrido!', 'Il vampiro puzza come nella tomba!', 'Questro mostro della notte desidere sangue.'] greeting_text = 'Un vampiro attacca!' image="./img/vampire.gif" sound = './sounds/snakehiss.wav' questions = phrase(agent_verbs,tempus=vampire_tempus, person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
class Minotaur(Enemy): name='un minotoro' hp=20 strength=6 move_max=2 weapon=Mace battle_text = 'Il minotoro attacca.' vulnerable_spirit = False questions = \ [ phrase(['andare'],adverb2=['fuori','dentro','a sinistra','a destra','su', 'giù','soprosotta', 'in mezzo','dietro','vicino','lontano','avanti','indietro','da qualche parte','dappertutto','in ogni luogo', 'da qualsiasi parte', 'altrove', 'dovunque', 'da nessuna parte', 'qui', 'qua','lì', 'là','in macchina', 'in auto', 'in treno', 'in autobus', 'in barca', 'in bicicletta', 'in barca', 'a piedi', 'a cavallo','rapido', 'svelto', 'veloce', 'lento'], person=['3sm'])] greeting_text = 'Un minotoro si avvicina!' image='./img/minotaur.gif' sound='./sounds/bull.wav'
from conjunctions import * import space_time from gameinterface import * def test_query(q, times=1): for i in range(times): qc = q.choice() print(qc.it(), qc.eng()) # Relative pronouns q1 = noun_phrase(["l'uomo/man", "la donna/woman"], post=phrase(subject=rel_pronoun_phrase(eng_form="who", person=["3sm"]), verb=["venire", "partire"])) test_query(q1, 0) q2 = noun_phrase(["l'uomo/man", "la donna/woman"], post=phrase(pre=rel_pronoun_phrase(eng_form="whom", person=["3sm"]), person=['1s', '2s', '1p', '2p'], verb=["vedere", "incontrare"])) test_query(q2, 0) q3 = noun_phrase(["l'uomo/man", "la donna/woman"], post=phrase(pre=rel_pronoun_phrase( person=False,
class Bat3(Bat): questions = phrase(move_verbs1,tempus=['infinitive'], person=['1s','1s','2s','2s','3sm','3sf','1p','1p','2p','2p','3pm','3pf'])
from phrase import * wordlist = read_words("C:/github/buad400_test_repo/util-data-files/words.txt") phrase("3433825",wordlist,3)
"fiero":"proud", "timido":"shy", "turbato":"upset" } adj_dict.update(mind_adjs) mind_nouns_keys = list(mind_nouns.keys()) extra_nouns_keys = list(extra_nouns.keys()) mind_adjs_keys = list(mind_adjs.keys()) q1 = phrase([ 'amare', 'odiare', 'conoscere', 'perdonare', 'ingannare', 'incoraggiare', 'scoraggiare', 'imbrogliare' ], neg=[True, False, False, False], person=['1s', '2s', '3sm', '3sf', '1p', '2p', '3p', '3p'], dobj=[ dir_pronoun_phrase( ['1s', '2s', '3sm', '3sf', '3sp', '1p', '2p', '3p', '3p']) ]) q2 = phrase(['fidarsi0', 'dare_la colpa', 'interessarsi0'], neg=[True, False, False, False], person=['1s', '2s', '3sm', '3sf', '1p', '2p', '3p', '3p'], iobj=[ indir_pronoun_phrase( 'di', ['1s', '2s', '3sm', '3sf', '1p', '2p', '3p', '3p'], True) ]) q3 = noun_phrase(mind_nouns_keys)