Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Игра шашки, подскажите пожалуйста 
:(
    Опции темы
zozo1987
Дата 21.4.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Привет, я  только начал заниматься программированием и поэтому у меня возникает много трудностей. Если не трудно помогите. Я пишу игру шашки и вот в чем проблема. У меня изображения шашек в файле, и я не могу сообразить. как продумать алгоритм передвигания шашки на другую клетку. Не знаю, как это реализовать: как сделать,чтоб изображение пешки появилось в определенном месте канвы; как сделать, чтоб оно появилось в другом месте, а в предыдущем месте пропала(пшка сделала ход). Хотелось бы, чтоб вы подсказали  какими функциями в Билдере это можно было сделать или может у кого-то есть какой-то код, чтоб я поразбирался. Заранее спасибо
PM MAIL   Вверх
Dem_max
Дата 21.4.2007, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Шашку надо выводить с определенными координатами. Старое место закрашиваешь белым квадратом или черным, а на новом месте рисуешь шашку. Рисуй на TImage 


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
fish9370
Дата 22.4.2007, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



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

дальше пишешь такой код:

Код

Form1->ImageList1->Draw(Form1->Image1->Canvas,10,10,0,true); // 10,10 это координаты, 0 это индекс нужной картинки.. 
                                              //остальные параметры пока не трожь

потом с помощью циклов можно нарисовать поле примерно вот так:

Код

for(int j=0;j<8;j++)
    for( int i=0;i<8;i++)
        Form1->ImageList1->Draw(Form1->Image1->Canvas,i*34,j*34,(j+i)%2,true); // 34 это ширина клетки 


(j+i)%2 этот параметр обеспечивает рисование клеток так как они должны быть (черная, белая, черная..)
дальше дело за тобой..

Это сообщение отредактировал(а) fish9370 - 22.4.2007, 23:11


--------------------
undefined
PM MAIL WWW ICQ   Вверх
zozo1987
Дата 23.4.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



большое спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.