However, i've tried to move it to a function but can't make it work. have you any tips?
This works:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | char Line1[] = "HELLO\0"; const int endofLine1 = sizeof(Line1); char delayedText[endofLine1] = {}; int currentLetter = 0; int delay = 10; int currTime = delay while(...) { if(currentLetter <= endofLine1) { char nextChar = Line1[currentLetter]; if(currTime == delay) { strcat(delayedText, &nextChar); currentLetter++; currTime = 0; } else { currTime++; } } } |
calling DelayTxt() doesn't work, it only prints the first char to many times:
1 | DelayTxt(Line1, endofLine1, ¤tLetter, &currTime, delay, delayedText); |
DelayTxt() :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | void DelayTxt(char line[], int lastLetter, int *currentLetter, int *currTime, int delay, char delayedText[]) { if(*currentLetter <= lastLetter) { char nextChar = Line1[*currentLetter]; if(*currTime == delay) { strcat(delayedText, &nextChar); *currentLetter++; *currTime = 0; } else { *currTime++; } } } |