|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
Морской бой на C# с использованием библиотек DirectX: нужны исходники19.10.2012, 22:55. Показов 5541. Ответов 17
Метки нет (Все метки)
Доброго времени суток
![]() Задали написать вот такой вот курсач В программировании я не особо разбираюсь, а уж тем более в Direct`e, поэтому хотелось бы получить какието исходники подобных программ, если ктото таким занимался и не сложно скинуть. Заранее благодарен.
0
|
|
| 19.10.2012, 22:55 | |
|
Ответы с готовыми решениями:
17
Морской бой - нужны идеи реализации Написать консольный морской бой с использованием ООП
|
|
2 / 2 / 0
Регистрация: 09.10.2012
Сообщений: 16
|
|
| 20.10.2012, 14:39 | |
|
Тебе еще может лично приехать и объяснить что и как работает? Некоторые студенты меня прямо удивляют.
1. Гугл никто не отменял, там много всего есть по теме 2. Почему именно DirectX? На нем разработка значительно сложнее, кроме того, DirectX для C# не нативная технология 3. Если есть выбор технологий, я порекомендовал бы тебе взять GDI+ или, еще лучше WPF 4. И если совсем уж лениво думать, обратись к кому-нибудь за деньги получишь готовую программу
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 20.10.2012, 14:41 [ТС] | |
|
Рылся в гугле, исходников того что мне надо нету, а DirectX стоит в постановке задания.
0
|
|
|
2 / 2 / 0
Регистрация: 09.10.2012
Сообщений: 16
|
|
| 20.10.2012, 14:50 | |
|
Каков твой уровень знаний в программировании? Если совсем нулевой, то самостоятельно не справишься, задачку не назвать совсем тривиальной. Если хотя бы более-менее разбираешься, то за недельку сделать запросто сможешь, проблем никаких.
Добавлено через 1 минуту Для толкового разработчика несколько часов работы.
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 20.10.2012, 17:15 [ТС] | |
|
У меня не работает логика разработки алгоритмов и т.д. Набирать код понимаю что нужно сделать и как это не проблема, а вот у меня это не получается. Поэтому и обратился сюда, надеясь что у когото есть исходники или чтото в этом роде.
0
|
|
|
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
|
|
| 20.10.2012, 18:23 | |
|
BoneOne, Скидывай наработки, может и сделаешь с мира по нитке.
0
|
|
|
2 / 2 / 0
Регистрация: 09.10.2012
Сообщений: 16
|
|
| 21.10.2012, 03:49 | |
|
Мне кажется полностью готового решения найти тебе не удастся. Если есть конкретные вопросы или проблемы, то спрашивай - поможем.
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 21.10.2012, 11:21 [ТС] | |
|
Допустим есть алгоритм самой игры (расстановка кораблей, выстрелы и т.д.), но на форме. Мне интересно как это всё перенести на ДиректХ, чтобы выстрелы шли по картинкам кораблей например, а не по ячейкам стандартного Grid`a, и как сделать чтобы рисовалось нужное кол-во кораблей, т.е. 1 4-хпалубная, 2 3-х палубные и т.д.?
0
|
|
|
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
|
|
| 21.10.2012, 11:48 | |
|
Я под DirectX понятия не имею, как программировать, но работал с XNA.
Я сделал бы так: составил бы табличку (10*10) к примеру. И расставлял бы там кораблики. Для простоты можно было бы так: 0 0 1 0 0 0 0 0 0 0 4 4 4 4 0 0 0 0 0 0 2 2 0 2 2 Типа такого, находишь цифру, смотришь куда направлено - вставляешь текстуру кораблика. Можно все кораблики единичками, но по моему разницы нету, а так понимать проще. Единственна небольшая проблема - правило, что корабли не должны соприкасаться, но при наставлении (пользователем) проверяешь координаты (в какую ячейку он его хочет загнать) и смотришь окружающие..также надо крутить его на 90 градусов. А рисование снаряда\пули - берется начальная координата и конечная, а дальше банальная математика, раскладываешь движение по осям oX и oY и двигаешь, если к примеру начальные (0,0) а конечные (10, 50), двигаешь 10 раз по оси oX на 1 и одновременно по оси oY на 5. А чтобы снаряд красиво вылетал из середины корабля - ставь спрайт со взрывом или шейдр..но с шейдерами провозишься сначала, но будет очень красиво)
0
|
|
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||||||||||
| 21.10.2012, 12:07 | |||||||||||
|
Вот~, я здесь нарисовал некоторую заготовку для примера:
Пример использования DirectDraw
1. Создать новый проект типа Windows Forms Application.
2. Удалить Form1.cs. 3. Добавить следующие ссылки: Microsoft.DirectX и Microsoft.DirectX.DirectDraw. 4. Создать новую форму с названием GameScreen и удалить из нее дизайнер с ресурсами. 5. Program.cs изменить на:
8. В свойствах проекта изменить Platform target на x86. Под x64 работать не будет. А вообще баловаться с Managed DirectX не хорошо, лучше использовать SharpDX или XNA, так как порог вхождения довольно высокий. P.S. Я специально не выкладываю проект, так как лучше все же разобраться в том, как создаются проекты подобного рода. (: P.S.S. Данный пример точно будет работать под XP и 7.
1
|
|||||||||||
|
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
|
|||||||||||
| 21.10.2012, 18:42 | |||||||||||
|
Нашел все-таки старые проекты на XNA, вот реализация пульки 2D игры
Пишу только метод, который производил расчет будущего движения
Фактически это [float, float] к которым обращаются, как к X и Y.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 21.10.2012, 19:20 [ТС] | |
|
Ну по идее мне не надо прорисоывать движение пули и саму пулю, надо просто чтобы были прорисованы корабли и тыкать по ним, и при попадении/непопадении по кораблю прорисовывать например картинку взрыва/картинку промаха.
0
|
|
|
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
|
|
| 21.10.2012, 20:24 | |
|
хм...тогда точно так же, как и рисование корабля - на его месте отрисовываешь спрайт взрыва..почитай про спрайтовую анимацию и все поймешь
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 21.10.2012, 22:01 [ТС] | |
|
А определять корабли по рисунку как? местоположение их точнее...координат как я понимаю нету, это же не grid
Добавлено через 54 минуты Погуглил, почитал, пришёл к выводу что Директ и Шарп не особо дружат друг с другом, а темболее на х64 ОС: библиотеки Директа не подключаются и т.д.
0
|
|
|
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
|
|
| 21.10.2012, 22:22 | |
|
Да тебе пофигу на чем делать, в принципе вся логика игры одинакова. Привязать матрицу к координатам попробуй. Попросту создай 2-х мерный массив ( твой Grid) и домножай номер столбца\строки на n-кол-во пикселов. там и рисуй - вот тебе и гриП
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 21.10.2012, 22:40 [ТС] | |
|
Так в том то и дело, что стоит задание написать с использывание Директа и никак иначе. Если б можно было хоть как писать, главное чтобы игра получилась, то понятно что писалось бы на простой форме использую стандартный Grid и возможно какието картинки, хз.
Почемуто мне кажется что завтра поговорю с преподом и сменю тему, ато менять ОС на х86 не охота xD
0
|
|
|
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
|
|
| 22.10.2012, 13:23 | |
|
BoneOne, Ты меня совершенно не понял. Почитай, хоть, как цикл игры сформировать..сделай начала в WinForms...только по "правилам" аппаратно-ускоряемые библиотек. Тогда потом портировать на DirectX не составит труда.
0
|
|
|
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 8
|
|
| 22.10.2012, 13:38 [ТС] | |
Вобщем поменял я тему курсача, спасибо всем за ответы
0
|
|
| 22.10.2012, 13:38 | |
|
Помогаю со студенческими работами здесь
18
Игра "Морской бой" для Android в С#, с использованием Uniti 2d или 3d Морской бой Морской бой Морской бой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|