zmiana nadaj_cel_agentowi(); ustawienie(); wroc()
This commit is contained in:
parent
dc9cfef284
commit
d15203280d
@ -4,7 +4,7 @@
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</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" />
|
||||
</component>
|
||||
</module>
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
27
main.py
27
main.py
@ -1,16 +1,17 @@
|
||||
import ctypes
|
||||
import os
|
||||
import random
|
||||
import threading
|
||||
|
||||
import pygame.transform
|
||||
|
||||
import szafka2
|
||||
from agent import *
|
||||
from neural_network import *
|
||||
from okno import *
|
||||
from ramy_czyli_wiedza_agenta import *
|
||||
from rescue import *
|
||||
from neural_network import *
|
||||
import random
|
||||
|
||||
# aby działalo w oknie + rozdzielczość ekranu
|
||||
# ctypes.windll.shcore.SetProcessDpiAwareness(1)
|
||||
|
||||
@ -39,6 +40,7 @@ def dodaj_szafke(numerSzafki, iloscPolek, iloscMiejscNaPolce, dostepZeStrony, po
|
||||
poczatek_kolumna, krata_magazynu)
|
||||
Pomieszczenie.dodajSzafke(szafka)
|
||||
|
||||
|
||||
def gdzie_paczka(numerSzafki):
|
||||
global kolumna, wiersz
|
||||
if numerSzafki == 1:
|
||||
@ -137,19 +139,17 @@ def zaznacz_cel_na_mapie(cel: Stan):
|
||||
krata_magazynu.krata[wiersz][kolumna] = ZawartoscPola.CEL
|
||||
|
||||
|
||||
def nadaj_cel_agentowi(agent: Agent):
|
||||
agent.cel = ustawienie()
|
||||
def nadaj_cel_agentowi(agent: Agent, cel: Cel):
|
||||
agent.cel = cel
|
||||
zaznacz_cel_na_mapie(agent.cel)
|
||||
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():
|
||||
global flaga1
|
||||
flaga1 = 1
|
||||
|
||||
|
||||
def losowa_osoba():
|
||||
wiersz = random.randint(0, krata_magazynu.liczbaPolPionowo - 1)
|
||||
kolumna = random.randint(0, krata_magazynu.liczbaPolPoziomo - 1)
|
||||
@ -212,13 +212,18 @@ def main():
|
||||
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)
|
||||
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()
|
||||
cel_wroc(krata_magazynu.agent)
|
||||
# powrot
|
||||
cel = wroc()
|
||||
nadaj_cel_agentowi(krata_magazynu.agent, cel)
|
||||
krata_magazynu.agent.idzDoCelu()
|
||||
|
||||
|
||||
|
||||
if flaga1 == 1:
|
||||
osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE
|
||||
okno1.wyswietlOkno()
|
||||
|
@ -1,10 +1,10 @@
|
||||
import os
|
||||
import cv2
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import tensorflow as tf
|
||||
import random
|
||||
|
||||
import cv2
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import tensorflow as tf
|
||||
|
||||
mnist = tf.keras.datasets.mnist
|
||||
(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')
|
||||
numery_paczek = []
|
||||
|
||||
|
||||
def liczby():
|
||||
digits = []
|
||||
for i in range(0, 3):
|
||||
@ -44,6 +45,7 @@ def liczby():
|
||||
numery_paczek.append(liczba)
|
||||
return numery_paczek[-1]
|
||||
|
||||
|
||||
def recognition():
|
||||
try:
|
||||
liczba = liczby()
|
||||
|
17
rescue.py
17
rescue.py
@ -1,12 +1,16 @@
|
||||
import random
|
||||
|
||||
import pandas as pd
|
||||
import pydotplus
|
||||
from sklearn.tree import DecisionTreeClassifier
|
||||
from krata import *
|
||||
from sklearn import metrics, tree
|
||||
from sklearn.tree import DecisionTreeClassifier
|
||||
|
||||
from krata import *
|
||||
|
||||
|
||||
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)
|
||||
kolumny_x = ['plec', 'wiek', 'czas_w_pom', 'temp_w_pom', 'poziom_kurzu', 'poziom_oswietlenia', 'niebezp_towary']
|
||||
x = df[kolumny_x]
|
||||
@ -23,18 +27,21 @@ def drzewo_decyzyjne():
|
||||
|
||||
return clf
|
||||
|
||||
|
||||
def decyzja_osoba(osoba: PoleKraty, clf: DecisionTreeClassifier):
|
||||
z = []
|
||||
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(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:
|
||||
z.append(0) # zimne pomieszczenie
|
||||
else:
|
||||
z.append(1) # normalne pomieszczenie
|
||||
z.append(random.randint(20, 100)) # poziom kurzu
|
||||
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)
|
||||
else:
|
||||
z.append(0)
|
||||
|
@ -70,7 +70,8 @@ def pole_w_granicach_kraty(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
|
||||
else:
|
||||
return False
|
||||
|
@ -35,7 +35,3 @@ class Szafka:
|
||||
self.listaWolnychMiejsc[0].numerUmieszczonejPaczki = numerPaczki
|
||||
self.listaWolnychMiejsc[0].status = "zajęte"
|
||||
self.listaWolnychMiejsc.pop(0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user