Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Арканоид (наверное, все-таки задача...) Добавлено: 27.11.05 18:20  

Автор вопроса:  Tamplier | ICQ: 298742928 
В самом начале моего пути как программиста (страшно подумать, это было ЦЕЛЫЙ ГОД НАЗАД!) Я увлекся идеей создания арканоида. Почему-то я думал , что проблем особых не возникнет... Не тут кобыла!.. В общем, я пока оставил эту идею, на данный момент без активного моего участия. Но идея осталась жива. До самой, на мой взгляд сложной, части я доходил (читай: делал) пол года. Это непосредственно поведение шарика в разных ситуациях... Недавно я подумал о создании этой формулы ч/з стандартную формулу круга (y^2+x^2=r^2), но у меня че-то как-то не выходит... Кто может подсказать возможные решения этой задачи? И вообще, кто этим занимался, что, как и до чего дошел?
Вот мои результаты (непосредственно условие):

    If (imMoon.Top + 4 <= picBlock.Top + picBlock.Height And imMoon.Top + imMoon.Height - 4 >= picBlock.Top) And _
    ((picBlock.Left + picBlock.Width - 4) - imMoon.Left >= 0 And _
    picBlock.Left + 4 - (imMoon.Left + imMoon.Width) <= 0) And _
    (Abs((picBlock.Left + picBlock.Width - 4) - imMoon.Left) <= Abs(mx) And mx < 0 Or _
    Abs(picBlock.Left + 4 - (imMoon.Left + imMoon.Width)) <= Abs(mx) And mx > 0) Then ... 'mx - move x

не стал писать по другой координате, т.к. условия почти идентичны. И вообще, это только самый сложный кусок, а не все условие. Оно у меня на четыре части поделено по разным координатам столкновение с формой и с объектом.

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 28.11.05 00:08
В чём суть вопроса?

Ответить

Номер ответа: 2
Автор ответа:
 AndreyIl



ICQ: 260668334 

Вопросов: 1
Ответов: 13
 Профиль | | #2 Добавлено: 28.11.05 15:39
Вообще-то можно попробовать через 1 формулу. Меняется направление движения шара в 4 секторах круга.
Т.к. объекты, с которыми сталкивается шар, прямоугольные, а их стороны пересекаются по прямым углом, то направление движения шара от данной точки можно задать 2 пересекающимися прямыми, а формулу задать одну для всех 4 секторов.

Ответить

Номер ответа: 3
Автор ответа:
 Tamplier



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #3 Добавлено: 28.11.05 18:01
Вообще-то можно попробовать через 1 формулу. Меняется направление движения шара в 4 секторах круга.
Т.к. объекты, с которыми сталкивается шар, прямоугольные, а их стороны пересекаются по прямым углом, то направление движения шара от данной точки можно задать 2 пересекающимися прямыми, а формулу задать одну для всех 4 секторов.

это-то у меня как раз и вышло, а...
В чём суть вопроса?

в том:
Недавно я подумал о создании этой формулы ч/з стандартную формулу круга (y^2+x^2=r^2), но у меня че-то как-то не выходит... Кто может подсказать возможные решения этой задачи? И вообще, кто этим занимался, что, как и до чего дошел?

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 28.11.05 18:17
хммм.... наверное, это все-таки задача... ;)

Ответить

Номер ответа: 5
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #5 Добавлено: 28.11.05 18:39
хммм.... наверное, это все-таки задача... ;)


 постер ;)

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 28.11.05 22:26
см. готовые алгоритмы обработки удара шара об поверхность/объект... ты не первый и непоследний кто занялся этим вопросом. Есть хороший сайт algolist.manual.ru там куча подобных реализов, да и подобных сайтов немало... Но мне кажеться хороший арканоид будет действительно сложно написать, т.к. "левых" и так полно, а хороший, как понимаю я... это учёт физики на все 99%, угол удара, материал удара, вес шара итп...

Ответить

Номер ответа: 7
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #7 Добавлено: 29.11.05 12:38
Но, я думаю, юзер, который будет играть, не станет думать, какой ему шар – 15г и деревянная поверхность или 70г и железо. =)

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 29.11.05 23:27
почему же... я играл в какой-то арканоид, в котором было несколько шаров разных масс, они подскакивали по разному итп... И при ударе этого шара об разные "фигни" разная реакция даже одного и того же шара, т.е. зависит от поверхности об которую ударились...

Ответить

Номер ответа: 9
Автор ответа:
 Tamplier



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #9 Добавлено: 30.11.05 20:17
я играл в какой-то арканоид

не можешь вспомнить какой именно?
учёт физики на все 99%, угол удара

... Ну... Я пытался... В общем, пока даже препод по физике из МГТУ им. Н. Э. Баумана не смог найти решение задачи, если траектория шара не точно в угол, а рядом, а натыкается шар все-таки на угол раньше...
при ударе этого шара об разные "фигни" разная реакция даже одного и того же шара, т.е. зависит от поверхности об которую ударились... / шар – 15г и деревянная поверхность или 70г и железо

ну это как раз не сложно.
Самый уважаемый мной арканоид, который я когда-либо встречал - это Ricoshet, правда, я его найти сейчас не могу.
Сенька 2HACKER за ссылку

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 30.11.05 23:11
Не, непомню, давно было это... Короче чем лучше физику учтёшь тем круче будет, это понятно... Хотя я нелюблю игрушки писать, и не понимаю других кто их пиште (исключение онлайн и 3D игры...), а всякие арканоиды, тамагочи, и карты - бээ... муть :) Программировать от такой практики лучше не станеш, а вот мозги себе надо не слабо по... е... :)

Ответить

Номер ответа: 11
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #11 Добавлено: 01.12.05 17:04
Так мозги-то развивать – разве не полезно? xD

Ответить

Номер ответа: 12
Автор ответа:
 Tamplier



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #12 Добавлено: 02.12.05 17:25
Так мозги-то развивать – разве не полезно? xD

Согласен. А с формулами у меня все супер. Задачу решили, осталось дело за малым. Найти дизайнера и кучу свободного времени :)
З.Ы. на algolist.manual.ru нету нифига.
З.З.Ы. Еще клевый арканоид Ball Attack, тока за него платить надобно... Неохота... Это к слову о русских программистах, которые не платят за софт :)

Ответить

Номер ответа: 13
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #13 Добавлено: 02.12.05 18:36
Это к слову о русских программистах, которые не платят за софт :)
Тогда бы вместо "неохота" написал бы сразу link к crack'у ;)))

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 02.12.05 18:54
Noviks, 5 балов! :)

Tamplier, не всё... Движёк кто писать будет? Там же надо умное построение поля для игры, растановки всяких фигур итп... А редактор карт итп.. у.... короче это ОЧЕНЬ долго, а главное нудно

Ответить

Номер ответа: 15
Автор ответа:
 Tamplier



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #15 Добавлено: 05.12.05 16:07
короче это ОЧЕНЬ долго, а главное нудно

а так всегда, когда занимаешься соколько-нить нормальными проектами. Вот, допустим, я сейчас работаю над тестовой программой. Ну там, кроме того, что можно проводить тест, можно его еще и создавать. Ну вот. Там ВСЕ БОЛЕЕ ЧЕМ НУДНО. Очень моного похожих процедур, которые так просто не скопируешь. Надо отдельно каждую обрабатывать.

Тогда бы вместо "неохота" написал бы сразу link к crack'у ;)))

Тока искать собирался :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам