diff options
| author | Patrick | 2023-07-22 00:44:40 +0200 |
|---|---|---|
| committer | Patrick | 2023-07-22 00:44:40 +0200 |
| commit | d9f59bd177128b0d5f5bef34f86cbc1ec345af70 (patch) | |
| tree | 71198892cd432b9250970c73ce4b59056e997710 /main.c | |
| parent | c57229be0901307828ceb03bd1622cabb40a8365 (diff) | |
| download | iftint-d9f59bd177128b0d5f5bef34f86cbc1ec345af70.tar.gz iftint-d9f59bd177128b0d5f5bef34f86cbc1ec345af70.zip | |
list of words type beat
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 62 |
1 files changed, 49 insertions, 13 deletions
@@ -12,43 +12,79 @@ int main() { int level = 1;
- char words[10][128];
+ struct Word {
+ char str[128];
+ int len;
+ };
+ struct Word words[128];
int numWords = 1;
- words[0][0] = '(';
+ words[0].str[0] = '(';
+ words[0].len = 1;
while (true) {
+ move(0, 0);
+ clear();
+ refresh();
+
+ for (int i = 0; i < numWords; i++) {
+ printw("%.*s\n", words[i].len, words[i].str);
+ }
+
+
int key = getch();
/**/ if (key == ' ') {
if (index == 0) {
if (level > 0) {
// end list
- printw(")");
+ words[numWords].str[0] = ')';
+ words[numWords].len = 1;
+ numWords++;
level--;
}
}
else {
// add to list
- printw("%.*s ", index, word);
+ // for (int i = 0; i < index; i++) {
+ // words[numWords].str[i] = word[i];
+ // }
+ // words[numWords].len = index;
index = 0;
+ // numWords++;
}
}
else if (key == '\n') {
- if (index == 0) {
- // add to list
- printw("%.*s ", index, word);
- index = 0;
+ // if (index == 0) {
+ // // add to list
+ // for (int i = 0; i < index; i++) {
+ // words[numWords].str[i] = word[i];
+ // }
+ // words[numWords].len = index;
+ // index = 0;
+ // numWords++;
// add list
- printw("\n");
- for (int i = 0; i < level; i++)
- printw(" ");
- printw("(");
+ words[numWords].str[0] = '(';
+ words[numWords].len = 1;
+ numWords++;
level++;
+ // }
+ index = 0;
+ }
+ else if (key == 8) {
+ if (numWords > 0) {
+ if (words[numWords-1].len == 1 && words[numWords-1].str[0] == '(') level--;
+ if (words[numWords-1].len == 1 && words[numWords-1].str[0] == ')') level++;
+ numWords--;
}
}
else {
- word[index++] = (char)key;
+ if (index == 0) {
+ numWords++;
+ words[numWords-1].len = 0;
+ }
+ words[numWords-1].str[index++] = (char)key;
+ words[numWords-1].len++;
}
}
|
