]> git.example.dev Git - research-obsidian.git/commitdiff
finished: all the inputs
author2weiEmu <zweiemu@gmail.com>
Fri, 6 Feb 2026 20:27:54 +0000 (21:27 +0100)
committer2weiEmu <zweiemu@gmail.com>
Fri, 6 Feb 2026 20:27:54 +0000 (21:27 +0100)
.obsidian/workspace.json
List of things to do.md
Nebulous Command/__pycache__/data.cpython-314.pyc
Nebulous Command/missiles-ranges.py

index e7bf04acf260fb8aa57fbc0b105b8ff99e1594c6..ceb8a477bbbb6672ffdbc5799753db3bed13b99b 100644 (file)
@@ -13,7 +13,7 @@
             "state": {
               "type": "markdown",
               "state": {
-                "file": "List of things to do.md",
+                "file": "Nebulous Command/Notes on Mechanics.md",
                 "mode": "source",
                 "source": false,
                 "backlinks": true,
@@ -28,7 +28,7 @@
                 }
               },
               "icon": "lucide-file",
-              "title": "List of things to do"
+              "title": "Notes on Mechanics"
             }
           }
         ]
   "active": "04094233c3d02ad2",
   "lastOpenFiles": [
     "Nebulous Command/missiles-ranges.py~",
-    "Nebulous Command/missile-simulator.py~",
+    "Nebulous Command/4913",
     "Nebulous Command/data.py~",
+    "List of things to do.md",
+    "Nebulous Command/missile-simulator.py~",
     "Nebulous Command/__pycache__/data.cpython-314.pyc",
     "Nebulous Command/missiles-ranges.py",
     "Nebulous Command/calc.py~",
-    "Nebulous Command/4913",
     "Nebulous Command/data.py",
-    "List of things to do.md",
     "Nebulous Command/calc.py",
     "Nebulous Command/Notes on Mechanics.md~",
     "Nebulous Command/Notes on Mechanics.md",
     "Nebulous Command/ANS/My Fleets/ANS Dedicated/Battle Report 1.md",
     "Nebulous Command/ANS/My Fleets/ANS Dedicated/Battle Report 2.md",
     "Nebulous Command/ANS/My Fleets/ANS Dedicated/Stat Sheet.md",
-    "Nebulous Command/ANS/My Fleets/ANS Dedicated",
     "Nebulous Command/ANS/My Fleets/Fleets/Untitled.md",
     "Nebulous Command/Notes on Nebulous Command.md",
     "Some cool music perhaps?.md",
index f301f5d39127dca8b32bb593efd6e05e9edf9d40..a218cf6829630e06b795e19c5b5ca03344542284 100644 (file)
@@ -15,4 +15,6 @@ keep checking for resits
 
 (I think I signed up to everything? Functional, ACC, Linear Algebra and Concepts of Programming Languages)
 
-Pay Tom for Cinema on Sunday
\ No newline at end of file
+Pay Tom for Cinema on Sunday
+
+Washing
\ No newline at end of file
index 73c15888eee0f00ce4baff0340ae6b2c3f589bfd..f88029b1f3d87fe5321f9df938480d56f8940f5f 100644 (file)
Binary files a/Nebulous Command/__pycache__/data.cpython-314.pyc and b/Nebulous Command/__pycache__/data.cpython-314.pyc differ
index 5aa4bc89eda5a800f609cc1f9c93f22ce679d76e..5fc9ee8465405df256f26b0e808e12358c14ac47 100644 (file)
@@ -1,28 +1,68 @@
-from data import Jammer, Radar, Ship, Missile, radars
+from data import Jammer, Radar, Ship, Missile, radars, jammers, ships
 import tkinter as tk
 from tkinter import ttk
 
 RADAR_OPTIONS = [r.name for r in radars]
+JAMMER_OPTIONS = [j.name for j in jammers]
+SHIP_OPTIONS = [s.name for s in ships]
 
+radar_det_combo: ttk.Combobox
+jammer_det_combobox_1: ttk.Combobox
+jammer_det_combobox_2: ttk.Combobox
+strobe_corr_spinbox: ttk.Spinbox
+arr_spinbox: ttk.Spinbox
+sig_scrambler_spinbox: ttk.Spinbox
+radar_coating_spinbox: ttk.Spinbox
+ship_det_combobox: ttk.Combobox
+radar_mod_spinbox: ttk.Spinbox
+
+# TODO: SPRINTER GETS +20% SENSITIVITY
+
+def determine_and_graph():
+    pass
 
 def main():
     root = tk.Tk()
+    root.title("Missile and Ship Detection Range Calculator")
     # we need the ship that is _detecting_
     # what does that ship need? Radar, Illuminators,
     # Strobe Correlators, ARRs and Signature Scramblers
     label = tk.Label(root, text="The Detecting Ship")
-    label.grid(row=0, column=0)
+    label.grid(row=0, column=0, columnspan=2)
 
     # RADAR
-    radar_det_combo = ttk.Combobox(root, values=RADAR_OPTIONS, state="readonly")
-    radar_det_combo.grid(row=1, column=0)
+    label = tk.Label(root, text="RADAR:")
+    label.grid(row=1, column=0)
+    radar_det_combo = ttk.Combobox(
+        root, values=RADAR_OPTIONS, state="readonly")
+    radar_det_combo.grid(row=1, column=1)
+    radar_det_combo.set(RADAR_OPTIONS[0])
 
     # ILLUMINATORS
     # not sure how these work yet? do these boost radiated
     # power of a radar effectively, or how would that be?
     # experimentally verify
 
+    # How many Strobe Correlators?
+    label = tk.Label(root, text="STROBE CORR:")
+    label.grid(row=2, column=0)
+    strobe_corr_spinbox = ttk.Spinbox(root, from_=0, to=10)
+    strobe_corr_spinbox.grid(row=2, column=1)
+    strobe_corr_spinbox.set(0)
+
+    # How many ARRs
+    label = tk.Label(root, text="ADAPTIVE RADAR RECV:")
+    label.grid(row=3, column=0)
+    arr_spinbox = ttk.Spinbox(root, from_=0, to=10)
+    arr_spinbox.grid(row=3, column=1)
+    arr_spinbox.set(0)
 
+    # Signature Scramblers
+    label = tk.Label(root, text="SIGNATURE SCRM:")
+    label.grid(row=4, column=0)
+    sig_scrambler_spinbox = ttk.Spinbox(root, from_=0, to=10)
+    sig_scrambler_spinbox.grid(row=4, column=1)
+    sig_scrambler_spinbox.set(0)
 
     # we need the ship that is _hiding_
     # what does that need? What kind of Ship / Missile is it?
@@ -32,7 +72,48 @@ def main():
     # i.e. radars and jammers that give
     # +10%, or internal things, or is the Comms and RADAR off (-10% and -25%)
     label = tk.Label(root, text="The Ship or Missile being detected")
-    label.grid(row=0, column=1)
+    label.grid(row=0, column=2, columnspan=2)
+
+    # What kinda ship is it?
+    label = tk.Label(root, text="Ship / Missile Type:")
+    label.grid(row=1, column=2)
+    ship_det_combobox = ttk.Combobox(
+        root, values=SHIP_OPTIONS, state="readonly")
+    ship_det_combobox.grid(row=1, column=3)
+    ship_det_combobox.set(SHIP_OPTIONS[0])
+
+    # What Jammer #1? # ideally just radar, but hey
+    label = tk.Label(root, text="JAMMER #1:")
+    label.grid(row=2, column=2)
+    jammer_det_combobox_1 = ttk.Combobox(
+        root, values=JAMMER_OPTIONS, state="readonly")
+    jammer_det_combobox_1.grid(row=2, column=3)
+    jammer_det_combobox_1.set(JAMMER_OPTIONS[0])
+
+    # What Jammer #2?
+    label = tk.Label(root, text="JAMMER #2:")
+    label.grid(row=3, column=2)
+    jammer_det_combobox_2 = ttk.Combobox(
+        root, values=JAMMER_OPTIONS, state="readonly")
+    jammer_det_combobox_2.grid(row=3, column=3)
+    jammer_det_combobox_2.set(JAMMER_OPTIONS[0])
+
+    # How many layers of Radar Coating
+    label = tk.Label(root, text="RADAR COATING COUNT:")
+    label.grid(row=4, column=2)
+    radar_coating_spinbox = ttk.Spinbox(root, from_=0, to=10)
+    radar_coating_spinbox.grid(row=4, column=3)
+    radar_coating_spinbox.set(0)
+
+    # Other radar offsets
+    label = tk.Label(root, text="OTHER RADAR OFFSETS:")
+    label.grid(row=5, column=2)
+    radar_mod_spinbox = ttk.Spinbox(root, from_=-100, to=100)
+    radar_mod_spinbox.grid(row=5, column=3)
+    radar_mod_spinbox.set(0)
+
+    calc_button = tk.Button(root, text="Calculate", command=determine_and_graph)
+    calc_button.grid(row=6, column=1, columnspan=2)
 
     root.mainloop()