emx2000 » 28 май 2005, 11:32
ну что есть кто-нибудь кто сможет это сделать? пишите на почту
заплачу 700 р. срок поджемает.Есть алгоритм. Сам написать не могу т.к. с дельфи совсем не работал. Могу алготитмом помочь:
Программа «Шары» - игра, в которой стоит задача переместить шары из одного конца поля в другой. Шары одного типа справа – влево и наоборот. Шары можно перемещать в одном направлении левые – вправо, а правые – влево, если встречается препятствие в виде шара, то можно перепрыгнуть через него, если за ним пустая ячейка и не конец поля.. Игра считается завершенной, когда игрок не имеет возможности передвигать шары. Игрок победил, когда все шары соответственно перемещены.
Алгоритм этой игры заключается в следующем. Попробуем сформулировать начальные данные для алгоритма. У нас имеется 7 ячеек, два типа шарика и позиция выделенной ячейки. Теперь алгоритм:
1. Выделим память - строку Line на 7 символов (7 байт) – это поле.
2. Выделим 1 байт Change – номер выделенной ячейки.
3. Файл с полем и шарами.
Теперь все, что нам нужно, это форматировать строку Line данными 0 - пустая ячейка, 1 – шар типа «один» или 2 – шар типа «два» и вокруг номера Change рисовать квадрат - выделение. И перерисовывать Line и Change при любом изменение.
Изменения может быть трех видов:
1. Нажата клавиша «Enter» или щелчок левой клавиши мыши - если попало на шар, то перемещает шар в «своем
направлении», если это возможно.
2. Влево – уменьшает Change, тем самым перемещает выделение влево.
3. Вправо – увеличивает Change, тем самым перемещает выделение вправо.
Т.е. В начале наша строка Line и выделение Change будет такой: «1110222» «0», если мы нажмем два раза «вправо», то Change будет равен «2», и при последующем нажатии “Enter” в строке преставится элемент из третей позиции на четвертую, и строка Line будет выглядеть так: “1101222”. При отрисовки шаров, относительно этой строки, шар из третей позиции нарисуется в четвертой. Т.е нашей задачей становится изменять строку Line и выделение Change и при любом изменение перерисовывать окно.
P.S. Не учел только условие № 4 (см. преыдущее сообщение).
ну что есть кто-нибудь кто сможет это сделать? пишите на почту
заплачу 700 р. срок поджемает.Есть алгоритм. Сам написать не могу т.к. с дельфи совсем не работал. Могу алготитмом помочь:
Программа «Шары» - игра, в которой стоит задача переместить шары из одного конца поля в другой. Шары одного типа справа – влево и наоборот. Шары можно перемещать в одном направлении левые – вправо, а правые – влево, если встречается препятствие в виде шара, то можно перепрыгнуть через него, если за ним пустая ячейка и не конец поля.. Игра считается завершенной, когда игрок не имеет возможности передвигать шары. Игрок победил, когда все шары соответственно перемещены.
Алгоритм этой игры заключается в следующем. Попробуем сформулировать начальные данные для алгоритма. У нас имеется 7 ячеек, два типа шарика и позиция выделенной ячейки. Теперь алгоритм:
1. Выделим память - строку Line на 7 символов (7 байт) – это поле.
2. Выделим 1 байт Change – номер выделенной ячейки.
3. Файл с полем и шарами.
Теперь все, что нам нужно, это форматировать строку Line данными 0 - пустая ячейка, 1 – шар типа «один» или 2 – шар типа «два» и вокруг номера Change рисовать квадрат - выделение. И перерисовывать Line и Change при любом изменение.
Изменения может быть трех видов:
1. Нажата клавиша «Enter» или щелчок левой клавиши мыши - если попало на шар, то перемещает шар в «своем
направлении», если это возможно.
2. Влево – уменьшает Change, тем самым перемещает выделение влево.
3. Вправо – увеличивает Change, тем самым перемещает выделение вправо.
Т.е. В начале наша строка Line и выделение Change будет такой: «1110222» «0», если мы нажмем два раза «вправо», то Change будет равен «2», и при последующем нажатии “Enter” в строке преставится элемент из третей позиции на четвертую, и строка Line будет выглядеть так: “1101222”. При отрисовки шаров, относительно этой строки, шар из третей позиции нарисуется в четвертой. Т.е нашей задачей становится изменять строку Line и выделение Change и при любом изменение перерисовывать окно.
P.S. Не учел только условие № 4 (см. преыдущее сообщение).