MS-DOS // IA
Thelignebest
-
Thelignebest -
Thelignebest -
Bonjour, je suis en cours d'une IA en MS-DOS, un fou ? non !
J'ai fait un code mais il ne marche pas, voyez vous même :
Maintenant je vais te donner l'expression française (Utile pour comprendre) : {Eu j'ai pas tout faite mais c'est pas grave !}
Merci d'avance !
J'ai fait un code mais il ne marche pas, voyez vous même :
@echo off title Binbatflym -- une Intelligence Artificielle PAR YARFLAM if not exist pseudo.cfg goto save cls goto question :save cls @echo Mon nom est Binbatflym @echo Je suis un garcon issu/nee de chauves souris ! @echo Aussi je peux vous repondre sur different sujet : @echo -Programmation @echo -Jdr (Jeux de role) @echo -TV/Film @echo -Jeux video @echo -Sciences et nouvelles technologies @echo -Calcule mathematique simple @echo -Expression/Orthographe francaise @echo -Meteo/Info/Net @echo -Telechargement gratuit @echo Appuyez toujours sur entrer pour continuer ... pause>nul cls set /p gname=Votre nom de famille : set /p sbname=Votre prenom : set /p ns=Naissance (01/01/90) : set /p hbt=Lieu d'habitation (Pays) : cls @echo Bonjour %sbname% ! Nee le %ns%, et habitant en %hbt% @echo Votre ip est toutes les informations de l'ordinateur sont : pause>nul ipconfig /all pause>nul cls @echo Maintenant vous pouvez enregistrer vos donnees et @echo commencer a jouer ! Appuyez sur entrer ... pause>nul @echo %gname%;%sbname%;%ns%;%hbt%; > pseudo.cfg goto question :question cls FOR /F "tokens=1 delims=;" %%G IN (pseudo.cfg) DO set gname=%%G FOR /F "tokens=2 delims=;" %%G IN (pseudo.cfg) DO set sbname=%%G FOR /F "tokens=3 delims=;" %%G IN (pseudo.cfg) DO set ns=%%G FOR /F "tokens=4 delims=;" %%G IN (pseudo.cfg) DO set hbt=%%G @echo IA)=Bonjour %sbname% > tmp.txt @echo IA)=Nee le %ns% ! C'est bien en %hbt% >> tmp.txt cls @echo IA)=Bonjour %sbname% @echo IA)=Nee le %ns% ! C'est bien en %hbt% set /p msg=%sbname%: set msg=%msg: =;% set msg=%msg%; @echo %msg% > msg.txt cls set /a bcl1=0 set /a bcl2=1 set /a bcl3=0 set frps=IA)= goto lecture :lecture cls set /a bcl1=bcl1+1 set /a bcl2=bcl2+1 FOR /F "tokens=%bcl1% delims=;" %%G IN (msg.txt) DO set fd1=%%G FOR /F "tokens=%bcl2% delims=;" %%G IN (msg.txt) DO set fd2=%%G if %fd1%==%fd2% goto interpret goto lecture :interpret cls set /a bcl3=bcl3+1 if %bcl3% GTR %bcl1% goto fin FOR /F "tokens=%bcl3% delims=;" %%G IN (msg.txt) DO set dbn=%%G set /a nxbl=1 FOR /F "tokens=1 delims=;" %%G IN (db.cfg) DO set /a xbl=%%G goto load :load cls set /a nxbl=nxbl+1 @echo Chargement %nxbl% sur %xbl% ... Partie %bcl3% sur %bcl1% ... if %nxbl% GTR %xbl% goto erreur FOR /F "tokens=%nxbl% delims=;" %%G IN (db.cfg) DO set dbs=%%G if %dbs%==%dbn% set /a nxbl=nxbl+1 if %dbs%==%dbn% FOR /F "tokens=%nxbl% delims=;" %%G IN (db.cfg) DO set rps=%%G if %dbs%==%dbn% set frps=%frps%%rps% if %dbs%==%dbn% goto interpret goto load :fin cls @echo %frps% >> tmp.txt cls type tmp.txt set /p msg=%sbname%: set msg=%msg: =;% set msg=%msg%; @echo %msg% > msg.txt cls set /a bcl1=0 set /a bcl2=1 set /a bcl3=0 goto lecture :erreur cls @echo UNE ERREUR S'EST PRODUITE ou alors le mots n'est pas repertorier ! @echo Appuyez sur espace pour revenir a l'ancien message ! pause>nul cls type tmp.txt set /p msg=%sbname%: set msg=%msg: =;% set msg=%msg%; @echo %msg% > msg.txt cls set /a bcl1=0 set /a bcl2=1 set /a bcl3=0 goto lecture
Maintenant je vais te donner l'expression française (Utile pour comprendre) : {Eu j'ai pas tout faite mais c'est pas grave !}
=>Discution Récupere donnée UTILISATEUR (Nom, Prénom, Née le, Lieux) Efface l'ancienne discution Creation d'une nouvelle discution dans tmp.txt MSG=Demande du message de %nom% Transforme les espaces en ; => MSG Et rajoute dans MSG un ; à la fin Ecrit dans %msg% > msg.txt n1=0 n2=1 n3=0 iamsg=IA)= va a boucle1 =>Boucle1 n1=n1+1 n2=n2+1 Calcule le nombre de * données qu'il y a dans msg.txt séparé par des ";" => o1 Si d%n1% == d%n2% Va a Boucle2 Va a boucle1 =>Boucle2 n3=n3+1 Si %n3% > %n1% va a FIN Retrouve la donnée %n3% dans msg.txt => o2 n4=1 n5=valeur maximum va a Boucle3 =>Boucle3 n4=n4+1 Affichage progression n4 sur n5 ... Partie %n3% sur %o1% if %n4% > %n5% Va a erreur Retrouve la donnée %n4% dans db.cfg => o3 Si %o2%==%o3% Va a IN Va a Boucle3 :IN cls Set /a n4=n4+1 Retrouve la donnée %n4% dans db.cfg => o4 set iamsg=%iamsg%%o4% Va a Boucle2 :FIN cls @echo %iamsg% >> tmp.txt cls Affiche tmp.txt MSG=Demande du message de %nom% Transforme les espaces en ; => MSG Et rajoute dans MSG un ; à la fin Ecrit dans %msg% > msg.txt n1=0 n2=1 n3=0 iamsg=IA)= va a boucle1 :Erreur cls @echo UNE ERREUR S'EST PRODUITE ou alors le mots n'est pas repertorier ! @echo Appuyez sur espace pour revenir a l'ancien message ! pause>nul cls Affiche tmp.txt MSG=Demande du message de %nom% Transforme les espaces en ; => MSG Et rajoute dans MSG un ; à la fin Ecrit dans %msg% > msg.txt n1=0 n2=1 n3=0 iamsg=IA)= va a boucle1
Merci d'avance !
Configuration: Windows Vista Firefox 3.5.2
2 réponses
-
Bonjour,
Si tu veux une reponse, je pense que tu devrais poser une question precise, genre je voudrais faire ceci, j'ai code comme cela et cela ne marche pas -
Re bonjour, pour répondre à ta question, je n'arrive pas a voir l'erreur, c'est pourquoi j'aimerais peut être qu'on dise certaine chose sur mon code.
C'est vrai que j'ai remarqué une faute : Je ne doit pas supprimer les espaces et je doit utiliser 2 DB
L'une les question et l'autre les réponses au même étage:
DB 1 :4;Bonjour;Au revoir;Merci;
DB 2 :4;Bonjour;Au revoir et à bientôt;De rien !
Mais oublions ce petit détail ... j'aimerais savoir où je me suis trompé ...
D'habitude mon code est plus simple (J'utilise pas autant de variable) donc je m'y perd là ^^
Merci d'avance