Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
24 / 24 / 16
Регистрация: 14.11.2013
Сообщений: 103
1

Игра в консоли - вопрос скорости прорисовки сцены

02.03.2016, 10:20. Показов 927. Ответов 1

Author24 — интернет-сервис помощи студентам
Мне надо создать небольшую игру в консоли на VB.NET (2010). Когда я пытаюсь сначала очищать консоль, потом выводить символы, а потом делать промежуток в 20 мс, то консоль всё равно мерцает. Я пробовал сделать нечто вроде буфера:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Public Const sX = 80
    Public Const sY = 50
 
    Public Screen(sX, sY), Buffer(sX, sY) As Char
    Public ScreenClr(sX, sY), BufferClr(sX, sY) As ConsoleColor
 
    Public Sub RefreshScreen()
        For i As Integer = 0 To sY - 1
            For j As Integer = 0 To sX - 1
                If (Screen(j, i) <> Buffer(j, i)) Or (ScreenClr(j, i) <> BufferClr(j, i)) Then
                    Console.SetCursorPosition(j, i)
                    Buffer(j, i) = Screen(j, i)
                    Console.ForegroundColor = BufferClr(j, i)
                    Console.Write(Buffer(j, i))
                End If
            Next
        Next
    End Sub
то не моргает, но прорисовка выполняется очень медленно.
Я читал, что можно быстро управлять консолью при помощи WinAPI. У меня получилось использовать WinAPI, но как использовать WriteConsoleOutputCharacter? Там требуется аргумент типа COORD. Как его представить в VB.NET?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2016, 10:20
Ответы с готовыми решениями:

Вопрос прорисовки из оперативной памяти DIB
В результате работы некоторой функции, я получаю pDIB - указатель на 1й байт в оперативной памяти,...

Движение фигур - вопрос оптимальной прорисовки
Доброго времени суток. Нужно написать мини-игру. Суть игры простая на экране три...

Игра начинается не с той сцены
Я создал игру как школьный проект по урокам из интернета, было сделано 2 сцены это сама игра и...

Загрузка сцены, на которой завершилась игра
Каким методом можно реализовать загрузку сцены? Есть игра, в ней 50 сцен. Нужно чтобы после...

1
525 / 487 / 98
Регистрация: 25.12.2011
Сообщений: 1,176
07.03.2016, 04:07 2
COORD (kernel32)
VB.NET
1
2
3
4
5
6
7
8
9
10
    <StructLayout(LayoutKind.Sequential)> _
    Public Structure COORD
    Public X As Short
    Public Y As Short
 
    Public Sub New(ByVal x As Short, ByVal y As Short)
        Me.X = x
        Me.Y = y
    End Sub
    End Structure
1
07.03.2016, 04:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2016, 04:07
Помогаю со студенческими работами здесь

вопрос о скорости
подскажите пожалуйста. какте операции выполняться быстрее копирование из одного источника в другой...

Что нужно сделать что бы запускалась флеш-игра (разбитай на сцены) на странице сайта?
Здравствуйте Игра SWF к ней есть спрайты или сцены, лежат в папке parts не имеют расширения. ...

Ограничение по скорости нажатия клавиш - Игра Змейка
Написал код для Змейки, но возникла небольшая проблема - если быстро нажать вниз/вверх +...

вопрос по скорости ком порта
есть оригинальная программа для обмена данными с сотовым телефоном. но версия моего аппарата не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru