Форум: "Основная";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
ВнизКартишки Найти похожие ветки
← →
skaminski (2001-12-28 01:08) [2](**************
Привожу свой юнит (когда-то тоже хотел карточную игру написать, а потом забросил:).
Юнит рабочий. Пользовать так. Есть тип TCard, описывающий Suit - масть и Value - значение карты. Для всего есть констаны,
напр. Suit = SuSpades, Value=Ace - это туз пик. Отдельный разговор это константа EmptyCard - это картинка
рубашки (я забил только один рисунок, сорри).
И есть процедура, которая грузит в ТБитмэп нужную картинку для заданной карты. Все очень просто.
Но есть одно НО! Cards.dll - это 16-битная библиотека, поэтому, я, чтобы не мучаться с вызовами 16-битных ресурсов
(тогда я не знал, что это возможно в принципе) повыдергивал картинки из Cards.dll и записал его в RES-файл.
Размер примерно 140 КБайт. Если идея подходит в принципе, то напише мне, и я сброшу по e-mail.
Мой адрес skaminski@yandex.ru
**************)
/// А вот и юнит
unit Cards;
interface
Uses Windows, SysUtils;
Type
TSuit = Integer;
TValue = Integer;
TCard = packed record
Value: TValue;
Suit: TSuit;
end;
Const
suClubs: TSuit = 0;
suDiamonds: TSuit = 13;
suHearts: TSuit = 26;
suSpades: TSuit = 39;
vaAce: TValue = 1;
va2: TValue = 2;
va3: TValue = 3;
va4: TValue = 4;
va5: TValue = 5;
va6: TValue = 6;
va7: TValue = 7;
va8: TValue = 8;
va9: TValue = 9;
va10: TValue = 10;
vaJack: TValue = 11;
vaQueen: TValue = 12;
vaKing: TValue = 13;
vaBack: TValue = 53;
EmptyCard : TCard = (Value : -1; Suit: -1);
Function GetCardId (Card: TCard): Integer;
procedure LoadCardBitmap (Card: TCard; Bitmap: Graphics.TBitmap);
implementation
uses Dialogs;
{$R CARDS.RES} // А вот тут ошибочка, ресурса еще у тебя нет
Function GetCardId (Card: TCard): Integer;
begin
if Card.Value = vaBack then
Result := Card.Value
else
Result := Card.Value + Card.Suit;
end;
procedure LoadCardBitmap (Card: TCard; Bitmap: Graphics.TBitmap);
var id: integer;
begin
id := GetCardId(Card);
Bitmap.LoadFromResourceID (hInstance, id)
end;
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c