Skip to content

DASPELLER4/VisualF-ck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

VisualF*ck

A visual esolang inspired by assembly and very partially by BrainF*ck


Disclaimer: This is made by me, at 14 so don't expect greatness

Basic Explanation

* This programming language operates on a single row of pixels in a bmp image.
* It has reserved keywords in the form of specific 24bit colours
* Variables are declared and initialized by referncing them outside a function call of course they cannot be one of the reserved colours
* Function calls consist of {[args],function} where the function is one of the afore mentioned keywords
* Some functions also allow the length of the function colour as an argument like in increment for example where arg 1 is incremented by the function colour length
* Of course these functions also allow for standard function calls

All Functions and their arguments

Bold functions allow their last argument to be the function colour length, this means that instead of {green,blue,increment} where blue is equal to 4, you can do {green,increment*4} where increment is repeated 4 times.
1. Increment - takes two arguments {arg1: colour to increment, arg2: value to increment by} #a249a4
2. Decrement - takes two arguments {arg1: colour to decrement, arg2: value to decrement by} #4a90e2
3. Print Char - takes one argument {arg1: ASCII character to print}#b7e61d
4. Print Int - takes one argument {arg1: integer to print} #7cd6d6
5. Multiply - takes two arguments {arg1: colour to multiply, arg2: value to multiply by} #ec277c
6. Divide - takes two arguments {arg1: colour to divide, arg2: value to divide by} #fffa4f
7. Jump - takes one argument {arg1: where to jump (starts counting at 1)} #6e120e
8. If Equal - takes four arguments {arg1: comparison left value, arg2: comparison right value, arg3: where to jump if true, arg4: where to jump if false} #00ff12
9. If Less Than - takes four arguments {arg1: comparison left value, arg2: comparison right value, arg3: where to jump if true, arg4: where to jump if false} #9aa6ad
10. If Greater Than - takes four arguments {arg1: comparison left value, arg2: comparison right value, arg3: where to jump if true, arg4: where to jump if false} #397463
11. Random Number - takes three arguments {arg1: colour to affect, arg2: range start (INCL), arg3: range end (EXCL)} #194d33
12. User Int Input - takes one argument {arg1: colour to set} #ad456e
13. User Char Input - takes one argument {arg1: colour to set} #887d3e
14. End Program - not a function but just a white pixel ends the program #ffffff
Functions that jump to a place (Jump and the if functions) jumps to an instruction, be it declaration of a variable or a function call, so jump to 2 of r=65; {r,PRINTC};would repeat{r,PRINTC};

Example with explanation

Colour Key

Installation

Download the repository:
git clone https://github.com/DASPELLER4/VisualFuck && cd VisualFuck
Compile the compiler:
make
Install:
sudo make install
To run a BMP:
vfc path/to/bmp