forked from Nex4rius/Nex4rius-Programme
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Stargate-Adressen-suchen-AUNIS.lua
138 lines (125 loc) · 2.94 KB
/
Stargate-Adressen-suchen-AUNIS.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
local sg = require("component").getPrimary("stargate")
do
local g = require("component").getPrimary("gpu")
g.setResolution(g.maxResolution())
end
local gefunden = 0
local letzte = ""
local i = 0
local f = {}
local alleZeichen = {
"Sculptor",
"Scorpius",
"Centaurus",
"Monoceros",
"Pegasus",
"Andromeda",
"Serpens Caput",
"Aries",
"Libra",
"Eridanus",
"Leo Minor",
"Hydra",
"Sagittarius",
"Sextans",
"Scutum",
"Pisces",
"Virgo",
"Bootes",
"Auriga",
"Corona Australis",
"Gemini",
"Leo",
"Cetus",
"Triangulum",
"Aquarius",
"Microscopium",
"Equuleus",
"Crater",
"Perseus",
"Cancer",
"Norma",
"Taurus",
"Canis Minor",
"Capricornus",
"Lynx",
"Orion",
"Piscis Austrinus",
}
local function restliche_zeichen(...)
local blockiert = {...}
local rest = {}
for _, zeichen in pairs(alleZeichen) do
local dazu = true
for _, block in pairs(blockiert) do
if zeichen == block then
dazu = false
break
end
end
if dazu then
table.insert(rest, zeichen)
end
end
return rest
end
function f.nacheinander()
for _, A in pairs(alleZeichen) do
for _, B in pairs(restliche_zeichen(A)) do
for _, C in pairs(restliche_zeichen(A, B)) do
for _, D in pairs(restliche_zeichen(A, B, C)) do
for _, E in pairs(restliche_zeichen(A, B, C, D)) do
for _, F in pairs(restliche_zeichen(A, B, C, D, E)) do
f.check({A, B, C, D, E, F})
end
end
end
end
end
end
end
function f.zufall()
local menge = #alleZeichen
local function a()
return alleZeichen[math.random(1,menge)]
end
while true do
for j = 0, 1000 do
f.check({a(), a(), a(), a(), a(), a()})
end
os.sleep(1)
end
end
function f.check(Adresse)
i = i + 1
local adresse_name = table.concat(Adresse, "\t")
local ok, ergebnis = pcall(sg.getEnergyRequiredToDial, Adresse)
if ok and ergebnis and type(ergebnis) == "table" then
local gpu = require("component").getPrimary("gpu")
gpu.setForeground(0xFF0000)
gpu.setBackground(0x006633)
print("\n" .. adresse_name .. " GEFUNDEN\n")
local d = io.open("ergebnis_suche", "a")
d:write(Adresse .. "\n")
d:close ()
gpu.setForeground(0xFFFFFF)
gefunden = gefunden + 1
letzte = letzte .. adresse_name
else
print(i, "Gefunden:", gefunden, "Prüfe Adresse:" , adresse_name, letzte)
end
end
local function main()
while true do
print("1) Nacheinander oder 2) Zufall?")
local eingabe = io.read()
if tostring(eingabe) == "1" then
f.nacheinander()
break
elseif tostring(eingabe) == "2" then
f.zufall()
break
end
end
end
main()