Манипулация на конзолата

  1. Здравейте. Аз правя игра, като проект, и трябва да предоставя, както 2D графичен интерфейс, така и интерфейс чрез конзолата. Много би се улеснила моята работа ако имах начин да премествам cursor-а там където ми е нужно без да променям до сега изписания текст в конзолата. Също така се нуждая от нещо, което може да почиства цялата конзола. Имайки предвид, че играта трябва да поддържа 60 кадъра в секунда - колкото по бързи са тези неща, толкова по добре. За момента използвам неща като: print "\e[2J", print "\e[H", $stdout.flush, но те май не са съвсем подходящи. Ако някой има представа какво да използвам или може да ме ориентира към нещо, моля да сподели :) Благодаря предварително!

    • system 'cls' за изчистване на целия екран на конзолата

    • \r за принтене на текст на едно и също място - overwrite (обаче само за 1 ред действа, т.е. до \n, но може би повече такива могат да се комбинират някак)

    За преместване на курсора може би трябва да очакваш вход на определено място и да изкарваш текст около това място, но тук гадая само.

    http://blog.x-aeon.com/2014/03/26/how-to-read-one-non-blocking-key-press-in-ruby/

    Този линк може да ти бъде полезен, след като имаш да правиш и конзолен интерфейс. Успех!

Трябва да сте влезли в системата, за да може да отговаряте на теми.