Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-66243
Mis
2002-01-02 13:41
2002.01.21
Как сделать паузу.


1-66246
Milz
2002-01-03 17:00
2002.01.21
Нейросети


1-66296
kay
2002-01-04 22:11
2002.01.21
память


1-66309
Blackweber
2001-12-27 21:36
2002.01.21
Картишки


3-66188
Sergiom
2001-12-14 08:21
2002.01.21
Не могу сделать refresh data.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский