54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <time.h>
|
||
|
#define NICKLIM 36
|
||
|
|
||
|
int main(int argc, char argv[]) {
|
||
|
srandom(time(NULL));
|
||
|
char name[NICKLIM+1];
|
||
|
if (argc==1) {
|
||
|
fprintf(stderr,"Please enter your occupied nickname: \n");
|
||
|
char c;
|
||
|
int pos=0;
|
||
|
while ((c=getchar())!='\n' && pos<NICKLIM+1) {
|
||
|
name[pos++] = c;
|
||
|
}
|
||
|
name[pos] = '\0';
|
||
|
} else {
|
||
|
fprintf(stderr,"You have to send your username via standard input.\n");
|
||
|
return 2;
|
||
|
}
|
||
|
if (name[0]=='\0') {
|
||
|
fprintf(stderr,"No name given, generating one...\n");
|
||
|
int c, len;
|
||
|
for (c=0, len=15; c<len; c++) {
|
||
|
unsigned int uppercase=random()%2;
|
||
|
char start = 'a';
|
||
|
if (uppercase) {
|
||
|
start = 'A';
|
||
|
}
|
||
|
name[c] = start + (random()%26);
|
||
|
}
|
||
|
name[++c] = '\0';
|
||
|
}
|
||
|
for (int c=0; c<NICKLIM+1 && name[c]!='\0'; c++) {
|
||
|
if (random()%2) {
|
||
|
switch (name[c]) {
|
||
|
case 'o': case 'O': name[c] = '0'; break;
|
||
|
case 'i': case 'I':
|
||
|
case 'l': case 'L': name[c] = '1'; break;
|
||
|
case 'z': case 'Z': name[c] = '2'; break;
|
||
|
case 'e': case 'E': name[c] = '3'; break;
|
||
|
case 'a': case 'A': name[c] = '4'; break;
|
||
|
case 's': case 'S': name[c] = '5'; break;
|
||
|
case 'g': case 'G': name[c] = '6'; break;
|
||
|
case 't': case 'T': name[c] = '7'; break;
|
||
|
case 'b': case 'B': name[c] = '8'; break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
fprintf(stderr, "Randomly generated name: ");
|
||
|
printf("%s\n", name);
|
||
|
return 0;
|
||
|
}
|