rp_10012/assets/Game/scripts/game/Define.ts
2025-08-26 15:48:20 +08:00

375 lines
9.2 KiB
TypeScript

import { ExtrapolationMode } from "cc";
export let GAME_STATE = {
IDLE: 0,
ROTATE: 1,
WINNING: 2,
FREE_SPIN: 3,
}
export let ROWS = [3, 4, 3];
export let COL = 4;
export let ICON_WIDTH = 165;
export let ICON_HEIGHT = 145;
export let ICON_MAP = {
0: "WILD",
1: "SCATTER",
2: "黄色云朵",
3: "紫色星球",
4: "红色星球",
5: "蓝色火山",
6: "紫色水母",
7: "绿色章鱼",
8: "A",
9: "K",
10: "Q",
11: "J",
12: "10",
}
// 图标赔率
export let ICON_RATE = {
0: [0, 0, 0, 0], // Wild
1: [0, 0, 0, 0], // Scatter
2: [80, 60, 40, 30], // 黄色云朵
3: [70, 50, 25, 20], // 紫色星球
4: [60, 40, 25, 10], // 红色星球
5: [30, 20, 15, 8], // 蓝色火山
6: [15, 12, 10, 6], // 紫色水母
7: [15, 12, 10, 6], // 绿色章鱼
8: [10, 8, 6, 4], // A
9: [10, 8, 6, 4], // K
10: [4, 3, 2, 1], // Q
11: [4, 3, 2, 1], // J
12: [4, 3, 2, 1], // 10
}
export let ROLLER_RULE = [
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
]
export let FREE_SPIN_ROLLER_RULE = [
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
]
export enum ICON_STATE {
ACTIVATE, // 激活
IDLE, // 在转盘不动的状态
ROTATE, // 旋转中
FAST, // 快速旋转
WIN, // 图标中奖
HIDE, // 对象池回收
}
// 单个滚轮事件
export enum ROLLER_EVENT {
ON_R_ICON_CREATE = 'ON_R_ICON_CREATE', // 当滚轮上随机Icon创建的时候回调
ROLLER_UNIFORM = "ROLLER_UNIFORM", // 滚轮开始匀速
ROLLER_DECELERATE = "ROLLER_DECELERATE", // 滚轮开始减速
LAST_PAGE_CREATE = 'LAST_PAGE_CREATE', // 最后一页创建
ROLLER_BOUNCE = 'ROLLER_BOUNCE', // 滚轮开始回弹
ROLLER_STOP = 'ROLLER_STOP', // 滚轮停止
// 消除相关
ICON_DELETED = 'ICON_DELETED', // 图标删除
ICON_CREATE = 'ICON_CREATE', // 图标创建
ICON_FALLEN = 'ICON_FALLEN', // 图标落下
}
// 滚轮组合事件
export enum ROLLER_COMBINE_EVENT {
ONE_ROLLER_STOP = 'ONE_ROLLER_STOP', // 一个滚轮停止的事件
ALL_ROLLER_STOP = 'ALL_ROLLER_STOP', // 所有滚轮停止的事件
ROLLER_BOUNCE = 'ROLLER_BOUNCE', // 滚轮开始回弹
ROLLER_DECELERATE = 'ROLLER_DECELERATE', // 滚轮开始减速
// 消除相关
ALL_ROLLER_ICONS_DELETED = 'ALL_ROLLER_ICONS_DELETED', // 所有滚轮图标删除
ALL_ROLLER_ICONS_CREATED = 'ALL_ROLLER_ICONS_CREATED', // 所有滚轮图标创建
ALL_ROLLER_ICONS_FALLEN = 'ALL_ROLLER_ICONS_FALLEN', // 所有滚轮图标落下
}
export enum SLOT_BAR_EVENT {
BET_CHANGE = 'BET_CHANGE', // 下注金额改变
ON_TEST_SPIN_CLICK = 'ON_TEST_SPIN_CLICK', // 测试旋转
ON_SPIN_CLICK = 'ON_SPIN_CLICK',
ON_MANUAL_STOP = 'ON_MANUAL_STOP',
FAST_SPIN = 'FAST_SPIN', // 快速旋转
ON_AUTO_SPIN_CLICK = 'ON_AUTO_SPIN_CLICK', // 自动旋转点击
ON_EXIT_CLICK = 'ON_EXIT_CLICK', // 退出游戏
}
export enum SYS_GIFT {
CLICK_CONTINUE = 'CLICK_CONTINUE',
SETTLE_CONTINUE = 'SETTLE_CONTINUE',
}
export enum SLOT_GAME_EVENT {
ALL_ROLLER_STOP = 'ALL_ROLLER_STOP', // 事件传递
ALL_ROLLER_ICONS_DELETED = 'ALL_ROLLER_ICONS_DELETED', // 所有滚轮图标删除
ALL_ROLLER_ICONS_CREATED = 'ALL_ROLLER_ICONS_CREATED', // 所有滚轮图标创建
ALL_ROLLER_ICONS_FALLEN = 'ALL_ROLLER_ICONS_FALLEN', // 所有滚轮图标落下
}
export enum WIN_TYPE {
NONE,
NORAML_WIN,
MIDDLE_WIN,
BIG_WIN,
MEGA_WIN,
SUPER_MEGA_WIN,
}
export interface FreeSpin {
LeftCount: number, // 剩余次数
MaxCount: number, // 总共次数
}
export interface CrossSymbol {
FrameType: number; // 框类型
PosFirst: number; // 起始位置
PosLast: number; // 结束位置
Color: number; // iconIndex
}
export interface GameInfo {
// 当前余额
Balance: number;
// 是否关闭购买
CloseBuyGame: boolean;
// 下注区间
BetGrade: number[];
// 游戏数据
Data: GameData
// 购买倍率
BuyMul: number;
// 最大购买倍数
MaxBuyBet: number
}
export interface GameData {
// 总计得分
AllScore: number;
// 当前得分
Score: number;
// 单次旋转得分
SpinScore: number;
// 盘面数据
Data: number[];
// 消除数据
Remove: number[];
// 游戏模式 0:普通模式 1:免费游戏模式
Mode: number;
// 免费游戏信息
FreeSpin: FreeSpin | null;
// 当前下注
Bet: number;
// 不规则图标信息
CrossSymbols: {
[key: string]: {
FrameType: number;
PosFirst: number;
PosLast: number;
Color: number;
}
};
// 连线数
WaysNum: number;
// 每列图标数量
SymbolNumOfReels: number[];
// 是否结束
IsEnd: boolean;
// 图标中奖信息
SymbolWinInfos: any;
// 中奖位置
WinPosition: any;
// 盘面信息
PanColor: {
Top: number[];
Bottom: number[];
};
// 盘面变化
PanChanges: any;
// 局信息
RoundInfo: any;
// scatter数量
ScNum: number;
// 获得游戏次数
GetGamesTimes: number;
// 盈利分数
ProfitScore: number;
// 得分列表
Scores: any;
//倍率信息
XnInfo: any;
}
export interface SpinData {
}
//
export let testData: any = {
"Balance": 51602584500, //余额
"Data": {
"Rid": "686389cd1bf37e54226ad747_1_1",
"AllScore": 0,
"Score": 0,
"SpinScore": 0,
"Data": null,
"Remove": null,
"HitLine": null,
"HitBlock": null,
"DataType": null,
"Mode": 0,
"FreeSpin": null,
"Bet": 10000,
"Balance": 99880882500,
"IsFree": false,
"WinMultiPlier": 0,
"CrossSymbols": {
"1": {
"FrameType": 0,
"PosFirst": 5,
"PosLast": 6,
"Color": 12
},
"2": {
"FrameType": 0,
"PosFirst": 8,
"PosLast": 9,
"Color": 9
},
"3": {
"FrameType": 0,
"PosFirst": 10,
"PosLast": 12,
"Color": 7
},
"4": {
"FrameType": 0,
"PosFirst": 13,
"PosLast": 14,
"Color": 7
},
"5": {
"FrameType": 0,
"PosFirst": 15,
"PosLast": 17,
"Color": 8
},
"6": {
"FrameType": 0,
"PosFirst": 21,
"PosLast": 22,
"Color": 7
}
},
"WaysNum": 6000,
"SymbolNumOfReels": [
5,
4,
3,
4,
5,
5
],
"IsEnd": true,
"SymbolWinInfos": {},
"WinPosition": null,
"PanColor": {
"Top": [
4,
2,
2,
11
],
"Bottom": [
12,
12,
9,
9,
9,
12,
12,
8,
9,
9,
7,
7,
7,
7,
7,
8,
8,
8,
3,
3,
11,
7,
7,
3,
3,
11,
6,
12,
10,
8
]
},
"PanChanges": null,
"RoundInfo": null,
"ScNum": 0,
"GetGamesTimes": 0,
"ProfitScore": -10000,
"ScoreInfos": null,
"AllBet": 10000,
"GmNum": 0,
"MultiPlierSymbolNum": 0,
"Nst": 0,
"TopTNum": null,
"AnimationCtrl": {
"Axis13EqualPlayAnim": false,
"AxisTitleInfo": [
0,
0,
0
]
},
"HistoryDetail": null,
"XnInfo": {
"Top": [
{
"StartIndex": 1,
"N": 5
},
{
"StartIndex": 2,
"N": 8
}
],
"Bottom": null,
"AddN": 6,
"NowN": 6,
"Win": "",
"WinDetail": ""
}
},
"Frb": {
"Finished": null,
"Ongoing": null
}
}