Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Scipi

Pages: 1 ... 49 50 [51] 52 53 ... 139
751
Computer Projects and Ideas / Re: Looking for some libraries
« on: October 10, 2012, 09:55:53 pm »
For some of these, I use SFML or "Small Fast Multimedia Library". It can provide you graphics, ogg loading, and cross platform input.

For the graphics, it can load sprites and text, you'd have to write your own tilemap routine, though tilemaps are pretty simple to write.

SFML also provides networking support.

http://www.sfml-dev.org/

For physics, I've heard good things about Box2D. I haven't used it though, so I can't tell you much about it.

http://box2d.org/

Both are usable in C++.

752
Miscellaneous / Re: Post your desktop
« on: October 10, 2012, 09:22:13 pm »
Finally cleaned my desktop :P



It's a screenshot someone had taken of a charge that had taken place in the Darthmod mod for Empire: Total War.

For those of you that don't remember, this was my previous desktop :P

Spoiler For Spoiler:

753
Humour and Jokes / Re: Nikky simulator
« on: October 09, 2012, 04:06:24 pm »
You know, I've been here over two years and still don't really know Nikky. x.x

Btw, I just noticed, I've been here over two years now XD  :w00t:

754
Humour and Jokes / Re: 9001 signs you're addicted to calcs and Omni
« on: October 09, 2012, 10:03:00 am »
3437: You see the number 343 everywhere. (True story)

3438: You see the number 117 even more. (Very true story)

755
Computer Projects and Ideas / Re: Contest: Coding Battles
« on: October 08, 2012, 09:47:34 am »
Bump. Please don't say this died. :(

I was so looking forward to completing a project here since my computer has been repaired :P

756
Humour and Jokes / Re: 9001 signs you're addicted to calcs and Omni
« on: October 05, 2012, 10:36:51 pm »
3427: You're a bit of a rebel. >:]

757
Humour and Jokes / Re: 9001 signs you're addicted to calcs and Omni
« on: October 04, 2012, 02:46:05 pm »
3424: http://www.playmycode.com/play/game/s1ay3r44/9001-signs

Btw, we should have an embed feature for these :D

758
Humour and Jokes / Re: Re: 9001 signs you're addicted to calcs and Omni
« on: October 01, 2012, 11:21:57 pm »
3419: You post in order to bump the topic

*bump*

759
Humour and Jokes / Re: 9001 signs you're addicted to calcs and Omni
« on: September 20, 2012, 11:09:44 pm »
3414: You came up with a reason

3415: You post it

760
Miscellaneous / Re: My new internet speed
« on: September 20, 2012, 06:07:09 pm »


Didn't expect it to be so good O_O

761
Brainf*ck was created as a very limited programming language so it would have the smallest interpreter, it was not created to actually do something useful. I'ts now only used for watching the look on your friends' faces when you show then a brainf*ck program. While your extension does add some instructions which can be usefull to make real programs with it, it is still very hard to read and still so limited that even the simple things would require huge routines, which would make it way to slow to make stuff like graphical games. Also, it still can't read or write from/to files, which is a very basic function that almost every program has.

Also, everyone who programs in brainf*ck probably does it for the challenge, and some may think your extension takes a part of the challenge away.

But anyway, it might be an easyer start for anyone willing to try brainf*ck, so good work.


^The above was not meant tu be rude or anything, but I doubt a bit that it would be very usefull. Brainf*ck is the programming language of a nightmare, and it may be best to keep it like that.

This interpreter supports vanilla brainf*ck, so anyone who wants to use that, may certainly do so.

I plan on file loading support through use of an IDE, that would "compile" the data into one MF file. If people want though, I could try to see if I can add that kind of support maybe using the /\ characters and a separate memblock just for files. Though, I'd rather not quite have to do that. But it's feasible.

The actual point is not really to be more difficult than BF (if you want difficulty, use BF) I want a language that can feasibly be used to create useful programs while using limited commands. It's kind of something between BF and ASM, perhaps.

762
Cross post from here where I originally announced this

Spoiler For Spoiler:
Ok, so after nearly a year, I actually have something to show for this (Holy crap!)

Introducing Mindf*ck:

A dialect of BF that on top of the original BF command set and principles, adds functionality for using addresses, splitting threads, moving throughout the code (read: subroutines), and the ability to insert values in the code itself easier.

The command list is as follows:
//////////////////////
//BrainF*ck Commands
//////////////////////
>   Shift right
<   Shift left
+   Inc
-   Dec
[   Start while if nonzero
]   End while - break if zero (Jump to address if nonzero)
.   Read char
,   Get char
/////////////////////
//MindF*ck Commands
/////////////////////
#   Get Int
$   Read Int
(   Store address
)   Pop address
{   Copy value to address
}   Retrieve value at address
""   Insert string - overwrites its length
::   Insert binary num   
^   Jump to address
|   Split thread at code address
!   Ends process

The main difference is the addition of a stack used for addresses as well as storing values. Think like what Z80 has. You are also able to move around the code itself to execute sections of code.

"<string>" allows for strings of chars to be inserted into the value array, it will overwrite its length in chars.
:<Number>: this will insert an int expressed in binary at this point in the value array

Another difference is that instead of chars, the array is composed of ints. I did this in order to support jumps using values in the value array.

Things to do:

Fix the split thread command. Weird stuff is happening and I'm not sure why.

More bug testing

Source:

https://sourceforge.net/projects/mindfck/

Edit: I forgot to mention, I still need to write up the full documentation for how each command works and what exactly they read from/effect. Some of the address commands either affect the value array iterator or code iterator, for instance.

This will be the official thread for MF releases, info, and ideas. The idea of the language is to extend BF to where it is feasible to create programs and games within the language, while still providing a fun challenge to the programmer, maintaining esoteric status.

These are the supported commands. I will be updating as new releases become available.

Spoiler For Command List:
//////////////////////
//BrainF*ck Commands
//////////////////////
>   Shift right
<   Shift left
+   Inc
-   Dec
[   Start while if nonzero
]   End while - break if zero (Jump to address if nonzero)
.   Read char
,   Get char
/////////////////////
//MindF*ck Commands
/////////////////////
#   Get Int
$   Read Int
(   Store address
)   Pop address
{   Copy value to address
}   Retrieve value at address
""   Insert string - overwrites its length
::   Insert binary num   
^   Jump to code address
|   Split thread at code address
!   Ends process

///////
//1.1
///////
_   Insert memory address in memory
@   Insert code address in memory
&   Jump to memory address

The largest and most significant addition is that of a stack used to store information as well as addresses. This allows for subroutines to be written as such.

Code: [Select]
:Ret Address: ( /*:param: ( :etc:*/ :Subroutine Address: (^
/*Subroutine*/
/*Extract params using )*//*Subroutine code*/
) // Pop return address
/*Store return values with (*/
( //Store return address
^ // Return

So an example would be a simple addition routine

Code: [Select]
:00011011:(#(#(:00011110:(^)$!)>)[<+>-])<(>(^
This will read two ints and output their sum. Here's the dissection:

Code: [Select]
:00011011:( // Inserts an int and stores it on the stack, this is where we will return to
#(#( // Reads two ints and stores them on the stack
:00011110:( // Inserts an int and stores it on the stack, this is the subroutine address
^)$! // This is the jump and afterwards it displays the first value on our stack and terminates the program
)>)[<+>-])<(>(^ // This is our subroutine. Takes two params, adds them, stores the result, and returns

Todo:

-Write documentation of each instruction and what they do exactly
-Bug test
-Add drawing to the screen/image support (Already know how I'll do this)
-Write IDE for MF
-Prove Turing Completeness (if it has one)
-Write compiler for MF

How to use:

On windows, write your MF code in any text editor, and drag/drop onto the exe.

To use from CMD:

Code: [Select]
<MF_Dir>MindF_ck.exe <File_Dir>
To download, please go to the sourceforge page:

https://sourceforge.net/projects/mindfck/

763
Miscellaneous / Re: Enhanced BF
« on: September 19, 2012, 11:25:48 pm »
Ok, so after nearly a year, I actually have something to show for this (Holy crap!)

Introducing Mindf*ck:

A dialect of BF that on top of the original BF command set and principles, adds functionality for using addresses, splitting threads, moving throughout the code (read: subroutines), and the ability to insert values in the code itself easier.

The command list is as follows:
//////////////////////
//BrainF*ck Commands
//////////////////////
>   Shift right
<   Shift left
+   Inc
-   Dec
[   Start while if nonzero
]   End while - break if zero (Jump to address if nonzero)
.   Get char
,   read char
/////////////////////
//MindF*ck Commands
/////////////////////
#   Get Int
$   Read Int
(   Store address
)   Pop address
{   Copy value to address
}   Retrieve value at address
""   Insert string - overwrites its length
::   Insert binary num   
^   Jump to address
|   Split thread at code address
!   Ends process

The main difference is the addition of a stack used for addresses as well as storing values. Think like what Z80 has. You are also able to move around the code itself to execute sections of code.

"<string>" allows for strings of chars to be inserted into the value array, it will overwrite its length in chars.
:<Number>: this will insert an int expressed in binary at this point in the value array

Another difference is that instead of chars, the array is composed of ints. I did this in order to support jumps using values in the value array.

Things to do:

Fix the split thread command. Weird stuff is happening and I'm not sure why.

More bug testing

Source:

https://sourceforge.net/projects/mindfck/

Edit: I forgot to mention, I still need to write up the full documentation for how each command works and what exactly they read from/effect. Some of the address commands either affect the value array iterator or code iterator, for instance.

764
Computer Usage and Setup Help / Re: Monitor problem
« on: September 18, 2012, 09:17:01 pm »
Update: I am back up and running. I will resume projects I have going asap, including a revival of an idea I've had floating around in my head a while. More on that when I get a functional prototype up and running though.

Turns out, it was the graphics card that died. I replaced it with a GeForce GTX 650 and upgraded the PSU. Working quite nicely so far. ^_^

765
Miscellaneous / Re: Re: A note about Googling.
« on: September 18, 2012, 04:55:18 pm »
I agree. Especially if you ARE googling it and you come across >9001 "google it" answers and no solution.

Pages: 1 ... 49 50 [51] 52 53 ... 139