С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
Эксперт С++
 Аватар для ITcrusader
179 / 165 / 21
Регистрация: 12.02.2013
Сообщений: 410

Фигурки шахматной доски ♔♕♖♗♘♙♚♛♜♝♞♟

14.12.2014, 19:04. Показов 4121. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Viual Studio 2010. Хочу, чтобы на шахматной доске стояли именно такие фигурки: ♔♕♖♗♘♙♚♛♜♝♞♟. Приложение консольное. Перерыл все, опробовал кучу sample'ов - нихрена не рисуется!!!

Просветите, пожалуйста, кто шарит и кому не лень, а то придется шашки вместо шахмат делать о_О)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2014, 19:04
Ответы с готовыми решениями:

Король шахматной доски
Король шахматной доски размером 8х8 находится на коне в одной из клеток своего королевства. Он очень озабочен тем, что некоторые клетки его...

Разрезание шахматной доски
Написать программу нахождения всех способов разрезания шахматной доски с числом клеток nxn (n-четное) на две одинаковые по форме части (не...

Обход конём шахматной доски
Приветствую всех форумчан! Нужно решить задачу: обойти конём шахматное поле размером n*n (n<=8), побывав на каждой клетке не более...

16
Native x86
Эксперт Hardware
 Аватар для quwy
6854 / 3787 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
14.12.2014, 19:17
Переведите консоль в режим UTF-8 (chcp 65001), подберите в свойствах окна консоли шрифт, который содержит эти символы, и запустите в этой консоли свою программу.
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
14.12.2014, 19:26
Просвещаем: используй форму, если хочешь, чтобы нормально работало.
1
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
14.12.2014, 19:52
Вот это мне помогло когда-то
Вывод в консоль юникодовских символов
1
Эксперт С++
 Аватар для ITcrusader
179 / 165 / 21
Регистрация: 12.02.2013
Сообщений: 410
14.12.2014, 20:11  [ТС]
Dani, круть! Код, который вам помог, у меня работает. Но вот беда: я меняю код символа, например, на 2650. И получаю вопросительный знак, но должен быть не он. Далее, 265B - код одной из фигур, тоже отображается вопросительным знаком(((

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <io.h>
#include <fcntl.h>
#include <Windows.h>
int main(){
 
    _setmode(_fileno(stdout), _O_U8TEXT);
    _setmode(_fileno(stdin), _O_U8TEXT);
    //SetConsoleCP(CP_UTF8);
    //SetConsoleOutputCP(CP_UTF8);
    wchar_t * str=L"Моя строка\x2660\n";
    std::wcout<<str<<std::endl;
    return 0;
}

Т.е. решение выше меня бы более чем устроило, но не работает со всеми символами:
http://unicode-table.com/ru/#miscellaneous-symbols

quwy, мне хотелось бы, чтобы все происходило программно без дополнительного вмешательства со стороны пользователя.

nmcf, нужна консоль.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
14.12.2014, 20:29
Тогда _O_U16TEXT, а не _O_U8TEXT.
Если не отображается, значит Lucida Console не содержит этих символов.
1
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
14.12.2014, 21:29
ITcrusader, можно и без setmode (он, например, не работает по-умолчанию в mingw, т.к. там используется более старая версия msvcrt). В этой теме (см. архив) я написал буфер для консоли с использованием api WriteConsoleW/ReadConsoleW. Соответственно все работает сразу в UTF16.

Добавлено через 2 минуты
ITcrusader, да, возможно придется найти и установить в систему шрифт, который поддерживает твои символы. В стандартном может таких не быть. Но это уже не проблема способа вывода, это проблема шрифтов.
1
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
14.12.2014, 21:46
Вот пример вывода со шрифтом "Consolas", там тоже многого нет, но есть гораздо больше, чем в стандартном Lucida Console. Т.е. твой путь - это замена шрифта (возможно программная).
Миниатюры
Фигурки шахматной доски ♔♕♖♗♘♙♚♛♜♝♞♟  
1
Эксперт С++
 Аватар для ITcrusader
179 / 165 / 21
Регистрация: 12.02.2013
Сообщений: 410
15.12.2014, 15:13  [ТС]
DrOffset, ага, я заглянул в свойства консоли, и там на выбор только три шрифта. Не понимаю, как я могу программно при запуске настроить консоль на использование шрифта, которого даже нет в списке доступных в её настройках?
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.12.2014, 15:21
ITcrusader, сначала нужно программно инсталлировать нужный шрифт в систему. Делал я это давно, так что за точность ручаться не буду (я не пишу под винду уже больше 5 лет).
Чтобы шрифт появился в консоли, кажись нужно было еще что-то дополнительно прописывать в реестре в ветке "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W indows NT\CurrentVersion\Console\что-то-там".
1
15.12.2014, 15:23

Не по теме:

ITcrusader, web-разрабы когда не могут показать нужный шрифт во всех браузерах просто показывают картинку с надписью нужным шрифтом. Чем не вариант :)

0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.12.2014, 15:25
Программно через SetCurrentConsoleFontEx(), только там по-видимому не любой шрифт можно использовать.
1
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.12.2014, 15:31
Цитата Сообщение от nmcf Посмотреть сообщение
Программно через SetCurrentConsoleFontEx(), только там по-видимому не любой шрифт можно использовать.
Любой TrueType, просто сперва его нужно зарегистрировать в реестре.
Вот нашел статью как это делать вручную (на память, к сожалению, я не помню). Переложить это на код не думаю, что сложно.
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.12.2014, 15:40
Ну Consolas и так доступен. Наверное, нужен моноширинный шрифт.
1
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.12.2014, 16:06
Лучший ответ Сообщение было отмечено ITcrusader как решение

Решение

Цитата Сообщение от nmcf Посмотреть сообщение
Ну Consolas и так доступен. Наверное, нужен моноширинный шрифт.
Ну так то пример просто. Принцип одинаков для других, новых шрифтов.
Вот что я нашел (DejaVu Sans Mono): http://dejavu-fonts.org/wiki/i... =Main_Page
Миниатюры
Фигурки шахматной доски ♔♕♖♗♘♙♚♛♜♝♞♟  
1
Эксперт С++
 Аватар для ITcrusader
179 / 165 / 21
Регистрация: 12.02.2013
Сообщений: 410
15.12.2014, 16:32  [ТС]
DrOffset, т.е. мне следует для начала установить в систему шрифт, например, этот Dejavu, после чего добавить его в реестр как один из доступных шрифтов для консоли, после чего уже запускать приложение и наслаждаться результатом, верно?

Добавлено через 11 минут
Заработало все с Dejavu моно! Отлично!

Теперь следующие тезисы - есть ли среди них ошибочные?

Я могу программно (при запуске приложения):
- внести в реестр некоторый шрифт, установленный в ОС, поддерживающий все, что мне нужно.
- настроить консоль на использование данного шрифта.

Если все выше - корректно, то, получается, вопрос лишь в том, есть ли в системе пользователя необходимый шрифт и, если нет, то остается сделать еще и так, чтобы приложение при запуске самостоятельно инсталлировало его в ос перед тем, как вносить данный шрифт в реестр.
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.12.2014, 16:36
Цитата Сообщение от ITcrusader Посмотреть сообщение
DrOffset, т.е. мне следует для начала установить в систему шрифт, например, этот Dejavu, после чего добавить его в реестр как один из доступных шрифтов для консоли, после чего уже запускать приложение и наслаждаться результатом, верно?
Я все это проделал руками. Результат на скрине. Программно пробовать сейчас нет возможности.

Я так полагаю, есть способы не заставлять пользователя ставить шрифт насовсем. Возможно, что получится во время запуска вызвать AddFontResourceEx, затем временно добавить в реестр запись об этом шрифте, затем программно установить шрифт текущей консоли через SetCurrentConsoleFontEx. А перед завершением работы программы в обратном порядке все вернуть как было и удалить шрифт через RemoveFontResourceEx.
Может быть можно и как-то по-другому. Не знаю как тут с админскими правами для всего этого, и получится ли без перезапуска приложения, тоже не могу сказать. Надо пробовать.

Добавлено через 56 секунд
Цитата Сообщение от ITcrusader Посмотреть сообщение
- внести в реестр некоторый шрифт, установленный в ОС, поддерживающий все, что мне нужно.
Да.
Цитата Сообщение от ITcrusader Посмотреть сообщение
- настроить консоль на использование данного шрифта.
Да.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2014, 16:36
Помогаю со студенческими работами здесь

Обход шахматной доски конем
Добрый вечер , форумчане. Передо мной стоит проблема написать программу на С++ (задача о ходе конем -довольно распространенная , конь...

Написать шаблон шахматной доски
Всем доброго времени суток! Я только начала учить циклы. Пока тяжело писать коды. Помогите, пожалуйста, написать программу, которая выводит...

Закрасить участок шахматной доски
Люди помогите плиз, у меня в С++ вообще башка не варит((( написать программу для выполнения следующей задачи (): Нужно решить такую...

Задачка. Поле шахматной доски
Поле шахматной доски задается парой натуральных чисел: Первое указывает номер вертикали при счете слева направо, второе - номер горизонтали...

Вывод на экран шахматной доски
Помогите пожалуйста написать код программы выводящей на экран шахматную доску. P.S. Я только учусь.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru