UNPKG

koishi-plugin-card-21-game

Version:

Koishi 的 21 点(黑杰克)纸牌游戏插件。完整赌场规则。

105 lines (104 loc) 4.87 kB
import { Context, Schema } from "koishi"; export declare const inject: { required: string[]; optional: string[]; }; export declare const name = "card-21-game"; export declare const usage = "## \u4F7F\u7528\n\n1. \u542F\u52A8 `monetary` \u548C `database` \u670D\u52A1\u3002\n2. \u8BBE\u7F6E\u6307\u4EE4\u522B\u540D\u3002\n3. \u6295\u6CE8\uFF1A`blackjack.\u52A0\u5165\u6E38\u620F [\u6295\u6CE8]`\u3002\n4. \u5F00\u59CB\uFF1A\n - \u6709\u5E84\u5BB6\u6A21\u5F0F\uFF1A`blackjack.\u5F00\u59CB\u6E38\u620F`\u3002\n - \u65E0\u5E84\u5BB6\u6A21\u5F0F\uFF1A`blackjack.\u5F00\u59CB\u6E38\u620F -n`\u3002\n\n- \u7B79\u7801\u4E3A\u901A\u7528\u8D27\u5E01\uFF0C\u901A\u8FC7\u5176\u4ED6\u63D2\u4EF6\uFF08\u7B7E\u5230\u3001\u9493\u9C7C\u3001\u8D5B\u9A6C\u7B49\uFF09\u83B7\u5F97\u3002\n- \u6587\u672C\u8F6C\u56FE\u7247\uFF1A\u63A8\u8350 `imagify` \u63D2\u4EF6\uFF0C\u89C6\u89C9\u6548\u679C\u66F4\u4F73\u3002\n\n## \u89C4\u5219\n\n- \u65E0\u5E84\u5BB6\u6A21\u5F0F\uFF1A\u73A9\u5BB6\u4E4B\u95F4\u8FDB\u884C\u6E38\u620F\u3002\n- \u6709\u5E84\u5BB6\u6A21\u5F0F\uFF1A\u5E84\u5BB6\u4E0E\u73A9\u5BB6\u5BF9\u6218\uFF0C\u5E84\u5BB6\u4E3A\u673A\u5668\u4EBA\u3002\n- \u6E38\u620F\u76EE\u6807\uFF1A\u4F7F\u624B\u724C\u70B9\u6570\u5C3D\u91CF\u63A5\u8FD1 21 \u70B9\uFF0C\u4F46\u4E0D\u8D85\u8FC7 21 \u70B9\u3002\n\n## \u672F\u8BED\n\n- \u6295\u964D\uFF1A\u73A9\u5BB6\u672A\u8981\u724C\u524D\u53EF\u6295\u964D\uFF0C\u8FD4\u8FD8\u534A\u6CE8\u3002\n- \u9ED1\u6770\u514B\uFF1A\u624B\u724C\u70B9\u6570 21 \u70B9\uFF0C\u4E14\u53EA\u6709\u4E24\u5F20\u624B\u724C\u3002\u8D54\u7387\u4E3A 1.5\u3002\n- \u52A0\u500D\uFF1A\u73A9\u5BB6\u6301\u4E24\u5F20\u624B\u724C\u4E14\u70B9\u6570\u4E3A 11 \u65F6\uFF0C\u53EF\u52A0\u500D\u6295\u6CE8\uFF0C\u53EA\u80FD\u518D\u8981\u4E00\u5F20\u724C\u3002\n- \u4FDD\u9669\uFF1A\u5E84\u5BB6\u7684\u7B2C\u4E00\u5F20\u724C\u662F A \u65F6\uFF0C\u73A9\u5BB6\u53EF\u5C06\u7B79\u7801\u5206\u534A\uFF0C\u8D2D\u4E70\u4FDD\u9669\u3002\u5E84\u5BB6\u624B\u724C 21 \u70B9\u65F6\uFF0C\u83B7\u53CC\u500D\u4FDD\u9669\u91D1\u3002\n- \u5206\u724C\uFF1A\u73A9\u5BB6\u624B\u724C\u4E3A\u5BF9\u5B50\u65F6\uFF0C\u53EF\u5206\u4E24\u526F\u624B\u724C\uFF0C\u5206\u522B\u8FDB\u884C\u64CD\u4F5C\uFF0C\u82E5\u5206\u51FA\u7684\u662F A\uFF0C\u53EA\u80FD\u518D\u8981\u4E00\u5F20\u724C\u3002\n\n## QQ \u7FA4\n\n- 956758505"; export interface Config { allowZeroBetJoin: boolean; retractDelay: number; imageType: "png" | "jpeg" | "webp"; isTextToImageConversionEnabled: boolean; enableCardBetting: boolean; enableSurrender: boolean; defaultMaxLeaderboardEntries: number; dealerSpeed: number; betMaxDuration: number; buyInsuranceMaxDuration: number; surrenderMaxDuration: number; joinGameProcedureWaitTimeInSeconds: number; numberOfDecks: number; transferFeeRate: number; isEnableQQOfficialRobotMarkdownTemplate: boolean; customTemplateId: string; key: string; numberOfMessageButtonsPerRow: number; isBellaPluginPointsEnabledForCurrency: boolean; minimumRequiredCurrencyForGameEntry: number; } export declare const Config: Schema<Config>; declare module "koishi" { interface Tables { blackjack_game_record: BlackJackGameRecord; blackjack_playing_record: BlackJackPlayingRecord; blackjack_player_record: BlackJackPlayerRecord; monetary: Monetary; bella_sign_in: BellaSignIn; } } interface Monetary { uid: number; currency: string; value: number; } export interface BellaSignIn { id: string; time: string; point: number; count: number; current_point: number; working: boolean; stime: number; wpoint: number; wktimecard: number; wktimespeed: boolean; } export interface BlackJackGameRecord { id: number; channelId: string; deck: string[]; bankerHand: string[]; currentPlayerIndex: number; currentPlayerUserId: string; currentPlayerUserName: string; currentPlayerHandIndex: number; gameStatus: string; canSurrender: boolean; canBuyInsurance: boolean; isNoDealerMode: boolean; } export interface BlackJackPlayingRecord { id: number; channelId: string; userId: string; username: string; bet: number; playerHand: string[]; playerHandIndex: number; playerIndex: number; betPlayerUserId: string; betPlayerUserName: string; betType: string; betAmount: number; isBuyInsurance: boolean; insurance: number; isSurrender: boolean; isOver: boolean; win: number; betWin: number; afterDoublingTheBet: string; } export interface BlackJackPlayerRecord { id: number; userId: string; username: string; win: number; lose: number; moneyChange: number; numberOf21: number; numberOfBlackJack: number; draw: number; } export declare function apply(ctx: Context, config: Config): void; export {};