Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Псевдографика в консоле, консоль псевдографика 
V
    Опции темы
Prolss
Дата 24.5.2011, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.4.2011

Репутация: нет
Всего: нет



Подскажите, как делают в консоле, вот так: __________
                                                                          |                  |
                                                                          |                  |
                                                                          |_________|
вот мой код:

Код

#include <conio.h>
#include <iostream>
#include <clocale>

using namespace std;



int main()
{
setlocale (LC_CTYPE,"rus");

 int i,j;
 char arr[3][3];
 for (int i=0;i<3;i++)
{
        for (int j=0;j<3;j++)
        
        {
            cout<<i<<"_";
        cout<<j<<"|";
        }
}
   
   _getch();
   return 0;
}


Ой! Извеняюсь не туда написал...

Это сообщение отредактировал(а) Prolss - 24.5.2011, 22:22
PM MAIL   Вверх
bsa
Дата 24.5.2011, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
перенес "туда"

PM   Вверх
500mhz
Дата 25.5.2011, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



printf ом делают обычно


--------------------

PM MAIL ICQ   Вверх
volatile
Дата 25.5.2011, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(Prolss @  24.5.2011,  22:14 Найти цитируемый пост)
Подскажите, как делают в консоле, вот так: __________
                                                                          |                  |
                                                                          |                  |
                                                                          |_________|

Так вы так и сделали. smile 
возможно вы хотели так?
Код

cout << "╔════╤════╗  ┌────╥────┐ \n";
cout << "║    │    ║  │    ║    │ \n";
cout << "╟────┼────╢  ╞════╬════╡ \n";
cout << "║    │    ║  │    ║    │ \n";
cout << "╚════╧════╝  └────╨────┘ \n";

PM MAIL   Вверх
Prolss
Дата 25.5.2011, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.4.2011

Репутация: нет
Всего: нет



Это 'каркас' игры: морской бой. Там два прямоугольника(побольше конечно). Так вот, они должны быть сделаны массивами.
PM MAIL   Вверх
bsa
Дата 25.5.2011, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Prolss, ну сделай массивами. Экран консоли это массив символов, обычно, 80x25. Тебе никто не мешает сделать такой же в памяти и работать с ним, периодически выводя на экран.
PM   Вверх
Prolss
Дата 25.5.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.4.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 25.5.2011,  10:36)
ну сделай массивами.

bsa,  Ну, да точно. Как же я раньше не понял: чтобы "нарисовать массивами" нужно "нарисовать массивами"...А если серьёзно то у меня как раз вопрос, как это сделать? 
  Вот часть кода. Как вывести этот масив на экран?
Код

const int s = 13, c = 29;
char map[s][c] = {
        "  0123456789     0123456789 ",
        " #----------#   #----------#",
        "0|          |  0|          |",
        "1|          |  1|          |",
        "2|          |  2|          |",
        "3|          |  3|          |",
        "4|          |  4|          |",
        "5|          |  5|          |",
        "6|          |  6|          |",
        "7|          |  7|          |",
        "8|          |  8|          |",
        "9|          |  9|          |",
        " #----------#   #----------#" };



Это сообщение отредактировал(а) Prolss - 25.5.2011, 17:12
PM MAIL   Вверх
xvr
Дата 25.5.2011, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Prolss @  25.5.2011,  16:59 Найти цитируемый пост)
Как вывести этот масив на экран?

Для этого вам нужен этот самый 'Экран', причем в виде массива. Это называется консоль. Конкретно вам нужна функция WriteConsoleOutput

PM MAIL   Вверх
Prolss
Дата 25.5.2011, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.4.2011

Репутация: нет
Всего: нет



Ладно, наверно я плохо объяснил проблему:  Вот ссылка на код(игру). Она консольная. Там есть масив который рисует два квадрата.. Как "отделить" этот массв от остального кода, чтобы просто програма(массив) нарисовала квадраты и всё(хочу разобраться как это "рисуется" с помощью массивов):
Консоль игра
PM MAIL   Вверх
bsa
Дата 25.5.2011, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Prolss, код не смотрел.
Обычно, двумерный массив выводят так:
Код
for(int y = 1; y <= 25; ++y)
   for(int x = 1; x <= 81; ++x) {
      gotoxy(x,y);
      cputchar(array[y-1][x-1]);
   }

PM   Вверх
Prolss
Дата 25.5.2011, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.4.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 25.5.2011,  21:24)
Обычно, двумерный массив выводят так:
Код
for(int y = 1; y <= 25; ++y)
   for(int x = 1; x <= 81; ++x) {
      gotoxy(x,y);
      cputchar(array[y-1][x-1]);
   }

bsa,  Я вижу у вас отменное чувство юмора..  Кстати, спасибо что тему перенесли.
PM MAIL   Вверх
bsa
Дата 25.5.2011, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Prolss @  25.5.2011,  22:00 Найти цитируемый пост)
bsa,  Я вижу у вас отменное чувство юмора.

каков вопрос, таков ответ. Читай мою подпись и думай, почему ты еще не получил подходящий ответ.

PM   Вверх
volatile
Дата 26.5.2011, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(Prolss @ 25.5.2011,  16:59)
Как вывести этот масив на экран?
Код

const int s = 13, c = 29;
char map[s][c] = {
        "  0123456789     0123456789 ",
        " #----------#   #----------#",
        "0|          |  0|          |",
        "1|          |  1|          |",
        "2|          |  2|          |",
        "3|          |  3|          |",
        "4|          |  4|          |",
        "5|          |  5|          |",
        "6|          |  6|          |",
        "7|          |  7|          |",
        "8|          |  8|          |",
        "9|          |  9|          |",
        " #----------#   #----------#" };

Код

for (int i=0; i<s; ++i)
   printf ("%s\n", map [i]);

PM MAIL   Вверх
volatile
Дата 26.5.2011, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



а, сорри, забыл. люблю принтф
Если потоками то, так:
Код

for (int i=0; i<s; ++i)
   std::cout << map [i] << std::endl;

http://liveworkspace.org/code/322dff3e9924...2d3f2bae159b697
PM MAIL   Вверх
Prolss
Дата 26.5.2011, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.4.2011

Репутация: нет
Всего: нет



volatile, Большое спасибо! Вот это я и хотел узнать..
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1659 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.