Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Linq;
- namespace DPt_Slot_RNG_Tool
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- do
- {
- Console.WriteLine("");
- Console.WriteLine("======================================");
- Console.Write("DPt Slot RNG Tool\n");
- Console.Write("Enter Daily SEED : 0x"); // 日替わりSEED入力
- if (uint.TryParse(Console.ReadLine(), System.Globalization.NumberStyles.HexNumber, null, out uint Seed))
- {
- byte[] data = { 0x00, 0x05, 0x01, 0x01, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03 };
- int iCount = 11;
- int D = 0;
- using (StreamWriter writer = new StreamWriter("test.txt"))
- {
- for (int n = 0; n < 12; n++)
- {
- for (int i = 0; i < iCount; i++)
- {
- Seed = NextSeed(Seed);
- uint Swap = (Seed >> 16) % 0xC;
- byte temp = data[D];
- data[D] = data[Swap];
- data[Swap] = temp;
- //writer.WriteLine($"[SEED = 0x{Seed:X8}, Swap = {Swap}, D = {D}] " +
- //string.Join(" ", data.Select(b => b.ToString("X2"))));
- }
- D++;
- iCount--;
- }
- }
- Console.WriteLine("\nSlot Table:");
- Console.WriteLine(string.Join(" ", data.Select(b => b.ToString("X2"))));
- Console.WriteLine("\nSlot Layout:");
- DisplayGrid(data);
- Console.WriteLine("======================================");
- Console.WriteLine("\nPress 'R' to run again or any other key to exit.\n");
- }
- }
- while (Console.ReadKey().Key == ConsoleKey.R); // 'R'キーで再実行
- }
- static uint NextSeed(uint Seed)
- {
- ulong a = 1103515245;
- ulong b = 24691;
- ulong result = (a * Seed + b) & 0xFFFFFFFF;
- return (uint)result;
- }
- static void DisplayGrid(byte[] data)
- {
- string[,] grid = new string[4, 4];
- grid[0, 0] = "N";
- grid[1, 2] = "N";
- grid[2, 3] = "N";
- grid[3, 0] = "N";
- int[,] positions = new int[,]
- {
- {0, 2}, {1, 3}, {1, 0},
- {2, 0}, {3, 3}, {0, 1},
- {1, 1}, {2, 1}, {3, 1},
- {0, 3}, {2, 2}, {3, 2},
- };
- for (int i = 0; i < 12; i++)
- {
- int row = positions[i, 0];
- int col = positions[i, 1];
- grid[row, col] = data[i].ToString("X");
- }
- for (int i = 0; i < 4; i++)
- {
- for (int j = 0; j < 4; j++)
- {
- Console.Write((grid[i, j] ?? " ").PadLeft(2) + " ");
- }
- Console.WriteLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement