From de215327c3d14ed35614559bac6e85ca6acce8e0 Mon Sep 17 00:00:00 2001 From: Alyn Date: Mon, 19 May 2014 22:36:34 +0200 Subject: [PATCH] =?UTF-8?q?modification=20des=20sources=20li=C3=A9s=20?= =?UTF-8?q?=C3=A0=20l'=C3=A9laboration=20du=20tutoriel.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WireChem.py | 47 +++++++++++---- dbdata | Bin 77824 -> 77824 bytes dbsrc | 162 ++++++++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 179 insertions(+), 30 deletions(-) diff --git a/WireChem.py b/WireChem.py index a50acc7..06ffcdd 100644 --- a/WireChem.py +++ b/WireChem.py @@ -912,17 +912,18 @@ def drawmenu(themenus): def drawtuto(): global tuto,rect,msg,menus - drawsquare(win.width-384,menus[0][0]['size'],win.width,menus[0][0]['size']+200,2,[40,40,40,200]) if type(rect) is list: if rect[4]==0: - drawsquare(rect[0]*win.width/1024,rect[1]*win.height/768,rect[2]*win.width/1024,rect[3]*win.height/768,2,[255,0,0,20]) + drawsquare(rect[0]*win.width/1024,rect[1]*win.height/768,rect[2]*win.width/1024,rect[3]*win.height/768,2,[255,0,0,75]) else: - drawarrow(rect[0]*win.width/1024,rect[1]*win.height/768,rect[2]*win.width/1024,rect[3]*win.height/768,[255,0,0]) + drawarrow(int(rect[0]/1024.0*win.width),int(rect[1]/768.0*win.height),int(rect[2]/1024.0*win.width),int(rect[3]/768.0*win.height),[255,0,0]) + drawsquare(win.width-384,menus[0][0]['size'],win.width,menus[0][0]['size']+200,2,[40,40,40,200]) txt_message.x=win.width-384 txt_message.y=menus[0][0]['size'] document=pyglet.text.decode_attributed("{font_name 'OpenDyslexicAlta'}{font_size 18}{color (255, 255, 255, 255)}"+msg.decode('utf-8')+"}".encode('utf8')) txt_message.document=document txt_message.draw() + def drawgrid(zoom): global temp,debug,over,allcout,play,element,seestat,art,users,menus,tuto @@ -1513,25 +1514,42 @@ def click_drag_transmuter(state): if cout-thecout-menus[0][18]['icon']['cout'] >= 0: world_art[state['realx']][state['realy']] = value infos() + if tuto=='' or tuto[1]>=len(tuto[0]): return + cmd,arg=tuto[0][tuto[1]] + if (cmd=='wait' and len(arg)==1) and (arg[0]=='transmuteur' or arg[0]=='create'): + tuto[1]+=1 + clock.schedule_once(execute,0.1) def click_nothing(state): state() def click_drag_nothing(state): - global tech + global tech,tuto,play if state['realx']>=1 and state['realy']>=1 and state['realx']=len(tuto[0]): return + cmd,arg=tuto[0][tuto[1]] + if cmd=='wait' and len(arg)==1 and arg[0]=='erase': + tuto[1]+=1 + clock.schedule_once(execute,0.1) def click_drag_copper(state): + global tuto,cout,thecout if state['realx']>=1 and state['realy']>=1 and state['realx']= 0: world_new[state['realx']][state['realy']] = art['copper']['value'] infos() + if tuto=='' or tuto[1]>=len(tuto[0]): return + cmd,arg=tuto[0][tuto[1]] + if (cmd=='wait' and len(arg)==1) and (arg[0]=='copper' or arg[0]=='create'): + tuto[1]+=1 + clock.schedule_once(execute,0.1) def click_drag_fiber(state): if state['realx']>=1 and state['realy']>=1 and state['realx']= 0: world_new[state['realx']][state['realy']]=art['fiber']['value'] infos() + if tuto=='' or tuto[1]>=len(tuto[0]): return + cmd,arg=tuto[0][tuto[1]] + if (cmd=='wait' and len(arg)==1) and (arg[0]=='fiber' or arg[0]=='create'): + tuto[1]+=1 + clock.schedule_once(execute,0.1) def click_tutoriel(state): print "tuto" @@ -1636,11 +1659,11 @@ def launch(x,y,dx,dy,i,j,buttons,modifiers,onmenu): cmd,arg=tuto[0][tuto[1]] if cmd=='wait': if arg[0].lower()==state['event']: - if buttons==int(arg[1]) or (len(arg)==1 and arg[1]=='' and int(arg[1])==0): + if len(arg)==1 or buttons==int(arg[1]) or arg[1]=='' or int(arg[1])==0: tuto[1]+=1 clock.schedule_once(execute,0.1) - elif arg[0].lower()=='menu': - if buttons==int(arg[1]) or (len(arg)==1 and arg[1]=='' and int(arg[1])==0): + elif arg[0].lower()=='menu' and state['event']=='click' and onmenu==True: + if i==int(arg[1]) and j==int(arg[2]): tuto[1]+=1 clock.schedule_once(execute,0.1) else: @@ -1723,7 +1746,7 @@ def execute(dummy): if cmd=='rect': rect=[int(arg[0]),int(arg[1]),int(arg[2]),int(arg[3]),0] elif cmd=='wait': - if len(arg)==1 and arg[0]!='' and int(arg[0])>0: + if len(arg)==1 and arg[0]!='' and len(arg[0])<3 and int(arg[0])>0: dt=int(arg[0]) else: dt=0 @@ -1732,13 +1755,15 @@ def execute(dummy): elif cmd=='del': rect=0 msg='' + elif cmd=='center': + resize() elif cmd=='tech': tech= int(arg[0]) elif cmd=='msg': msg= str(arg[0].replace(';',',')) elif cmd=='select': if menus[int(arg[0])][0].has_key('mouse'): - menus[int(arg[0])][0]['mouse'][int(arg[2])]=int(arg[1]) + menus[int(arg[0])][0]['mouse'][int(arg[2])-1]=int(arg[1]) elif cmd=='set': menus[int(arg[0])][int(arg[1])]['squarred']=True elif cmd=='unset': diff --git a/dbdata b/dbdata index 123d7a489d159dddb2f2c48fad3767d2b79d43bb..82e4d6f41dca71240d7496873c2da0047e0e760b 100644 GIT binary patch delta 13022 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 E3p&~&a{vGU delta 10485 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 +select 0,5,2 +select 0,6,3 +select 0,7,1 +msg Bienvenu(e) dans le tutoriel de la première paillasse de WireChem; nous allons vous expliquer pas à pas le fonctionnement du jeu. wait -msg L'interface du jeu est séparée en 3 grandes zones distinctes; chaque zone voit ses particularités évoluer au fur et à mesure de l'avancée du jeu. -wait 8 +msg L'interface du jeu est séparée en 3 grandes zones distinctes; chaque zone verra ses particularités évoluer au fur et à mesure de l'avancée du jeu. +wait 5 rect 2,766,1022,720 set 1,5 -msg La barre du haut est une barre d'informations sur l'état du jeu. Actuellement elle n'est remplie que de l'objectif de la paillasse que clignote en rouge. +msg La barre du haut est une barre d'informations sur l'état du jeu. Actuellement elle n'est remplie que de l'objectif de la paillasse qui clignote en rouge. wait 8 unset 1,5 rect 2,720,1022,50 msg La partie centrale est la zone de jeu à proprement parler où vous allez créer votre modèle puis vérifier par simulation qu'il remplisse les objectifs de la paillasse. wait 8 rect 2,2,1022,50 -msg La barre du bas comporte plusieurs icônes que l'on peut selectionner afin de réaliser différentes actions. Les 3 rectangles de couleurs représentent les 3 actions déclenchables par la souris. +msg La barre du bas comporte plusieurs icônes que l'on peut sélectionner afin de réaliser différentes actions. Les 3 rectangles de couleurs représentent les actions déclenchables par les trois boutons de la souris. wait 8 -arrow 635,145,300,48 +arrow 635,145,300,50 set 0,7 -msg Ainsi en cliquant avec le bouton gauche n'importe où sur l'écran vous allez déclencher l'action dézoomer. +msg En cliquant avec le bouton gauche n'importe où sur l'écran; vous allez déclencher l'action dézoomer représentée en rouge. wait click,1 unset 0,7 -arrow 635,145,200,48 +arrow 635,145,210,50 set 0,5 -msg Bravo !! L'action réalisée par le bouton droit est de couleur bleue et celle par la molette de couleur verte. L'action sélectionnée par le bouton de la molette nécessite un glisser déposer ce qui fait bouger le plateau de jeu. +msg Bravo !! L'action réalisée par le bouton droit est affichée en bleu et celle par le bouton de la molette en vert. Celle-ci nécessite un glisser déposer ce qui fait bouger le plateau de jeu. wait drag,2 unset 0,5 -arrow 635,145,380,48 -set 0,8 - - - - - +arrow 635,145,390,50 +set 0,9 +msg Ce bouton vous fera quitter la paillasse Intruction pour revenir au Labo 1 qui la contient. +wait 4 +unset 0,9 +arrow 635,145,480,50 +set 0,13 +msg Ce bouton d'options vous permettra de régler les options vidéo du jeu ainsi que le son. +wait 4 +unset 0,13 +arrow 635,145,530,50 +set 0,14 +msg Par ici la sortie !!! non; n'y touchez surtout pas tout de suite; le jeu ne fait que commencer ... +wait 4 +unset 0,14 del +center +msg Passons maintenant à l'objectif de la paillasse : obtenir un électron neutre sur le senseur. +wait +arrow 144,260,145,370 +msg Un électron neutre est représenté en gris et possède une tête plus foncée précédant une queue plus claire. +wait 3 +arrow 54,260,55,370 +wait 3 +msg Voici le senseur... Cet élément accepte les électrons comme l'indique le e. Il est neutre d'où sa couleur grise et valide l'objectif à atteindre pour cette paillase. +arrow 974,260,975,340 +wait 5 +msg Les électrons ne peuvent se déplacer que sur des pistes de cuivre qui sont de couleur orange. +arrow 499,260,500,370 +wait 5 +del +msg Voici le déplacement pas à pas de l'électron sur la piste de cuivre qui le sépare du senseur. +wait 3 +next +wait 1 +next +wait 1 +next +wait 2 +arrow 635,145,30,50 +set 0,1 +msg "Le bouton play permet de passer en mode simulation. Alors la limite de la zone de jeu devient rouge et l'interface s'anime. Passons à la pratique !! '''}, {'nom': 'Trajectoires', @@ -162,7 +199,54 @@ del [0, 1, 1, 1, 0, 0, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0]]}, + [0, 0, 0, 0, 0, 0, 0, 0, 0]], + + 'tuto':''' +msg Nous allons voir comment se déplace un électron; ici neutre; mais les règles de déplacements seront valables pour tous les types d'électrons. +wait +msg Les positionnements de la tête et de la queue de l'électron indiquent son sens; ici de la gauche vers la droite. L'électron se trouve face à deux pistes allant en diagonale par rapport à son emplacement initial. Que fera-t-il? +arrow 30,510,110,510 +wait 10 +msg Suivez maintenant pas à pas le trajet de l'électron... +wait 3 +del +next +msg Dans ce cas; l'électron a autant de chances d'emprunter l'une que l'autre des deux pistes. Le choix se fait de façon aléatoire. +wait 10 +next +wait 1 +next +wait 1 +next +msg L'électron se trouve à nouveau face à une intersection mais cette fois les pistes sont perpendiculaires par rapport à sa position actuelle. +wait 10 +next +wait 1 +next +msg Comme pour les diagonales; il a autant de chances d'aller vers la piste du haut que vers celle du bas. A noter qu'il se déplace préférentiellement en diagonale s'il le peut afin de toujours prendre le chemin le plus court. +wait 10 +next +wait 1 +next +wait 1 +next +msg Dans ce cas de figure; si la piste de cuivre sur laquelle il se trouve le permet; l'électron ira toujours tout droit en raison de son inertie. +wait 10 +next +wait 1 +next +wait 1 +next +wait 1 +next +wait 1 +next +wait 1 +next +msg Pour que l'électron atteigne le senseur et que l'objectif de cette paillasse soit rempli; à vous de continuer la simulation en cliquant sur le bouton play !! +wait menu,0,1 +msg Le mode play est parti !!! +'''}, {'nom': 'Pistes', 'description': "Utiliser des pistes afin de réaliser un circuit qui permet l'arrivée d'un électron neutre sur le senseur.", @@ -208,7 +292,47 @@ del [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 0, 0], - [0, 0, 0, 0, 0]]}, + [0, 0, 0, 0, 0]], + + 'tuto':''' +msg De nouveaux icônes sont apparus ! Voyons ensemble les possibilités de chacun ... +wait 5 +arrow 804,670,805,720 +msg Voici le détail des conditions de victoire pour atteindre l'objectif de chaque paillasse. Il faut ici un électron neutre. +wait 7 +arrow 34,670,35,720 +set 1,1 +msg Cet icône correspond au nombre de cycles. Un cycle représente pour chaque élément mobile du jeu; comme les électrons; 1 déplacement. Le nombre de cycles ne varie qu'en mode simulation. +wait 12 +unset 1,1 +arrow 635,145,75,50 +set 0,2 +msg Ce bouton représente la vitesse en mode simulation; plus vous cliquerez dessus plus la vitesse des éléments mobiles du jeu va augmenter. La jauge sur le côté augmentera jusqu'à revenir à la vitesse la plus lente. +wait 12 +unset 0,2 +del +set 0,22 +msg Cet icône ne trompe pas; vous avez ici votre réserve d'argent disponible pour cette paillasse. Attention à ne pas tout dépenser; sinon vous ne pourrez plus ajouter d'élément dans la zone de jeu. +wait 12 +unset 0,22 +msg A partir de cette paillasse; vous allez prendre en main la création de votre modèle de simulation !! +wait 7 +arrow 635,145,565,50 +set 0,15 +msg Vous aurez besoin de pistes de cuivre. Cliquez pour cela sur l'icône orange. +wait menu,0,15 +unset 0,15 +del +msg Créer ensuite votre piste soit en cliquant une fois pour déposer une case de piste; soit en cliquant en continu pour tracer un trajet. +wait create +msg Bravo !! Si vous souhaitez rectifier votre tracé; cliquez sur la case noire. +set 0,17 +wait menu,0,17 +unset 0,17 +msg Effacer vos erreurs...Vous ne pouvez retirer que les éléments que vous avez ajoutés à la zone de jeu. +wait erase +msg Vous progressez dans l'apprentissage des bases de Wirechem; vous êtes maintenant prêt à finir la paillasse alors à vous de jouer !! +'''}, {'nom': 'Positiveur', 'description': "Comprendre le fonctionnement de l'élément positiveur et générer 8 électrons positifs sur le senseur.", @@ -1118,7 +1242,7 @@ menus=[ {'motion':'motion_popup','click': 'click_menu', 'tech':-1, 'value':'Laboratoires', 'size':45,'icon': 'picture/levels.png','variable':False,'visible':True,'separe':False,'squarred':False,'active': True}, {'motion':'motion_popup','click': ['click_fullscreen','click_windowed'], 'tech':-1, 'value':['Plein ecran','Fenetre'], 'size':45,'icon': ['picture/screen.png','picture/windows.png'], 'choose': 0,'variable':False,'visible':'win.width>1450','separe':False,'squarred':False,'active': True}, {'motion':'motion_popup','click': ['click_sound','click_nosound'], 'tech':-1, 'value':['Activer son','Desactiver son'], 'size':45, 'icon': ['picture/sound.png','picture/nosound.png'], 'choose': 0,'variable':False,'visible':'win.width>1450','separe':False,'squarred':False,'active': True}, -{'motion':'motion_popup','click': ['click_tutoriel','click_popup','click_simple'], 'tech':-1, 'value':['Activer Tutoriel','Activer Aide','Sans Aide/Tutoriel',], 'size':45,'icon': ['picture/tuto.png','picture/popup.png','picture/nothing.png'], 'choose': 1,'variable':False,'visible':True,'separe':False,'squarred':False,'active': True}, +{'motion':'motion_popup','click': ['click_tutoriel','click_popup','click_simple'], 'tech':3, 'value':['Activer Tutoriel','Activer Aide','Sans Aide/Tutoriel',], 'size':45,'icon': ['picture/tuto.png','picture/popup.png','picture/nothing.png'], 'choose': 1,'variable':False,'visible':True,'separe':False,'squarred':False,'active': True}, {'motion':'motion_popup','click': 'click_settings', 'tech':-1, 'value':'Options...', 'size':45,'icon': 'picture/settings.png','variable':False,'visible':True,'separe':False,'squarred':False,'active': True}, {'motion':'motion_popup','click': 'click_exit', 'tech':-1, 'value':'Quitter', 'size':45,'icon': 'picture/exits.png','variable':False,'visible':True,'separe':True,'squarred':False,'active': True}, {'motion':'motion_popup','click': 'click_drag_copper', 'drag': 'click_drag_copper' ,'tech':0, 'value':'Cuivre', 'size':45,'icon': [240, 100, 38],'variable':False,'visible':True,'separe':False,'squarred':False,'active': True},