|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.04.2010, 16:09 | #1 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 32
|
Библиотека CRT
Код:
Помогите доделать код.Как сделать чтобы печатала в случайном порядке? И как сделать чтобы программа проверила что окно заполнено? |
23.04.2010, 20:30 | #2 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1)
Цитата:
2) Цитата:
а) обращаться напрямую к видеопамяти и считывать оттуда значение символа, который находится в выбранном случайном месте, если оно занято, выбирать другое случайное место и т.д. крайне неэффективно... б) завести массив, размером равным размеру экрана. и отмечать там занятые ячейки. Для удобства завести счётчик свободных мест с) и, на мой взгляд, лучший способ из всех предложенных тут: заводим массив, размером равным размеру экрана. заполняем его последовательно всеми возможными координатами, где можно вывести символ. Потом случайным образом перемешиваем эти координаты. Дальше просто - при каждом нажатии на клавишу берём следующие координаты. Всё. |
||
25.04.2010, 19:20 | #3 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 32
|
покажите примерно как это делать??
|
26.04.2010, 10:00 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
I'm learning to live...
|
|
26.04.2010, 20:12 | #5 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 32
|
|
27.04.2010, 08:37 | #6 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
простите, Виталий, не могу с Вами согласиться.... 1) Данный код у меня не работает. (заполняется вертикальный столбец нулями, а потом по нажатию любой клавиши - выход...) ну, это думаю можно поправить. 2) Вас спасает быстродействие - ну действительно, даже 15 лет назад, а не говоря уж о современных компьютерах, что стоит сгенерировать несколько тысяч (а точнее, думаю, десятков) тысяч случайных координат, пока не найдётся пустая ячейка?... (простой счётчик, подсчитывающий сколько раз сгенерили координаты, попадающие на уже занятое поле, легко покажет это. вначале, естественно, каждая пара координат будет генерится по разу, но потом, по мере заполнения поля, это число будет расти, и весьма сильно расти... 3) Кроме того, Вы совершенно забыли обеспечить завершение работы программы, после того, как не останется свободных ячеек: "Если всё окно заполнено ,вод символов прекращается." ___________________________________ _ Цитата:
Это прокатит только исключительно под DOS TurboPascal! Боюсь, что Ваш PascalABC Вас туда не пустит! |
||
27.04.2010, 16:40 | #7 |
Пользователь
Регистрация: 14.12.2009
Сообщений: 32
|
|
28.04.2010, 10:41 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
причём, бесплатно! Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Uses CRT; | sir.andrey | Помощь студентам | 9 | 18.03.2010 14:43 |
Модуль CRT | Sikey | Фриланс | 9 | 04.02.2010 20:41 |
модуль crt | ksu25 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 24.10.2009 23:10 |
модуль crt | BBagi | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 27.12.2007 14:10 |