diff options
Diffstat (limited to 'std')
| -rw-r--r-- | std/stdio.c | 4 | ||||
| -rw-r--r-- | std/stdlib.c | 9 | ||||
| -rw-r--r-- | std/stdlib.sloth | 11 | ||||
| -rw-r--r-- | std/stdmath.c | 6 |
4 files changed, 19 insertions, 11 deletions
diff --git a/std/stdio.c b/std/stdio.c index 1a4d98c..a257f67 100644 --- a/std/stdio.c +++ b/std/stdio.c @@ -10,3 +10,7 @@ char* readln() { void print(char *str) { fputs(str, stdout); } + +void termpos(int x, int y) { + printf("\x1b[%d;%dH", x, y); +} diff --git a/std/stdlib.c b/std/stdlib.c index f405b6f..9510866 100644 --- a/std/stdlib.c +++ b/std/stdlib.c @@ -17,3 +17,12 @@ char charAt(char *str, int x) { int parse_int(char *str) { return (int) atoi(str); } + +int as_int(float x) { + return (int) x; +} + +char* istr(int x) { + char snum[100]; + return (char* )itoa(x, snum, 10); +} diff --git a/std/stdlib.sloth b/std/stdlib.sloth index e15d4dc..913fd0b 100644 --- a/std/stdlib.sloth +++ b/std/stdlib.sloth @@ -3,14 +3,9 @@ foreign fn print(str: String) Void; foreign fn slen(str: String) Int; # foreign fn charAt(str: String) Char; foreign fn parse_int(str: String) Int; - -fn termpos(x: Int, y: Int) Void { - print("\x1b["); - print(x); - print(";"); - print(y); - print("H"); -} +foreign fn termpos(x: Int, y: Int); +foreign fn as_int(x: Float) Int; +foreign fn istr(x: Int) Int; fn termclear() Void { print("\x1b[2J\x1b[H"); diff --git a/std/stdmath.c b/std/stdmath.c index f7f79c6..a650129 100644 --- a/std/stdmath.c +++ b/std/stdmath.c @@ -2,12 +2,12 @@ #include <stdlib.h> #include <time.h> -bool random_setup = false; +int random_setup = 0; int randGen(int min, int max) { - if random_setup == false { + if (random_setup == 0) { srandom(time(NULL)); - random_setup = true; + random_setup = 1; } return random() % (max - min + 1) + min; } |
