• Virtual coffee shop

    From morecoffee@21:1/101 to All on Tuesday, June 27, 2017 15:06:36
    This is just a concept I am toying with so don't put a lot of energy into a response. I've been playing around with mystic on my raspberry pi 3. I'm experimenting with the idea of creating a coffee bar/cafe themed bbs. I'd like to integrate a virtual cafe into it. My concept is that users could order a coffee then a coffee cup that would be displayed alongside the menus in ansi art. Over time it would change the ansi until the cup is empty (maybe 4 images over 30 minutes time. Later I would be interested in having different
    baristas scheduled (like npc) at different time and users able to unlock different coffee cups based on prior purchases. Currently my programming skills are limited, but could use this as an experiment to learn new things. I can read and edit SQL, really good at MS excel formulas, and I am pretty sure I could have programmed a single user version of this idea on my Ti-83s graphing calculator's basic language in jr high/high school.
    My first round of questions are:
    1 On a scale of 1 (trivial) to 10 (coder monkey working over time) how
    hard is my concept?

    2 In mystic is it difficult to overlay a smaller ansi's on top of an existing ansi? Such as drawing the entire menu 80X25 ansi then overlay a mini 15X15 ansi starting at character X=50 Y=10

    3 What language should I start with first mystic/mpl/prompt/menu, phython, or something else?

    4 How would you recommend I record user user data such as: prior coffee
    orders, unlocked coffee cups, and similar? Text file, csv, database?

    --- Mystic BBS v1.12 A33 (Windows/32)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From Black Panther@21:1/186 to morecoffee on Monday, June 26, 2017 22:13:54
    On 06/27/17, morecoffee said the following...

    This is just a concept I am toying with so don't put a lot of energy
    into a response. I've been playing around with mystic on my raspberry pi 3. I'm experimenting with the idea of creating a coffee bar/cafe themed bbs. I'd like to integrate a virtual cafe into it. My concept is that

    I'll let some of the more experienced programmers/designers comment on most
    of what you're asking.

    I just wanted to let you know, that I love the idea. I would be very
    interested in seeing how this turns out.


    ---

    Dan Richter
    aka Black Panther
    Sysop - Castle Rock BBS (RCS)
    telnet://castlerockbbs.com
    The sparrows are flying again...

    --- Mystic BBS v1.12 A34 (Windows/64)
    * Origin: Castle Rock BBS - castlerockbbs.com (21:1/186)
  • From garycrunk@21:2/105 to morecoffee on Tuesday, June 27, 2017 00:33:04
    working over time) how hard is my concept?

    Well since I have little experience programming in MPL (Even though it is
    very similar to what I do program in (Pascal), something like this should not be too hard, Estimated a 7 or 8.

    2 In mystic is it difficult to overlay a smaller ansi's on top of an existing ansi? Such as drawing the entire menu 80X25 ansi then overlay
    a mini 15X15 ansi starting at character X=50 Y=10

    Its just really a matter of how the ANSI file is created. In TheDraw, when saving an ANSI file, you indicate "Clear Screen", "Home", or None. I would think indicating "Home" would be a start. But that might erase content since the "Overlay" is at 50, 10. One could get away with it by making the ANSI an Animated file and use CTRL-N to Move the cursor when designing the file. Or you can use Pipe commands to position each line of the 15x15. One note however, I would recommend placing the 15x15 a little higher up than 10. Because 10+15=25 and you may experience unwanted screen-scroll when writing
    on line 25. I would recommend Line 8, that gives you some wiggle-room at the bottom of the screen. But see my comments below about Static versus Dynamic processes.

    3 What language should I start with first mystic/mpl/prompt/menu,
    phython, or something else?

    Well since this would mainly be running on Mystic, using the MPL would in my opinion be a better choice.. Doing it with Prompt/Menu would not work in my view because Prompt/Menu are static, not dynamic (Not changeable on the fly) (At least not that I know of). I am not familiar with Python, so if that
    would work better than MPL, I cannot advise).

    4 How would you recommend I record user user data such as: prior coffee orders, unlocked coffee cups, and similar? Text file, csv, database?

    Well in my opinion and personal preference, I recommend (If written in MPL or Python), to use a Database. They are faster, more reliable than Text/CSV
    only because you do not have to waste processing speed/power parsing a large file (It could potentially get large and processing a large Text file
    sometimes multiple times takes time) whereas using a MPL/Python designed Database would make it faster because a what can be termed a Random Access
    File as they say, the program can jump Directly to the information in the Database rather than process Each Line of a Text/CSV to "Find" the
    information.

    I am sure I could make something like this in Pascal, but my current programs are run as a Door and not something that runs inside Mystic and from your description, this would need to work directly inside or with Mystic,
    especially in a Raspberry Pi environment.

    I am also sure I am probably Totally Wrong in all of my statements above so please take this with 1/2 of a Grain of Salt.....

    ----=[ Gary Crunk * Another F-ing BBS * anotherbbs.bbsindex.com ]=----

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Another F-ing BBS (21:2/105)
  • From garycrunk@21:2/105 to morecoffee on Tuesday, June 27, 2017 01:23:38

    I would like to "Add" to my previous comments on the Virtual Coffee Shop and I had an idea.. I know, 1st time in years...

    There is an MPL program already out, It was written by g00r00, It's called "Rumors". This runs in Mystic Menu's as an EVERY setting and every time the user enters the menu, it reads it's database, randomly selects a "Rumor" and displays it on the screen/menu.

    Something similar to this could be made to display your 15x15 ANSI on the screen along with whatever Menu they are on. The MPL code for Rumors is not very long or complicated, but using something similar to this programs
    concept could be used as a guide to making your conceptual program.

    It would have to be placed as an EVERY event on all of the Menu's you want it to run on, and the Menu ANS files would have to reflect a "Empty Space" for your Graphic.

    So yes, it CAN be done using MPL and well designed 15x15 ANSI screen segment files. A simple database can be used to "Track" users coffee cups and
    purchases etc.

    Hope this helps.

    ----=[ Gary Crunk * Another F-ing BBS * anotherbbs.bbsindex.com ]=----

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Another F-ing BBS (21:2/105)
  • From g00r00@21:1/108 to morecoffee on Tuesday, June 27, 2017 10:02:00
    2 In mystic is it difficult to overlay a smaller ansi's on top of an existing ansi? Such as drawing the entire menu 80X25 ansi then overlay
    a mini 15X15 ansi starting at character X=50 Y=10

    No, not difficult at all. Just save the various ANSI files without a clear screen and display them. They will overlay whatever is currently on the screen. This can be done with a menu command or MPL or Python.

    Or you could save it as pipe codes, or just write it to the screen yourself using MPL.

    If it weren't for saving the user data, I think it might be possible to do
    the whole thing just with Mystic's menu system without any programming.
    Mystic has TIMER events in menus.

    3 What language should I start with first mystic/mpl/prompt/menu,
    phython, or something else?

    For something like this I personally feel MPL is easier than Python unless
    you already know Python.

    4 How would you recommend I record user user data such as: prior coffee orders, unlocked coffee cups, and similar? Text file, csv, database?

    Any of those would work but if it were me I'd probably do a typed record in MPL.

    Type
    CoffeeUser = Record
    UserNumber : Cardinal;
    Orders : Cardinal;
    CupProgress : Byte;
    CupOrderTime : LongInt;
    Mugs : Cardinal;
    End;

    You would store the usernumber so you know who the record belongs to, the orders would be the current order they are working on. CupProgress might store how much of the current cup they've finished. And Mugs would track up to 32 mugs that the user has unlocked.

    When the MPL is executed you'd read that record in to get the information about the user, and then you would make any changes required, write it back if there were changes, and then display the ANSI file for their cup. This MPL would be executed every time the menu is displayed.

    You have to determine the logic you want to use as to when the cup empties. Does it happen based on time? If so, then how does that work between
    sessions on the BBS? Do you base it on the number of times a user goes to a menu, etc? The details may define how you do things.

    --- Mystic BBS v1.12 A35 (Windows/32)
    * Origin: Sector 7 [Mystic BBS WHQ] (21:1/108)
  • From Mick Manning@21:1/156 to morecoffee on Tuesday, June 27, 2017 19:57:49
    On 06/27/17, morecoffee considered the following...

    3. I'm experimenting with the idea of creating a coffee bar/cafe themed bbs. I'd like to integrate a virtual cafe into it. My concept is that users could order a coffee then a coffee cup that would be displayed alongside the menus in ansi art. Over time it would change the ansi


    Mmmmm coffee.... :-)

    Mickey

    Central Ontario Remote BBS
    Telnet: oxfordmi.synchro.net

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Central Ontario Remote (21:1/156)
  • From Gryphon@21:1/101 to morecoffee on Wednesday, June 28, 2017 16:58:00
    On 06/27/17, morecoffee pondered and said...

    This is just a concept I am toying with so don't put a lot of energy
    into a response. I've been playing around with mystic on my raspberry pi 3. I'm experimenting with the idea of creating a coffee bar/cafe themed bbs. I'd like to integrate a virtual cafe into it. My concept is that users could order a coffee then a coffee cup that would be displayed alongside the menus in ansi art. Over time it would change the ansi
    until the cup is empty (maybe 4 images over 30 minutes time. Later I would be interested in having different baristas scheduled (like npc) at different time and users able to unlock different coffee cups based on prior purchases. Currently my programming skills are limited, but could use this as an experiment to learn new things. I can read and edit SQL, really good at MS excel formulas, and I am pretty sure I could have programmed a single user version of this idea on my Ti-83s graphing calculator's basic language in jr high/high school. My first round of questions are: 1 On a scale of 1 (trivial) to 10 (coder monkey
    working over time) how hard is my concept?

    2 In mystic is it difficult to overlay a smaller ansi's on top of an existing ansi? Such as drawing the entire menu 80X25 ansi then overlay
    a mini 15X15 ansi starting at character X=50 Y=10

    3 What language should I start with first mystic/mpl/prompt/menu,
    phython, or something else?

    4 How would you recommend I record user user data such as: prior coffee orders, unlocked coffee cups, and similar? Text file, csv, database?

    This sounds like an interesting idea. I would recommend using MPL over MPY
    as MPY is not nearly as robust as MPL. I have apps that perform random file access all the time so what you are suggesting can easily be done in MPL.
    You can look at some of my apps to see how I do file record access.

    Ò Ö· Ò .
    Ö·Ò·ÒÖÖ·Ç·Ö·Ò· Ö·Ç ÖÄÖÖÇ·Ö·Ò·ÒÒÒ cyberia.darktech.org
    ӶРӶǽÐÐÓ½ÐÐ Ó½Ó ÓÄÓ¶Ó½ÓÄÐ ÐÓÐ San Jose, CA.
    Ó½ ½Ó ½

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From morecoffee@21:1/101 to garycrunk on Friday, June 30, 2017 12:38:37
    There is an MPL program already out, It was written by g00r00, It's
    called "Rumors". This runs in Mystic Menu's as an EVERY setting and
    every time the user enters the menu, it reads it's database, randomly selects a "Rumor" and displays it on the screen/menu.

    Thank you. I will get it going to see how it works. Not knowing pascal this should give me a good start.

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From morecoffee@21:1/101 to g00r00 on Friday, June 30, 2017 12:57:00
    No, not difficult at all. Just save the various ANSI files without a clear screen and display them. They will overlay whatever is currently
    on the screen. This can be done with a menu command or MPL or Python.

    That is good. I didn't know how complex of a project I have started.

    Type
    CoffeeUser = Record
    UserNumber : Cardinal;
    Orders : Cardinal;
    CupProgress : Byte;
    CupOrderTime : LongInt;
    Mugs : Cardinal;
    End;

    You would store the usernumber so you know who the record belongs to, the orders would be the current order they are working on. CupProgress might store how much of the current cup they've finished. And Mugs would
    track up to 32 mugs that the user has unlocked.


    If the mugs are not unlocked in a particular sequence is there a list
    variable type that I could use with a 1's or 0's in a list? 1, 0 , 0,..

    You have to determine the logic you want to use as to when the cup empties. Does it happen based on time? If so, then how does that work between sessions on the BBS? Do you base it on the number of times a
    user goes to a menu, etc? The details may define how you do things.

    I would allow users to get their coffee to go. When users place an order I would want to record a time stamp and base the ansi graphic and ability to order again based on time passage that would be persistent. We wouldn't want to waste coffee or allow get O.D. on caffeine.

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)
  • From morecoffee@21:1/101 to Gryphon on Friday, June 30, 2017 12:59:26
    This sounds like an interesting idea. I would recommend using MPL over MPY as MPY is not nearly as robust as MPL. I have apps that perform random file access all the time so what you are suggesting can easily be done in MPL. You can look at some of my apps to see how I do file record access.

    Thank you. I will check those out.

    --- Mystic BBS v1.12 A34 (Windows/32)
    * Origin: Agency BBS | telnet://agency.bbs.geek.nz (21:1/101)