Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Игра шашки


Автор: zozo1987 21.4.2007, 16:59
Привет, я  только начал заниматься программированием и поэтому у меня возникает много трудностей. Если не трудно помогите. Я пишу игру шашки и вот в чем проблема. У меня изображения шашек в файле, и я не могу сообразить. как продумать алгоритм передвигания шашки на другую клетку. Не знаю, как это реализовать: как сделать,чтоб изображение пешки появилось в определенном месте канвы; как сделать, чтоб оно появилось в другом месте, а в предыдущем месте пропала(пшка сделала ход). Хотелось бы, чтоб вы подсказали  какими функциями в Билдере это можно было сделать или может у кого-то есть какой-то код, чтоб я поразбирался. Заранее спасибо

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

Автор: fish9370 22.4.2007, 23:10
загружаешь одинаковые по размеру картинки  в 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 этот параметр обеспечивает рисование клеток так как они должны быть (черная, белая, черная..)
дальше дело за тобой..

Автор: zozo1987 23.4.2007, 15:08
большое спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)