Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Hristo_Penchev avatar Hristo_Penchev 389 Точки

[Technical Issue] Java Basics - Задаване на позиция на курсора в конзолата

Здравейте,

Работя по екипния проект. Искам да изпечатам символ на определено място в конзолата, но нещо не мога да се оправя. Порових в гугъл и попаднах на класа Console:

http://faculty.washington.edu/gmobus/Academics/TCSS305/Console.html#putCharAt%28char,%20int,%20int%29

Има хубави методи като gotoXY или putCharAt, но явно нещо не правя нещата както трябва. Като напиша примерно:

Console.putCharAt('a',10,20);

ми дава грешка "putCharAt is undefined for the type Console"

Някой може ли да ми помогне да открия грешката си? Или да ми даде друг начин да печатам символ на точно определена позиция на конзолата?

 

Благодаря предварително!

1
Java Advanced 14/09/2014 10:42:18
Dopey avatar Dopey 7 Точки

Сега видях, явно ползваш java.io.Console  , a та този метод го няма

0
13/09/2014 10:27:41
Hristo_Penchev avatar Hristo_Penchev 389 Точки

При Console c=new Console(); ми дава Constructor Console() is not visible. Попаднах на препоръка да се зададе във формат Console c = System.console();, но тогава пак ми дава същата грешка от по-горе.

0
nakov avatar nakov SoftUni Team Trainer 5294 Точки

В Java конзолните игри са мъка. По-добре ползвай графика. Конкретно тази библиотека не съм я ползвал, но има една Lanterna, която прави нещо подобно и се ползва трудно.

0
nakov avatar nakov SoftUni Team Trainer 5294 Точки

Сега погледнах, този клас  http://faculty.washington.edu/gmobus/Academics/TCSS305/Console.java си прави вътрешен буфер 80 x 25, дава методи за печат в него и дава метод за принтиране на буфера след като е попълнен.

Би могло да се ползва за игра, но ако правиш анимация, определено насича много.

2
13/09/2014 11:30:59
mihayloff14 avatar mihayloff14 824 Точки

Здравей,

Съветвам те да ползваш графична библиотека за играта защото е далеч по красиво и дори по-лесно. Само трябва да схванеш основната концепция :)

Ето два туториала, които лично на мен са ми фаворити, защото е адски добре обяснено и представено и всеки може да схване замисъла:

http://www.edu4java.com/en/game/game0-en.html

youtube video tutorial

 

1
13/09/2014 12:32:44
velio84 avatar velio84 241 Точки

Здрасти,

първо мерси за тоя клас! Ние също търсим нещо дето да му се задава къде да ходи в конзолата за нашия проект и това изглежда като да върши работа laughing

Тествах го и работи по следни начин:

- направи си нов клас в проекта с име Console и вътре пейст на кода от линка на Наков:

http://faculty.washington.edu/gmobus/Academics/TCSS305/Console.java

- изтрий main метода, който е най-долу

- в класа където ще ти е main метода пишеш:

Console c = new Console();

        c.clearScreen();
        c.initScreen();

след това пишеш къде каквото искаш и за да го отпечаташ, накрая слагаш

       c.printScreen();

smile

не знам с кое ИДЕ си, но аз ползвам IntelliJ и вградената конзола не работи правилно с тоя клас и не показва нещата както са. За целта компилирам и рънвам ръчно от конзолата на Линукс - там си ги показва екстра нещата.

0
14/09/2014 02:14:31
tdsamardzhiev avatar tdsamardzhiev 77 Точки

Този клас не е част от стандартната библиотека. В стандартната има друг клас Console (java.io.Console), който е с по-опростена функционалност и не работи в Eclipse. Използвай някоя библиотека като lanterna (имаше я в примерите от първата лекция) или javacurses.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.