From 32f03f50c3c9e20ef7b1667e15b2a2ddc31ceaad Mon Sep 17 00:00:00 2001 From: neon443 <69979447+neon443@users.noreply.github.com> Date: Sun, 26 May 2024 19:24:17 +0100 Subject: [PATCH] Initial Commit --- .swiftpm/playgrounds/CachedManifest.plist | 47 +++++++++++ .swiftpm/playgrounds/DocumentThumbnail.plist | 19 +++++ .swiftpm/playgrounds/DocumentThumbnail.png | Bin 0 -> 73951 bytes .swiftpm/playgrounds/Workspace.plist | 13 +++ .../contents.xcworkspacedata | 7 ++ .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ .../xcschemes/xcschememanagement.plist | 14 ++++ ContentView.swift | 26 ++++++ DiceView.swift | 72 +++++++++++++++++ MyApp.swift | 76 ++++++++++++++++++ Package.swift | 47 +++++++++++ RNGView.swift | 37 +++++++++ 12 files changed, 364 insertions(+) create mode 100644 .swiftpm/playgrounds/CachedManifest.plist create mode 100644 .swiftpm/playgrounds/DocumentThumbnail.plist create mode 100644 .swiftpm/playgrounds/DocumentThumbnail.png create mode 100644 .swiftpm/playgrounds/Workspace.plist create mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 .swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 .swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 ContentView.swift create mode 100644 DiceView.swift create mode 100644 MyApp.swift create mode 100644 Package.swift create mode 100644 RNGView.swift diff --git a/.swiftpm/playgrounds/CachedManifest.plist b/.swiftpm/playgrounds/CachedManifest.plist new file mode 100644 index 0000000..596e334 --- /dev/null +++ b/.swiftpm/playgrounds/CachedManifest.plist @@ -0,0 +1,47 @@ + + + + + CachedManifest + + manifestData + + eyJkZXBlbmRlbmNpZXMiOltdLCJkaXNwbGF5TmFtZSI6IlJORyIsInBhY2th + Z2VLaW5kIjp7InJvb3QiOnt9fSwicGxhdGZvcm1zIjpbeyJvcHRpb25zIjpb + XSwicGxhdGZvcm1OYW1lIjoiaW9zIiwidmVyc2lvbiI6IjE2LjAifV0sInBy + b2R1Y3RzIjpbeyJuYW1lIjoiUk5HIiwic2V0dGluZ3MiOlt7ImRpc3BsYXlW + ZXJzaW9uIjpbIjEuMCJdfSx7ImJ1bmRsZVZlcnNpb24iOlsiMSJdfSx7ImlP + U0FwcEluZm8iOlt7ImFjY2VudENvbG9yIjp7InByZXNldENvbG9yIjp7InBy + ZXNldENvbG9yIjp7InJhd1ZhbHVlIjoiYmx1ZSJ9fX0sImFwcENhdGVnb3J5 + Ijp7InJhd1ZhbHVlIjoicHVibGljLmFwcC1jYXRlZ29yeS51dGlsaXRpZXMi + fSwiYXBwSWNvbiI6eyJwbGFjZWhvbGRlciI6eyJpY29uIjp7InJhd1ZhbHVl + IjoiY2FsY3VsYXRvciJ9fX0sImNhcGFiaWxpdGllcyI6W10sInN1cHBvcnRl + ZERldmljZUZhbWlsaWVzIjpbInBhZCIsInBob25lIl0sInN1cHBvcnRlZElu + dGVyZmFjZU9yaWVudGF0aW9ucyI6W3sicG9ydHJhaXQiOnt9fSx7ImxhbmRz + Y2FwZVJpZ2h0Ijp7fX0seyJsYW5kc2NhcGVMZWZ0Ijp7fX0seyJwb3J0cmFp + dFVwc2lkZURvd24iOnsiY29uZGl0aW9uIjp7ImRldmljZUZhbWlsaWVzIjpb + InBhZCJdfX19XX1dfV0sInRhcmdldHMiOlsiQXBwTW9kdWxlIl0sInR5cGUi + OnsiZXhlY3V0YWJsZSI6bnVsbH19XSwidGFyZ2V0TWFwIjp7IkFwcE1vZHVs + ZSI6eyJkZXBlbmRlbmNpZXMiOltdLCJleGNsdWRlIjpbXSwibmFtZSI6IkFw + cE1vZHVsZSIsInBhY2thZ2VBY2Nlc3MiOnRydWUsInBhdGgiOiIuIiwicmVz + b3VyY2VzIjpbXSwic2V0dGluZ3MiOlt7ImtpbmQiOnsiZW5hYmxlVXBjb21p + bmdGZWF0dXJlIjp7Il8wIjoiQmFyZVNsYXNoUmVnZXhMaXRlcmFscyJ9fSwi + dG9vbCI6InN3aWZ0In1dLCJ0eXBlIjoiZXhlY3V0YWJsZSJ9fSwidGFyZ2V0 + cyI6W3siZGVwZW5kZW5jaWVzIjpbXSwiZXhjbHVkZSI6W10sIm5hbWUiOiJB + cHBNb2R1bGUiLCJwYWNrYWdlQWNjZXNzIjp0cnVlLCJwYXRoIjoiLiIsInJl + c291cmNlcyI6W10sInNldHRpbmdzIjpbeyJraW5kIjp7ImVuYWJsZVVwY29t + aW5nRmVhdHVyZSI6eyJfMCI6IkJhcmVTbGFzaFJlZ2V4TGl0ZXJhbHMifX0s + InRvb2wiOiJzd2lmdCJ9XSwidHlwZSI6ImV4ZWN1dGFibGUifV0sInRvb2xz + VmVyc2lvbiI6eyJfdmVyc2lvbiI6IjUuOS4wIn19 + + manifestHash + + ZB/SWxlchPYcczKX1JhFcosGzSflW/fzQhD7DXE27Pk= + + schemaVersion + 4 + swiftPMVersionString + 5.10.0-dev + + + diff --git a/.swiftpm/playgrounds/DocumentThumbnail.plist b/.swiftpm/playgrounds/DocumentThumbnail.plist new file mode 100644 index 0000000..df1ad71 --- /dev/null +++ b/.swiftpm/playgrounds/DocumentThumbnail.plist @@ -0,0 +1,19 @@ + + + + + DocumentThumbnailConfiguration + + accentColorHash + + Fkd2iMDgBpnGz6RJejYS1+g8UyBitkslD+2JCBKO1Ug= + + appIconHash + + 0tSlknALCSBljl1W7VDr+qgrH0o+EF6bz9i8uwgcLoc= + + thumbnailIsPrerendered + + + + diff --git a/.swiftpm/playgrounds/DocumentThumbnail.png b/.swiftpm/playgrounds/DocumentThumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..72d68a3f536830b44660287916f8a688c45a49e7 GIT binary patch literal 73951 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 literal 0 HcmV?d00001 diff --git a/.swiftpm/playgrounds/Workspace.plist b/.swiftpm/playgrounds/Workspace.plist new file mode 100644 index 0000000..b871129 --- /dev/null +++ b/.swiftpm/playgrounds/Workspace.plist @@ -0,0 +1,13 @@ + + + + + AppSettings + + appIconPlaceholderGlyphName + calculator + appSettingsVersion + 1 + + + diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/.swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/.swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..7b501c8 --- /dev/null +++ b/.swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/.swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcschemes/xcschememanagement.plist b/.swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..deb4913 --- /dev/null +++ b/.swiftpm/xcode/xcuserdata/neon443.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + RNG.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/ContentView.swift b/ContentView.swift new file mode 100644 index 0000000..c27b8f3 --- /dev/null +++ b/ContentView.swift @@ -0,0 +1,26 @@ +import SwiftUI + +struct ContentView: View { + var body: some View { + VStack { + NavigationSplitView { + List { + NavigationLink { + DiceView() + .navigationTitle("Dice") + } label: { + HStack { + Text("Dice") + Spacer() + Image(systemName: "die.face.6.fill") + } + } + } + .navigationTitle("RNG") + .navigationBarTitleDisplayMode(.inline) + } detail: { + Image(systemName: "dice.fill") + } + } + } +} diff --git a/DiceView.swift b/DiceView.swift new file mode 100644 index 0000000..0015831 --- /dev/null +++ b/DiceView.swift @@ -0,0 +1,72 @@ +import SwiftUI + +struct DiceView: View { + @State var generated: [Int] = [] + @State var displayDies: [Int] = [] + @State var history: [Int] = [] + let columns = [GridItem(.adaptive(minimum: 50, maximum: 75))] + @State var dies: Double = 1 + @State var multiDieMode = "plus" + var body: some View { + VStack { + List { + Section("Number of die") { + HStack { + Text(String(Int(dies))) + Slider(value: $dies, in: 1...10, step: 1) + } + } + Section("Multi die mode") { + Picker(selection: $multiDieMode, label: Text("")) { + Image(systemName: "plus").tag("plus") + Image(systemName: "multiply").tag("multiply") + }.pickerStyle(SegmentedPickerStyle()) + } + Section("Visual") { + HStack { + Spacer() + if displayDies.isEmpty { + LazyVGrid(columns: columns, spacing: 10) { + + ForEach(0.. displayDies.count ? Int.random(in: 1...6) : displayDies[index])") + .resizable() + .scaledToFit() + .frame(width: 50, height: 50) + Image(systemName: multiDieMode) + .resizable() + .scaledToFit() + .frame(width: 25) + } + }.padding() + } else { + Text("Results are visualised here when you press the generate button") + } + Spacer() + } + } + Section("Result") { + Button("Generate") { + generated = rngN6DieArr(dies: Int(dies)) + displayDies = generated + } + Text(String(arrCombine(arr: generated, combineMode: multiDieMode))) + .bold() + .font(.largeTitle) + } + Button("Test1") { + generated = [1, 2] + multiDieMode = "plus" + } + Button("Test2") { + generated = [1, 2] + multiDieMode = "multiply" + } + } + } + } +} + +#Preview { + DiceView() +} diff --git a/MyApp.swift b/MyApp.swift new file mode 100644 index 0000000..9c6f92a --- /dev/null +++ b/MyApp.swift @@ -0,0 +1,76 @@ +import SwiftUI + +@main +struct RNGApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} + +// array combiner, adds up all ints in an array +func totalIntArr(arr: [Int]) -> Int { + var total = 0 + for num in arr { + total += num + } + return total +} + +// array combiner, adds up all doubles in an array +func totalDoubleArr(arr: [Double]) -> Double { + var total: Double = 0 + for num in arr { + total += num + } + return total +} + +// array combiner, adds or multiplies all ints in an array +func arrCombine(arr: [Int], combineMode: String) -> Int { + var output = 0 + if combineMode == "plus" { + for num in arr { + output += num + } + } else if combineMode == "multiply" { + output = 1 + for num in arr { + output *= num + } + } else { + print("invalid combineMode '\(combineMode)'. must be 'plus' or 'multiply', returning 0") + return 0 + } + return output +} + + +func rng(min: Int, max: Int, step: Int) -> Int { + let range = (max - min) / step + 1 + var rng = Int.random(in: 0.. Int { + return Int.random(in: 1...6) +} + +func rngCDie(min: Int, max: Int) -> Int { + return Int.random(in: min...max) +} + +func rngN6DieArr(dies: Int) -> [Int] { + var output: [Int] = [] + for _ in 1...dies { + output.append(rng6Die()) + } + return output +} + +func rngCDie(dies: Int, min: Int, max: Int) -> Int { + + return 0 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..a1bdaef --- /dev/null +++ b/Package.swift @@ -0,0 +1,47 @@ +// swift-tools-version: 5.9 + +// WARNING: +// This file is automatically generated. +// Do not edit it by hand because the contents will be replaced. + +import PackageDescription +import AppleProductTypes + +let package = Package( + name: "RNG", + platforms: [ + .iOS("16.0") + ], + products: [ + .iOSApplication( + name: "RNG", + targets: ["AppModule"], + bundleIdentifier: "com.neon443.RNG", + teamIdentifier: "8626DL2GW3", + displayVersion: "1.0", + bundleVersion: "1", + appIcon: .placeholder(icon: .calculator), + accentColor: .presetColor(.blue), + supportedDeviceFamilies: [ + .pad, + .phone + ], + supportedInterfaceOrientations: [ + .portrait, + .landscapeRight, + .landscapeLeft, + .portraitUpsideDown(.when(deviceFamilies: [.pad])) + ], + appCategory: .utilities + ) + ], + targets: [ + .executableTarget( + name: "AppModule", + path: ".", + swiftSettings: [ + .enableUpcomingFeature("BareSlashRegexLiterals") + ] + ) + ] +) \ No newline at end of file diff --git a/RNGView.swift b/RNGView.swift new file mode 100644 index 0000000..06def65 --- /dev/null +++ b/RNGView.swift @@ -0,0 +1,37 @@ +import SwiftUI + +struct CustomRNGView: View { + @State var rangeL: String = "" + @State var rangeH: String = "" + @State var show = false + var body: some View { + Text("Unimplemented") + Form { + HStack { + TextField("From", text: $rangeL) + .keyboardType(.numberPad) + Divider() + TextField("To", text: $rangeH) + .keyboardType(.numberPad) + } + HStack { + Text("Any number") + Divider() + HStack { + Text("From: ") + Text(rangeL) + Spacer() + } + HStack { + Text("To: ") + Text(rangeH) + Spacer() + } + } + } + } +} + +#Preview { + CustomRNGView() +}