/// <summary> /// 同じ図柄かを返す /// </summary> private bool SymbolEquals( Symbol left, Symbol center, Symbol right) { return left.Type.Equals(center.Type) & left.Type.Equals(right.Type); }
/// <summary> /// 図柄がそろった場合のコイン数を返す /// </summary> private int SymbolPrize(Symbol symbol) { int result = 0; switch(symbol.Type) { case Symbol.SymbolType.RedSeven: result = 600; // 赤7 がそろった場合 break; case Symbol.SymbolType.BlueSeven: result = 300; // 青7 がそろった場合 break; case Symbol.SymbolType.Bar: result = 150; // BAR がそろった場合 break; case Symbol.SymbolType.Watermelon: result = 18; // Watermelonがそろった場合 break; case Symbol.SymbolType.Bell: result = 15; // Bellがそろった場合 break; case Symbol.SymbolType.Orange: result = 12; // Orangeがそろった場合 break; case Symbol.SymbolType.Cherry: result = 6; // Cherryがそろった場合 break; case Symbol.SymbolType.Reply: result = 0; // Replyがそろった場合 break; } return result; }
/// <summary> /// 各ラインに表示されている図柄を更新 /// </summary> private void UpdateLine() { // 中央ラインの範囲を設定 var minCenterLinePos = -Symbols.Height/2; var maxCenterLinePos = Symbols.Height/2; // 下ラインの範囲を設定 var maxDownLinePos = minCenterLinePos; var minDownLinePos = maxDownLinePos - Symbols.Height; // 上ラインの範囲を設定 var minUpLinePos = maxCenterLinePos; var maxUpLinePos = minUpLinePos + Symbols.Height; // 次に表示される図柄のある範囲を設定 var minNextPos = maxUpLinePos; var maxNextPos = minNextPos + Symbols.Height; // 各ラインに入っている図柄を探して設定する foreach (var symbol in Symbols) { var y = symbol.Y; // 中央ラインの図柄を判定 if (y > minCenterLinePos && y < maxCenterLinePos) { // CenterLineの範囲内 SymbolCenterLine = symbol; } // 上ラインの図柄を判定 if (y > minUpLinePos && y < maxUpLinePos) { // UpLineの範囲内 SymbolUpperLine = symbol; } // 下ラインの図柄を判定 if (y > minDownLinePos && y < maxDownLinePos) { // DownLineの範囲内 SymbolLowerLine = symbol; } // 次に表示される図柄を判定 if (y > minNextPos && y < maxNextPos) { // 次に表示される図柄の範囲内 NextSymbol = symbol; } } }