QB64 Phoenix Edition
I know a challenge: TheDRAW - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: QB64 Rising (https://qb64phoenix.com/forum/forumdisplay.php?fid=1)
+--- Forum: Code and Stuff (https://qb64phoenix.com/forum/forumdisplay.php?fid=3)
+---- Forum: Utilities (https://qb64phoenix.com/forum/forumdisplay.php?fid=8)
+---- Thread: I know a challenge: TheDRAW (/showthread.php?tid=712)

Pages: 1 2


RE: I know a challenge: TheDRAW - BDS107 - 12-28-2022

In the meantime I also use Moebius. Very nice to work with.


RE: I know a challenge: TheDRAW - TempodiBasic - 01-04-2023

(08-02-2022, 10:25 AM)BDS107 Wrote: I know a challenge: reprogramming TheDRAW in QB64. But many items can be extracted like the BBS animation.
Other things can be included, such as choice between blinking or 16 background colors, saving to DATA statements, better support for 80x25, 80x43, 80x50 or more etc.
Unfortunately I'm not the best programmer to program something like this myself.
Not sure if anyone already has or uses such a program? Currently I am using TheDRAW from a DOSBOX.

See also https://en.wikipedia.org/wiki/TheDraw
http://www.syaross.org/thedraw

in the links poor description of the program and about what it does!
here you can see that it had been built with TurboPascal and Assembly languages... so it is not too hard  trying to build it by QB64!
https://keenwiki.shikadi.net/wiki/TheDraw
and here the software emulated in dosbox on browser...
https://archive.org/details/msdos_festival_TDRAW500


RE: I know a challenge: TheDRAW - mnrvovrfc - 01-04-2023

(01-04-2023, 12:01 AM)TempodiBasic Wrote: here you can see that it had been built with TurboPascal and Assembly languages... so it is not too hard  trying to build it by QB64!

Have to get around the assembly parts to make it compatible with MacOS and Linux as well as Windows. Also the one struggling with certain structures in Pascal (linked lists for data, and otherwise OOP) would not interested in porting it to QB64(PE).


RE: I know a challenge: TheDRAW - TempodiBasic - 01-05-2023

(01-04-2023, 04:48 AM)mnrvovrfc Wrote:
(01-04-2023, 12:01 AM)TempodiBasic Wrote: here you can see that it had been built with TurboPascal and Assembly languages... so it is not too hard  trying to build it by QB64!

Have to get around the assembly parts to make it compatible with MacOS and Linux as well as Windows. Also the one struggling with certain structures in Pascal (linked lists for data, and otherwise OOP) would not interested in porting it to QB64(PE).
So your goal is NOT to build it in QB64, but to translate it in QB64! This last option is too hard!
The assembly parts surely were a must in DOS era, not today in Windows era ... I dunno.

Pascal is not a poor language, TurboPascal  is more powerful, but QB64 is not simply a QB for 64bit OSes...
I think that QB64 is very powerful also though it is a procedural language that have no OOP inside while TP 5.5 and over work also with objects.

Here there are more QB64 coders that play every days with Linked List and pointers... they can give you some essays...
it is a pity that I don't find the link to a thread of some time ago, in which there were 2 o more coders playing with graphic editor o viewer.
They posted a little demo trying to manage the zoom tool... and I remember a very beatyful post of Steve (our SMcNeill) that showed how simple it can be done with pointers.

Indeed to build from zero  TheDraw I think that it needs to have a map of features and items used in it. Just to let think how they can be done in QB64.


RE: I know a challenge: TheDRAW - mnrvovrfc - 01-05-2023

On Linux at least from my very limited knowledge of the subject, there is the need to get how many columns and lines the terminal has. For ANSI stuff cannot use "SCREEN 0" of QB64 because QB64 already has statements to clear the screen, set the cursor, set colors to print and so on. Also "SCREEN 0" would look strange to long-time users of Unix and Unix-like OS's.

I've tried to spread the word about QB64PE but there's next to zero interest from people who couldn't care less about the two powerhouses and aren't Linux distro-hoppers.

There should be a library from Python that could configure a terminal and obtain its settings. Free Pascal has a "Video" unit which deprecates the old "CRT" unit of Turbo Pascal, but it might not do its magic with ANSI escape sequences. Might have a lot to do with "ncurses" or another library.

I wrote a couple of simple games on a system where I was disallowed to have QB64, a couple of years ago. It depends on 80x25 terminal size and does animation frames by simply printing exactly 24 or 25 lines and then holding for a very short time. It was impossible to get functionality like "INKEY$" or "_KEYDOWN" which sucked. It's strictly stuff of standard C libraries like "stdio.h". In one of the games, first the user has to give commands to move around, then the game draws a maze and moves the player's token around. The play resumes as long as the token doesn't crash into a wall LOL.

I wanted to post the C program on this forum but it's C not BASIC...


RE: I know a challenge: TheDRAW - a740g - 01-27-2023

I just wrote a QB64 ANSI Escape Sequence Emulator. It should be able to render '.ans' files from TheDraw, ACIDDraw, PabloDraw etc. to a 32BPP graphics screen.

a740g/ANSIPrint: QB64-PE ANSI emulator library (github.com)

It is very new and WIP. Please expect bugs and quirks.  Big Grin


RE: I know a challenge: TheDRAW - madscijr - 01-27-2023

(01-27-2023, 04:35 AM)a740g Wrote: I just wrote a QB64 ANSI Escape Sequence Emulator. It should be able to render '.ans' files from TheDraw, ACIDDraw, PabloDraw etc. to a 32BPP graphics screen.

a740g/ANSIPrint: QB64-PE ANSI emulator library (github.com)

It is very new and WIP. Please expect bugs and quirks.  Big Grin

That sounds rad! 
Where would we find it documented what keys to press for what things?