-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAPI.pde
More file actions
142 lines (137 loc) · 3.21 KB
/
API.pde
File metadata and controls
142 lines (137 loc) · 3.21 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
//DOT X Y MODE
void DOT(int X, int Y, boolean MODE) {
display[Y][X]=MODE;
}
//RECT X Y WIDTH HEIGHT
void RECT(int X, int Y, int WIDTH, int HEIGHT) {
for (int y = Y; y<Y+HEIGHT; y++) {
for (int x = X; x<X+WIDTH; x++) {
display[y][x]=true;
}
}
}
//CLEAR
void CLEAR() {
for (int y = 0; y < 32; y++) {
for (int x = 0; x < 32; x++) {
display[y][x]=false;
}
}
}
//LINE X Y X2 Y2
void LINE(float X, float Y, float X2, float Y2) {
float x, y;
x=X;
y=Y;
display[int(y)][int(x)]=true;
while ((int)x!=(int)X2 && (int)y!=(int)Y2) {
x+=((X2-X)/dist(X, Y, X2, Y2));
y+=((Y2-Y)/dist(X, Y, X2, Y2));
display[round(y)][round(x)]=true;
}
x+=((X2-X)/dist(X, Y, X2, Y2));
y+=((Y2-Y)/dist(X, Y, X2, Y2));
display[round(y)][round(x)]=true;
}
//VAR NAME MEANING
void VAR(String NAME, String MEANING) {
vars.put(NAME, vars.getOrDefault(MEANING, MEANING));
}
//ADD
void ADD(String A, String B, String C) {
vars.put(A, str(int(vars.getOrDefault(B, B))+int(vars.getOrDefault(C, C))));
}
//SUB
void SUB(String A, String B, String C) {
vars.put(A, str(int(vars.getOrDefault(B, B))-int(vars.getOrDefault(C, C))));
}
//MUL
void MUL(String A, String B, String C) {
vars.put(A, str(int(vars.getOrDefault(B, B))*int(vars.getOrDefault(C, C))));
}
//DIV
void DIV(String A, String B, String C) {
vars.put(A, str(int(vars.getOrDefault(B, B))/int(vars.getOrDefault(C, C))));
}
//AND
void AND(String A, String B, String C) {
vars.put(A, str(int(boolean(int(vars.getOrDefault(B, B))) && boolean(int(vars.getOrDefault(C, C))))));
}
//OR
void OR(String A, String B, String C) {
vars.put(A, str(int(boolean(int(vars.getOrDefault(B, B))) || boolean(int(vars.getOrDefault(C, C))))));
}
//NOT
void NOT(String A, String B) {
vars.put(A, str(int(!boolean(int(vars.getOrDefault(B, B))))));
}
//DELAY
void DELAY(int MILLIS) {
if (!del)
now = millis();
if (millis()-now<MILLIS)
{
numCom--;
del=true;
} else
del=false;
}
//SQR
void SQR(String A, String B) {
vars.put(A, str(int(vars.getOrDefault(B, B))*int(vars.getOrDefault(B, B))));
}
//SQRT
void SQRT(String A, String B) {
vars.put(A, str(sqrt(int(vars.getOrDefault(B, B)))));
}
//POW
void POW(String A, String B, String C) {
vars.put(A, str(pow(int(vars.getOrDefault(B, B)), int(vars.getOrDefault(C, C)))));
}
//ABS
void ABS(String A, String B) {
vars.put(A, str(abs(int(vars.getOrDefault(B, B)))));
}
//CMP
void CMP(String A, String B) {
if(!vars.getOrDefault(A, A).equals(vars.getOrDefault(B, B))){
numCom++;
}
}
void CMPB(String A, String B) {
if(!(int(vars.getOrDefault(A, A))>int(vars.getOrDefault(B, B)))){
numCom++;
}
}
void CMPS(String A, String B) {
if(!(int(vars.getOrDefault(A, A))<int(vars.getOrDefault(B, B)))){
numCom++;
}
}
void CMPN(String A, String B) {
if(!(int(vars.getOrDefault(A, A))!=int(vars.getOrDefault(B, B)))){
numCom++;
}
}
//GOTO
void GOTO(String M){
for(int i = 0; i < Program.length; i++){
if(Program[i].equals(M))
numCom=i-1;
}
}
//RND
void RND(String A){
vars.put(A, str(int(random(0,32))));
}
//PRESS
void PRESS(String KEY, String M){
char realkey = KEY.charAt(0);
if(keyPressed && key==realkey){
GOTO(M);
}
}
void SHOW(){
drawDisplay();
FRAME = get(0,0,width,height);
}