start working on text representation and constants
This commit is contained in:
24
src/block.c
Normal file
24
src/block.c
Normal file
@@ -0,0 +1,24 @@
|
||||
#include "block.h"
|
||||
|
||||
char* gravityBlockToCStr(GravityBlock block) {
|
||||
StringBuffer buff;
|
||||
initStringBuff(&buff);
|
||||
|
||||
// print block header
|
||||
sbAppend(&buff, "%s (", block->name);
|
||||
for (unsigned int i = 0; i < block->numParams; i++) {
|
||||
if (i < block->numParams - 1) {
|
||||
sbAppend(&buff, "%s, ", gravityTypeToCStr(block->paramTypes[i]));
|
||||
} else {
|
||||
sbAppend(&buff, "%s", gravityTypeToCStr(block->paramTypes[i]));
|
||||
}
|
||||
}
|
||||
sbAppend(&buff, "):\n");
|
||||
|
||||
for (unsigned int i = 0; i < block->instructions.count; i++) {
|
||||
GravityInstruction inst = *get(block->instructions, i);
|
||||
sbAppend(&buff, " %s\n", gravityInstructionToCStr(inst));
|
||||
}
|
||||
|
||||
return buff.data;
|
||||
}
|
||||
Reference in New Issue
Block a user