• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите с игрой Pacman на Turbo C++... я в отчаянии=(

  • Автор темы Guest
  • Дата начала
G

Guest

сейчас пишу игру Pacman.... дали такое задание в колледже
написал безумный код на монетки, которые он поедает, вышло на 1500 строк... использовал оператор If и For... и монетки в 3-х верхних рядах не жрет...
кто нибудь может помочь укоротить все это???
знаю, что нужно поле, на котором это все находится, запихнуть в массив, в адресах которого будут эти монетки и через...
вот примерно как выглядит массив
TShape*mas[500][600];
for(int i=0;i<500*600;i++) mas[0]=new TShape(Owner);

показывает ошибку на функцию класса (Stack OverFlow)...
я в отчаянии, ко вторнику нужно сделать, вожусь около недели...
помогите мне с этим пожалуйста!!

P.S. делаю в Turbo C++, в визуальном редакторе, монетки имеют тип TShape....

Вот как выглядит моя игра сейчас:


помогите, я в отчаянии((
 
X

Xakep

Делай для объектов метки, например в классе TShape создай новую переменную id ну и проверяй на столкновения подобным образом:
Код:
for (i = 0; i < 500; i++) {
if (Shape[i]->id == "money") {
проверка на столкновения
}
}
 
E

Emme

я сделал помню все монетки в стиле a(1) a(2) a(3) и потом через цикл через for сделал оптимизацию,чтобы 400 строк не писать.
У каждой монетки есть координата х и у (a_x(1) a_y(1))
Тогда все просто делается.

Например:
Код:
for s=1 to 100

if a_x(s)> my_x-10 AND a_x(s)<my_x+10 AND a_y(s)> my_x-10 Or a_y(s)<my_y+10THEN a(s)=0:a_x(s)=0:a_y(s)=0:

next s
 
Z

Zato

я сделал помню все монетки в стиле a(1) a(2) a(3) и потом через цикл через for сделал оптимизацию,чтобы 400 строк не писать.
У каждой монетки есть координата х и у (a_x(1) a_y(1))
Тогда все просто делается.

Например:

for s=1 to 100

if a_x(s)> my_x-10 AND a_x(s)<my_x+10 AND a_y(s)> my_x-10 Or a_y(s)<my_y+10THEN a(s)=0:a_x(s)=0:a_y(s)=0:

next s

А многомерный массив не упростил бы работу?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!