-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathradar.py
More file actions
70 lines (61 loc) · 3.4 KB
/
radar.py
File metadata and controls
70 lines (61 loc) · 3.4 KB
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
import random
import math
from termcolorer import Color, cprint
# 1- Türk Silahlı Kuvvetleri
# 2- NATO Birliğine ait Silahlı Birim
# 3- Silahsız Araç
# 4- Tehdit Unsurları
# 5- Füze ve benzeri Silah unsurları
sampleArac = [1,2,3,4,5]
# A = Kara Aracı
# B = Deniz Aracı
# C = Hava Aracı
sampleTur = ["Kara","Deniz","Hava"]
def haversine(lon1, lat1, lon2, lat2):
# Decimal değerleri radyan cinsine çeviriyor
lon1, lat1, merkezlon, merkezlat = map(math.radians, [lon1, lat1, lon2, lat2])
# Haversine Formülü
dlon = lon2 - lon1
dlat = lat2 - lat1
a = math.sin(dlat/2)**2 +math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2
c = 2 * math.asin(math.sqrt(a))
km = 6371* c # Dünyanın yarıçapı = 6371
return km
def tehditOLC():
arac = random.sample(sampleArac,1)
tur = random.sample(sampleTur,1)
if arac[0] == 1 or arac[0] == 2 or arac[0] == 3:
tehditMi = False
else:
tehditMi = True
lon1 = random.uniform(25.0,45.0)
lat1 = random.uniform(25.0,45.0)
if haversine(lon1, lat1, merkezLon, merkezLat) > 6500 or tehditMi == False:
if arac[0] == 1:
cprint(f"Bu birim Türk Silahlı kuvvetlerine ait {str(tur[0])} aracıdır. TEHDİT DEĞİLDİR.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'green')
if arac[0] == 2:
cprint(f"Bu birim NATO Birliğine ait {str(tur[0])} aracıdır. TEHDİT DEĞİLDİR.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'green')
if arac[0] == 3:
cprint(f"Bu birim Silahsız {str(tur[0])} aracıdır. TEHDİT DEĞİLDİR.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'green')
if arac[0] == 4:
cprint(f"Bu cismin uzaklığı tehdit oluşturmayacak düzeydedir.", 'green')
cprint(f"Bu birim tanımlanamamıştır, {str(tur[0])} aracıdır. TEHDİT OLABİLİR.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'red')
if arac[0] == 5:
cprint(f"Bu birim bir silahtır.{str(tur[0])} dan/den gelmektedir. ACİL DURUM.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'red')
else:
if arac[0] == 4:
cprint(f"Bu birim tanımlanamamıştır, {str(tur[0])} aracıdır. TEHDİT OLABİLİR.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'red')
return 1
if arac[0] == 5:
cprint(f"Bu birim bir silahtır. {str(tur[0])} dan/den gelmektedir. ACİL DURUM.\nTespit edilen cismin kordinatları {lon1}, {lat1}\nAramızdaki uzaklık: {haversine(lon1,lat1,merkezLon,merkezLat))}", 'red')
return 1
acilDurum = 0
merkezLon = 39.9333635
merkezLat = 32.8597419
for i in range(0,15,1):
cprint(f"Durum {i+1}", 'blue')
cprint("\n------------------------------------------------------------------------\n",'blue')
if tehditOLC() == 1:
acilDurum = acilDurum +1
cprint("\n------------------------------------------------------------------------\n",'blue')
print(f"{15000} cisimden tehdit olabilecek {acilDurum} cisim tespit edilmiştir.")