/* * LottoData.h */ #ifndef _LOTTO_DATA_H_ #define _LOTTO_DATA_H_ #if _MSC_VER > 1000 #pragma once #endif #ifndef _LOTTO_CONFIG_H_ #include "LottoConfig.h" #endif // ÇÏÀÓ ·Î¶Ç º¹±Ç ¿ëÁöÀÇ ¸Þ¸ð¸® Ç¥Çö struct LottoTicket { LottoTicket() : drawNum(0), status(0), pickedNum1(0), pickedNum2(0), pickedNum3(0), pickedNum4(0) {} DWORD drawNum : 16; DWORD status : 16; DWORD pickedNum1 : 8; DWORD pickedNum2 : 8; DWORD pickedNum3 : 8; DWORD pickedNum4 : 8; }; typedef std::deque LottoTicketList; // ÇÏÀÓ ·Î¶Ç ÀÀ¸ð ³»¿ªÀÇ ¸Þ¸ð¸® Ç¥Çö struct LottoEntry { LottoEntry() : payment(0), numRemainingTickets(0), numUsedTickets(0), paymentOrg(0) {} DWORD payment; // º¹±Ç ¿ëÁö ÀÚµ¿ ¹ß±ÞÀ» À§ÇÑ ¼Òºñ ÇÏÀÓ ÃßÀû º¯¼ö WORD numRemainingTickets; // ÀÀ¸ð °¡´ÉÇÑ ³²Àº º¹±Ç ¿ëÁö °³¼ö WORD numUsedTickets; // ÇöÀç ȸÂ÷¿¡ ÀÌ¹Ì ÀÀ¸ðÇÑ ÀÀ¸ð º¹±Ç ¿ëÁö °³¼ö LottoTicketList tickets; // ÇöÀç¿Í Áö³­ ȸÂ÷¸¦ ¸ðµÎ Æ÷ÇÔÇÏ´Â ÀÀ¸ð ³»¿ª DWORD paymentOrg; // ·Îµù ½ÃÁ¡ÀÇ À¯È¿ ¼Òºñ ÇÏÀÓ ¹é¾÷ º¯¼ö #ifdef _NA_0_20100115_HEIM_LOTTO_TICKET_PURCHASE LottoTicket temp; // ¿ëÁö Á÷Á¢ ±¸¸Å½Ã »ç¿ëµÇ´Â Àӽà ÀúÀå °ø°£ #endif }; typedef stdext::hash_map LottoEntryMap; // ÇÏÀÓ ·Î¶Ç ´ç÷ °Ç struct LottoWinner { INT64 idx; CHARGUID charGuid; BYTE status; }; typedef std::vector LottoWinnerList; // ÇÏÀÓ ·Î¶Ç 1ȸºÐÀÇ ÇöȲ/°á°ú¸¦ Ç¥ÇöÇÏ´Â ±¸Á¶Ã¼ struct LottoResult { int drawNum; // ȸÂ÷ INT64 totalAccum; // ÃÑ Àû¸³¾× int numWinners; // 1µî ´ç÷ÀÚ ¼ö (-1:ÁøÇàÁß, 0:ÀÌ¿ù) INT64 jackpot; // 1µî ´ç÷±Ý BYTE winningNum[LottoConfig::NUM_PICKS]; // ´ç÷ ¹øÈ£ void Reset() { ZeroMemory(this, sizeof(LottoResult)); numWinners = -1; // ÁøÇà ÁßÀÓÀ» Ç¥½Ã } }; #endif // _LOTTO_DATA_H_