"state": {
"type": "markdown",
"state": {
- "file": "List of things to do.md",
+ "file": "Nebulous Command/Notes on Mechanics.md",
"mode": "source",
"source": false,
"backlinks": true,
}
},
"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",
-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?
# 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()