Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.09.2014
Сообщений: 1
1

Игра пинг-понг: отрисовка происходит там, где не должна

16.09.2014, 15:17. Просмотров 1251. Ответов 2
Метки нет (Все метки)


Написал отрисовку кадра в консоль и управление объектами. Начал тестировать многопоточность и в консоли стали появляться символы там где их быть не должно. Так и не понял в чем ошибка. Может кто-нибудь подскажет? Исходники прилагаю.
 Комментарий модератора 
Тексты необходимо переносить в сообщение!

Игра пинг-понг: отрисовка происходит там, где не должна
0
Вложения
Тип файла: zip Engine.zip (781.9 Кб, 14 просмотров)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2014, 15:17
Ответы с готовыми решениями:

Игра пинг-понг
Ребят, нужна помощь делаю игру на Делфи, но мы этот язык не изучали еще, и поэтому возникают...

Игра пинг понг
Написал по видео урокам игру пинг понг, но игроку невозможно выиграть компьютер, подскажите что...

Игра пинг-понг
Помогите пожалуйста с игрой, нужно пофиксить блок, которым мы управляем с мыши, чтобы он не уходил...

Игра пинг-понг
Ребят, помогите пожалуйста описать каждую строку в программе или хотя бы основные строки буду...

2
1769 / 747 / 153
Регистрация: 03.06.2009
Сообщений: 5,282
17.09.2014, 08:03 2
Лучший ответ Сообщение было отмечено Vadilla как решение

Решение

Чтобы не было таких артефактов следует синхронизировать потоки. Такое происходит потому что во время выполнения программы один из потоков установил курсор для своего вывода, и в этот момент управление передается другому потоку, который должен был выводить в свое место на экране, но выводит в место, установленное прерванным потоком. Экран в данном случае - общий ресурс. Для него нужно создать объект синхронизации, к примеру мьютекс, и все выводы на экран из многопоточной части выводить только через этот мьютекс.
2
4455 / 2074 / 263
Регистрация: 01.03.2013
Сообщений: 5,511
Записей в блоге: 22
17.09.2014, 15:11 3
Были (и пока есть) такие же проблемы в консольной игре, даже понятна была причина, непонятно было только как это преодолеть. В windows приложении такой проблемы не возникало имхо потому, что там не логика вложенных прерываний, а логика очереди эвентов (организованная операционной системой), которые отрабатывают последовательно - эвент таймера никогда не будет драться за общий ресурс с эвентом клавиатуры например. По крайней мере, таковы мои текущие заблуждения.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2014, 15:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Игра Пинг Понг, управляется только одна ракетка
Добрый день. Делаю для университета игру Пинг Понг (управление ракетками с клавиатуры), начал с...

Игра пинг-понг в Tkinter. Ошибка с отскакиванием объекта
Привет. Начал изучать python и появилось желание написать игру, пишу по гайду, но с небольшими...

Начало проекта "Игра пинг понг"
Помогите сделать игру пинг понг, я видел там где-то и стало интересно.Объясните хотя бы принцип...

Пинг-понг
ребята Help please1 Надо сделать пинг-понг, вроде все более-менее вот тока отбивание от реек чере...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.