// C Source File
// Created 27/05/2002; 19:58:16
#define USE_TI92PLUS // Compile for TI-92 Plus
#define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization
#define SAVE_SCREEN
#include <tigcclib.h> // Include All Header Files
char vo1[]={"a"}; char vo2[]={"o"};
char vo3[]={"i"};char vo4[]={"Ø"};
char vo5[]={"e"}; char vo6[]={"£"};//è
char vo7[]={"&"};//onye
char sv1[]={"î"}; char sv2[]={"â"};
char sv3[]={"ô"}; char sv4[]={"h"};
char co1[]={"n"}; char co2[]={"p"};
char co3[]={"t"}; char co4[]={"f"};
char co5[]={"m"}; char co6[]={"l"};
char co7[]={"k"}; char co8[]={"z"};
char co9[]={"$"}; //dj
char *voyelles[]={vo1,vo2,vo3,vo4,vo5,vo6,vo7};
char *semivoy[]={sv1,sv2,sv3,sv4};
char *consonne[]={co1,co2,co3,co4,co5,co6,co7,co8,co9};
char **sons[]={voyelles,semivoy,consonne};
char carac[3][9][4]={ //possibilité d'etre apres cons (1 oui 0 non), apres voyelle, apres semivoy, coeff recurrence
{{1,1,0,1},{1,1,0,1},{1,0,0,1},{1,1,1,3},{1,1,0,1},{1,0,0,2},{1,0,1,3}},
{{1,1,1,1},{1,1,1,1},{1,1,1,2},{1,1,1,3}},
{{0,1,1,1},{0,1,1,2},{0,1,1,1},{0,1,1,2},{0,1,1,1},{1,1,1,1},{0,1,1,1},{0,1,1,3},{0,1,1,3}}
};
char recurr[]={1,1,1,1,1,2,2,2,2,3,3,3,4};//13 elem
char vosvco[]={1,1,1,1,2,2,3,3,3,3};//ratio cons/voy/semivoy
char choix[]={7,4,9};//3 elem
char longueur[]={2,2,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,8,8,8,9};//39
char *banned[]={
(char *)"ke",(char *)"fat",(char *)"galo",(char *)"$ali",(char *)"d£î",
(char *)"pØk",(char *)"$ekota",(char *)"zô",(char *)"fan&",(char *)"mano",
(char *)"eze",(char *)"z£ka",(char *)"lini",(char *)"pazo",(char *)"mo",
(char *)"fi$a",(char *)"z£t",(char *)"kâp",(char *)"gankØ",(char *)"$ifo",
(char *)"lik",(char *)"niha",(char *)"pikaf",(char *)"lao",(char *)"he$e",
(char *)"hapo",(char *)"hØn",(char *)"hip",(char *)"hØl"}; //29 elem
// Main Function
void _main(void)
{
FILE *fp;
short a=2,lon,type=0,cons,prec=-1,erroR,b,c,d=1,key;
char nom[50];
char buff[100];
clrscr();
randomize();
fp=fopen("words","w");
printf("start!");
for(a=0;a<500;a++)
{
erroR=0;
memset(nom,'\0',50);
memset(buff,'\0',100);
lon=longueur[random(39)];
c=lon;
for(c=0;c<lon;c++)
{
d=1;
//type=vosvco[random(10)]-1;
if (type==0) type=random(2)+1;
else if (type==1) type=2;
else if (type==2) type=random(2);
cons=random(choix[type]);
sprintf(buff,"%s",(sons[type])[cons]);
if( type==1 && cons==3 ){b=random(7); strcat(buff,(sons[0])[b]);d=2;}
printf(buff);
strncat(nom,buff,d);
if(key==KEY_ESC)
{
printf("\n");
printf("lon=%d ",lon);
printf("c=%d ",c);
printf("type=%d ",type);
printf("cons=%d ",cons); ngetchx();
}
}
printf("\n");
prec=type;
for(b=0;b<29;b++) if(strncmp(nom,(banned[b]),lon)==0) erroR=1;
if(erroR==1) continue;
strcat(nom,"\n");
fputs(nom,fp);
}
fclose(fp);
}
d'apres mes souvenirs g fait une liste de mots interdits (pas envie de t'expliquer pkoi), bref tu peux a l'inverse dire que le mot ne sera valide que s'il est present ds cette liste
warau kado niha fuku kitaru.
#trifouet#!!!