Автор Тема: Прoблем Java  (Прочетена 1043 пъти)

deyan4

  • Напреднали
  • *****
  • Публикации: 65
  • Distribution: Ubuntu 16.04 Xenial
  • Window Manager: Gnome
    • Профил
Прoблем Java
« -: Dec 30, 2009, 02:01 »
Здравейте, правя една курсова и съм леко закъсал от към идеи. Имам матрица с елементи (играта е роботите в GNOME). Стигнах до програмирането на движението на роботите, които при всяко движение на играча трябва да се приближават към него. При сблъсъка на роботи се получава стена. Проблемът е в това, че ако два робота, които се намират в две съседни килийки, се движат в една и съща посока не би трябвало да има сблъсък. Логиката е, че роботът, който се намира по-близо, от страната на играча, трябва пръв да се движи. Това не знам как да постигна. Някой, ако има идея как би могло да стане. Имам нужда само от побутване, идея...

« Последна редакция: Dec 30, 2009, 12:44 от deyan4 »
Активен

"...and there's silence that speaks so much louder than words, of promises broken..."

shoshon

  • Гост
Re: Прoблем Java
« Отговор #1 -: Dec 30, 2009, 13:45 »
Ами много просто. Всеки път обработваш векторите на матрицата според движението.

Ако човека се движи наляво първо местиш най-левите с обхождане по редове.
Ако човека се движи надолу първо местиш наи-долните с обхождане по колини.
За останалите аналогично.

Ако две роботчета отидат на едно и също квадратче - стена. Как става това? За да няма объркване може да направиш на квадратчетата един dirty флаг - т.е тук вече е "дошло" нещо. Ако роботчето отиде някъде и флагът е dirty - стена.

Много лесна задача. При кого учите?
Активен

deyan4

  • Напреднали
  • *****
  • Публикации: 65
  • Distribution: Ubuntu 16.04 Xenial
  • Window Manager: Gnome
    • Профил
Re: Прoблем Java
« Отговор #2 -: Dec 30, 2009, 14:10 »
Не уча в България. Това за стената е решено, имам клас "стена". Искаш да кажеш, че външните се движат първи? Ами ако има робот между актуалния и играча, а се движат в същата посока, не би трябвало да има сблъсък. Не трябва ли вътрешния да движа първи...?
Активен

"...and there's silence that speaks so much louder than words, of promises broken..."

shoshon

  • Гост
Re: Прoблем Java
« Отговор #3 -: Dec 30, 2009, 14:33 »
Дяволски си прав. Още ми се спи. Sorry.

Сега като се замисля така ти трябват само 2 метода :)

имаш движение по хоризонтала:

играча ти се намира на колона x
    преобразуваш матрицата от колона x до N като започваш от x към N
    преобразуваш матрицата от колона x-1 до 0 като започваш от x-1 към 0

имаш движение по вертикала

играча ти се намира на ред y
    преобразуваш матрицата от ред х до N като започваш от ред x към N
    преобразуваш матрицата от ред x-1 до 0 като започваш от ред x-1 до N

дано сега е по добре  :-[

Поне сега като си мисля винаги активното роботче ще е по-близо до играча :)
« Последна редакция: Dec 30, 2009, 14:36 от shoshon »
Активен

deyan4

  • Напреднали
  • *****
  • Публикации: 65
  • Distribution: Ubuntu 16.04 Xenial
  • Window Manager: Gnome
    • Профил
Re: Прoблем Java
« Отговор #4 -: Dec 30, 2009, 14:35 »
Идеята ми трябваше, изпълнението е лесно... Ужасно ти благодаря! Лек ден!
Активен

"...and there's silence that speaks so much louder than words, of promises broken..."

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Стартиране на Java приложение !
Общ форум
Diabolic_Soul 4 7900 Последна публикация Feb 22, 2005, 00:22
от JOKe
Java IDE?
Идеи и мнения
toxigen 9 9211 Последна публикация Apr 06, 2005, 23:00
от Ivozen
Java/C++
Търсене
bronicman 2 4543 Последна публикация Dec 04, 2005, 19:57
от bronicman
C/C++/Java програмист
Търсене
MNachev 0 2483 Последна публикация Feb 15, 2006, 10:00
от MNachev
Java
Настройка на програми
ph5 18 4146 Последна публикация Oct 08, 2006, 11:26
от ph5