~rabbits/orca-toy

265abb0965060f01f27412f3cd8b9bb362f4957e — neauoire 2 years ago 41b68dc
Added comments
3 files changed, 16 insertions(+), 10 deletions(-)

M README.md
M demo.orca
M toy.c
M README.md => README.md +0 -1
@@ 40,5 40,4 @@ To display the list of operators inside of Orca, use `CmdOrCtrl+G`.
## TODOs

- Lowercase on bang
- Comments
- Special operators

M demo.orca => demo.orca +8 -4
@@ 1,4 1,8 @@
.....
99XE.
.....
.....
..................
..................
..................
..#1A2#.1A2.......
..................
...1A2..1A2.......
..................
..................

M toy.c => toy.c +8 -5
@@ 44,7 44,7 @@ cchr(int v, int cap)
int
valid(Grid *g, int x, int y)
{
	return x < 0 || x >= g->w || y < 0 || y >= g->h;
	return x >= 0 || x <= g->w || y >= 0 || y < g->h;
}

char


@@ 100,6 100,7 @@ opa(Grid *g, int x, int y)
{
	char a = get(g, x - 1, y);
	char b = get(g, x + 1, y);
	printf("(%c:%c)\n", a, b);
	set(g, x, y + 1, cchr(cint(a) + cint(b), ciuc(b)));
	lock(g, x + 1, y);
	lock(g, x, y + 1);


@@ 385,14 386,16 @@ void (*library[36])() = {
int
parse(Grid *g)
{
	int i, x, y;
	int i, x, y, comment = 0;
	for(i = 0; i < g->l; ++i) {
		char c = g->data[i];
		x = i % g->w;
		y = i / g->w;
		if(g->lock[i])
			continue;
		if(!ciuc(c))
		if(x == 0)
			comment = 0;
		if(c == '#')
			comment = !comment;
		if(comment || g->lock[i] || !ciuc(c))
			continue;
		library[cint(c)](g, x, y);
	}