zmiana nadaj_cel_agentowi(); ustawienie(); wroc()
This commit is contained in:
parent
dc9cfef284
commit
d15203280d
@ -4,7 +4,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.8 (Sztuczna_Inteligencja_Gr16)" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.9 (Sztuczna_Inteligencja_Gr16)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (Sztuczna_Inteligencja_Gr16)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (Sztuczna_Inteligencja_Gr16)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
27
main.py
27
main.py
@ -1,16 +1,17 @@
|
|||||||
import ctypes
|
import ctypes
|
||||||
import os
|
import os
|
||||||
|
import random
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import pygame.transform
|
import pygame.transform
|
||||||
|
|
||||||
import szafka2
|
import szafka2
|
||||||
from agent import *
|
from agent import *
|
||||||
|
from neural_network import *
|
||||||
from okno import *
|
from okno import *
|
||||||
from ramy_czyli_wiedza_agenta import *
|
from ramy_czyli_wiedza_agenta import *
|
||||||
from rescue import *
|
from rescue import *
|
||||||
from neural_network import *
|
|
||||||
import random
|
|
||||||
# aby działalo w oknie + rozdzielczość ekranu
|
# aby działalo w oknie + rozdzielczość ekranu
|
||||||
# ctypes.windll.shcore.SetProcessDpiAwareness(1)
|
# ctypes.windll.shcore.SetProcessDpiAwareness(1)
|
||||||
|
|
||||||
@ -39,6 +40,7 @@ def dodaj_szafke(numerSzafki, iloscPolek, iloscMiejscNaPolce, dostepZeStrony, po
|
|||||||
poczatek_kolumna, krata_magazynu)
|
poczatek_kolumna, krata_magazynu)
|
||||||
Pomieszczenie.dodajSzafke(szafka)
|
Pomieszczenie.dodajSzafke(szafka)
|
||||||
|
|
||||||
|
|
||||||
def gdzie_paczka(numerSzafki):
|
def gdzie_paczka(numerSzafki):
|
||||||
global kolumna, wiersz
|
global kolumna, wiersz
|
||||||
if numerSzafki == 1:
|
if numerSzafki == 1:
|
||||||
@ -137,19 +139,17 @@ def zaznacz_cel_na_mapie(cel: Stan):
|
|||||||
krata_magazynu.krata[wiersz][kolumna] = ZawartoscPola.CEL
|
krata_magazynu.krata[wiersz][kolumna] = ZawartoscPola.CEL
|
||||||
|
|
||||||
|
|
||||||
def nadaj_cel_agentowi(agent: Agent):
|
def nadaj_cel_agentowi(agent: Agent, cel: Cel):
|
||||||
agent.cel = ustawienie()
|
agent.cel = cel
|
||||||
zaznacz_cel_na_mapie(agent.cel)
|
zaznacz_cel_na_mapie(agent.cel)
|
||||||
print("CEL:", agent.cel.poleStartoweGorne.wiersz, agent.cel.poleStartoweGorne.kolumna)
|
print("CEL:", agent.cel.poleStartoweGorne.wiersz, agent.cel.poleStartoweGorne.kolumna)
|
||||||
|
|
||||||
def cel_wroc(agent:Agent):
|
|
||||||
agent.cel = wroc()
|
|
||||||
zaznacz_cel_na_mapie(agent.cel)
|
|
||||||
|
|
||||||
def zdarzenie_osoba():
|
def zdarzenie_osoba():
|
||||||
global flaga1
|
global flaga1
|
||||||
flaga1 = 1
|
flaga1 = 1
|
||||||
|
|
||||||
|
|
||||||
def losowa_osoba():
|
def losowa_osoba():
|
||||||
wiersz = random.randint(0, krata_magazynu.liczbaPolPionowo - 1)
|
wiersz = random.randint(0, krata_magazynu.liczbaPolPionowo - 1)
|
||||||
kolumna = random.randint(0, krata_magazynu.liczbaPolPoziomo - 1)
|
kolumna = random.randint(0, krata_magazynu.liczbaPolPoziomo - 1)
|
||||||
@ -212,13 +212,18 @@ def main():
|
|||||||
while True:
|
while True:
|
||||||
# cel to Stan (pole kraty gdzie ma stać agent, aby położyć paczkę na półkę, w obiekcie klasy Miejsce jest to artybut dostęp + kierunek <-na razie niepotrzebny)
|
# cel to Stan (pole kraty gdzie ma stać agent, aby położyć paczkę na półkę, w obiekcie klasy Miejsce jest to artybut dostęp + kierunek <-na razie niepotrzebny)
|
||||||
if krata_magazynu.agent.cel is None:
|
if krata_magazynu.agent.cel is None:
|
||||||
nadaj_cel_agentowi(krata_magazynu.agent)
|
cel = ustawienie()
|
||||||
|
www = cel.poleStartoweGorne.wiersz
|
||||||
|
rrr = cel.poleStartoweGorne.kolumna
|
||||||
|
list = []
|
||||||
|
list.append((www, rrr))
|
||||||
|
nadaj_cel_agentowi(krata_magazynu.agent, cel)
|
||||||
krata_magazynu.agent.idzDoCelu()
|
krata_magazynu.agent.idzDoCelu()
|
||||||
cel_wroc(krata_magazynu.agent)
|
# powrot
|
||||||
|
cel = wroc()
|
||||||
|
nadaj_cel_agentowi(krata_magazynu.agent, cel)
|
||||||
krata_magazynu.agent.idzDoCelu()
|
krata_magazynu.agent.idzDoCelu()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if flaga1 == 1:
|
if flaga1 == 1:
|
||||||
osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE
|
osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE
|
||||||
okno1.wyswietlOkno()
|
okno1.wyswietlOkno()
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import os
|
import os
|
||||||
import cv2
|
|
||||||
import numpy as np
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
import tensorflow as tf
|
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
import cv2
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
import tensorflow as tf
|
||||||
|
|
||||||
mnist = tf.keras.datasets.mnist
|
mnist = tf.keras.datasets.mnist
|
||||||
(x_train, y_train), (x_test, y_test) = mnist.load_data()
|
(x_train, y_train), (x_test, y_test) = mnist.load_data()
|
||||||
@ -26,6 +26,7 @@ model.save('handwritten.model')
|
|||||||
model = tf.keras.models.load_model('handwritten.model')
|
model = tf.keras.models.load_model('handwritten.model')
|
||||||
numery_paczek = []
|
numery_paczek = []
|
||||||
|
|
||||||
|
|
||||||
def liczby():
|
def liczby():
|
||||||
digits = []
|
digits = []
|
||||||
for i in range(0, 3):
|
for i in range(0, 3):
|
||||||
@ -44,6 +45,7 @@ def liczby():
|
|||||||
numery_paczek.append(liczba)
|
numery_paczek.append(liczba)
|
||||||
return numery_paczek[-1]
|
return numery_paczek[-1]
|
||||||
|
|
||||||
|
|
||||||
def recognition():
|
def recognition():
|
||||||
try:
|
try:
|
||||||
liczba = liczby()
|
liczba = liczby()
|
||||||
|
17
rescue.py
17
rescue.py
@ -1,12 +1,16 @@
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import pydotplus
|
import pydotplus
|
||||||
from sklearn.tree import DecisionTreeClassifier
|
|
||||||
from krata import *
|
|
||||||
from sklearn import metrics, tree
|
from sklearn import metrics, tree
|
||||||
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
|
|
||||||
|
from krata import *
|
||||||
|
|
||||||
|
|
||||||
def drzewo_decyzyjne():
|
def drzewo_decyzyjne():
|
||||||
columns = ['plec', 'wiek', 'czas_w_pom', 'temp_w_pom', 'poziom_kurzu', 'poziom_oswietlenia', 'niebezp_towary', 'decyzja']
|
columns = ['plec', 'wiek', 'czas_w_pom', 'temp_w_pom', 'poziom_kurzu', 'poziom_oswietlenia', 'niebezp_towary',
|
||||||
|
'decyzja']
|
||||||
df = pd.read_csv("dataset.csv", header=0, sep=";", names=columns)
|
df = pd.read_csv("dataset.csv", header=0, sep=";", names=columns)
|
||||||
kolumny_x = ['plec', 'wiek', 'czas_w_pom', 'temp_w_pom', 'poziom_kurzu', 'poziom_oswietlenia', 'niebezp_towary']
|
kolumny_x = ['plec', 'wiek', 'czas_w_pom', 'temp_w_pom', 'poziom_kurzu', 'poziom_oswietlenia', 'niebezp_towary']
|
||||||
x = df[kolumny_x]
|
x = df[kolumny_x]
|
||||||
@ -23,18 +27,21 @@ def drzewo_decyzyjne():
|
|||||||
|
|
||||||
return clf
|
return clf
|
||||||
|
|
||||||
|
|
||||||
def decyzja_osoba(osoba: PoleKraty, clf: DecisionTreeClassifier):
|
def decyzja_osoba(osoba: PoleKraty, clf: DecisionTreeClassifier):
|
||||||
z = []
|
z = []
|
||||||
z.extend(random.choices([1, 2], weights=[1, 2], k=1)) # 1 kobieta, 2 mężczyzna
|
z.extend(random.choices([1, 2], weights=[1, 2], k=1)) # 1 kobieta, 2 mężczyzna
|
||||||
z.append(random.randint(18, 75)) # od 55 osoba starsza
|
z.append(random.randint(18, 75)) # od 55 osoba starsza
|
||||||
z.append(random.randint(1, 60)) # jak długo przebywa w pomieszczeniu, od 40 min długo, od 20 min średnio, do 20 min krótko
|
z.append(random.randint(1,
|
||||||
|
60)) # jak długo przebywa w pomieszczeniu, od 40 min długo, od 20 min średnio, do 20 min krótko
|
||||||
if osoba.kolumna > 21:
|
if osoba.kolumna > 21:
|
||||||
z.append(0) # zimne pomieszczenie
|
z.append(0) # zimne pomieszczenie
|
||||||
else:
|
else:
|
||||||
z.append(1) # normalne pomieszczenie
|
z.append(1) # normalne pomieszczenie
|
||||||
z.append(random.randint(20, 100)) # poziom kurzu
|
z.append(random.randint(20, 100)) # poziom kurzu
|
||||||
z.append(random.randint(20, 100)) # poziom oświetlenia
|
z.append(random.randint(20, 100)) # poziom oświetlenia
|
||||||
if (0<=osoba.wiersz or osoba.wiersz<=13) and (17<=osoba.kolumna or osoba.kolumna<=19): #obok szafki z niebezpiecznymi towarami
|
if (0 <= osoba.wiersz or osoba.wiersz <= 13) and (
|
||||||
|
17 <= osoba.kolumna or osoba.kolumna <= 19): # obok szafki z niebezpiecznymi towarami
|
||||||
z.append(1)
|
z.append(1)
|
||||||
else:
|
else:
|
||||||
z.append(0)
|
z.append(0)
|
||||||
|
1
stale.py
1
stale.py
@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
FPS = 20
|
FPS = 20
|
||||||
|
@ -70,7 +70,8 @@ def pole_w_granicach_kraty(pole: PoleKraty):
|
|||||||
|
|
||||||
|
|
||||||
def mozna_wjechac_na_pole(pole: PoleKraty):
|
def mozna_wjechac_na_pole(pole: PoleKraty):
|
||||||
if pole.krata.krata[pole.wiersz][pole.kolumna] != ZawartoscPola.SCIANA and pole.krata.krata[pole.wiersz][pole.kolumna] != ZawartoscPola.SCIANA2 and pole.krata.krata[pole.wiersz][pole.kolumna] != ZawartoscPola.OSOBA:
|
if pole.krata.krata[pole.wiersz][pole.kolumna] != ZawartoscPola.SCIANA and pole.krata.krata[pole.wiersz][
|
||||||
|
pole.kolumna] != ZawartoscPola.SCIANA2 and pole.krata.krata[pole.wiersz][pole.kolumna] != ZawartoscPola.OSOBA:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
@ -35,7 +35,3 @@ class Szafka:
|
|||||||
self.listaWolnychMiejsc[0].numerUmieszczonejPaczki = numerPaczki
|
self.listaWolnychMiejsc[0].numerUmieszczonejPaczki = numerPaczki
|
||||||
self.listaWolnychMiejsc[0].status = "zajęte"
|
self.listaWolnychMiejsc[0].status = "zajęte"
|
||||||
self.listaWolnychMiejsc.pop(0)
|
self.listaWolnychMiejsc.pop(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user