anScript

GUI example - calculator

Example (with image) can be found here.

graphicWindowCreate(400.i,500.i,calculator.s)
graphicWindowSetImage(0.i,0.i,<path>bg.png.s)
variableCreate(x,0.i)
variableCreate(y,0.i)
variableCreate(mouse,0.i)
variableCreate(expression,var.s)
variableCreate(result,var.f)
logicLoop(1.i)
    graphicWindowIsMouseButtonDown(mouse)
    logicIf(mouse)
        graphicWindowGetMousePosition(x,y)
        x.basicDivision(x,100.i)
        y.basicDivision(y,100.i)
        consolePrintLine(x,<t>.s,y)
        consolePrintLine(expression)
        logicSwitch(x)
            logicCase(0.i){
                logicSwitch(y)
                    logicCase(0.i)
                        expression.basicAddition(expression,1.s)
                    }
                    logicCase(1.i)
                        expression.basicAddition(expression,4.s)
                    }
                    logicCase(2.i)
                        expression.basicAddition(expression,7.s)
                    }
                    logicCase(3.i)
                        expression.basicAddition(expression,(.s)
                    }
                }
            }
            logicCase(1.i)
                logicSwitch(y)
                    logicCase(0.i)
                        expression.basicAddition(expression,2.s)
                    }
                    logicCase(1.i)
                        expression.basicAddition(expression,5.s)
                    }
                    logicCase(2.i)
                        expression.basicAddition(expression,8.s)
                    }
                    logicCase(3.i)
                        expression.basicAddition(expression,.f).s)
                    }
                }
            }
            logicCase(2.i)
                logicSwitch(y)
                    logicCase(0.i)
                        expression.basicAddition(expression,3.s)
                    }
                    logicCase(1.i)
                        expression.basicAddition(expression,6.s)
                    }
                    logicCase(2.i)
                        expression.basicAddition(expression,9.s)
                    }
                    logicCase(3.i)
                        expression.basicAddition(expression,.f/.s)
                    }
                }
            }
            logicCase(3.i)
                logicSwitch(y)
                    logicCase(0.i)
                        expression.basicAddition(expression,0.s)
                    }
                    logicCase(1.i)
                        expression.basicAddition(expression,.f+.s)
                    }
                    logicCase(2.i)
                        expression.basicAddition(expression,.f-.s)
                    }
                    logicCase(3.i)
                        expression.basicAddition(expression,.f*.s)
                    }
                    logicCase(4.i)
                        result.variableAssign(var.f)
                        expression.basicAddition(mathExpression(result.s,ascii[44.i],expression,.f).s)
                        runtimeRunFromCharArray(expression)
                        result.consolePrintLine()
                        expression.variableAssign(var.s)
                    }
                }
            }
        }
        consolePrintLine(expression)
        graphicWindowToggleDrawing(0.i)
        graphicWindowClear()
        graphicWindowSetImage(0.i,0.i,<path>bg.png.s)
        graphicWindowSetText(0.i,450.i,expression,RobotoMono.ttf.s,26.i,0.i,0.i,0.i)
        result.variableToCharArray()
        graphicWindowSetText(0.i,400.i,result,RobotoMono.ttf.s,26.i,0.i,0.i,0.i)
        result.variableToFloatNumber()
        graphicWindowToggleDrawing(1.i)
        timeWait(300.i)
    }
}