예제 #1
0
def naloga8_pomembnost():
    from collections import defaultdict

    oznake = naloga6_povezave(False, True)
    kraji = TestBase.kraji
    pov = dvosmerno(povezave(5, kraji))
    koord = koordict(kraji)
    barve = [risar.modra, risar.zelena, risar.rumena, risar.rdeca, risar.rjava]
    zacetki = [random.choice(kraji)[0] for _ in range(5)]
    poti = list(zip(*(potnik(zacetek, 1000, pov) for zacetek in zacetki)))
    krogi = [risar.krog(tx(koord[zacetek][0]), ty(koord[zacetek][1]),
                        5, sirina=4, barva=barva)
             for zacetek, barva in zip(zacetki, barve)]

    obiski = defaultdict(int)
    for kraji0, kraji1 in zip(poti, poti[1:]):
        for kraj in kraji0:
            obiski[kraj] += 1
            oznake[kraj].setPlainText(f"{kraj}: {obiski[kraj]}")
        xy0 = [koord[kraj] for kraj in kraji0]
        xy1 = [koord[kraj] for kraj in kraji1]
        for i in [0.1, 0.3, 0.6, 0.9, 1]:
            for (x0, y0), (x1, y1), krog in zip(xy0, xy1, krogi):
                krog.setPos(tx(x0 * (1 - i) + x1 * i), ty(y0 * (1 - i) + y1 * i))
            risar.cakaj(0.005)
    risar.stoj()
예제 #2
0
def naloga6_povezave(eno=True, nestoj=False):
    risar.obnavljaj = False
    narisi_povezave(TestBase.kraji, eno)
    krogi = narisi_kraje(TestBase.kraji)
    risar.obnavljaj = True
    if nestoj:
        return krogi
    risar.stoj()
예제 #3
0
def naloga9_razsiri():
    oznake = naloga6_povezave(False, True)
    zacetek = {"Ljubljana", "Lenart", "Žužemberk"}
    razsirjen = razsiri(zacetek, Test09.povezave5)
    for kraj, oznaka in oznake.items():
        if kraj in zacetek:
            barva = risar.rumena
        elif kraj in razsirjen:
            barva = risar.bela
        else:
            barva = risar.barva(48, 48, 48)
        oznaka.setDefaultTextColor(barva)
    risar.stoj()
예제 #4
0
def naloga9_razdalja():
    from PyQt5.QtGui import QColor
    from collections import defaultdict

    na_razdalji = defaultdict(set)
    for kraj, _, _ in TestBase.kraji:
        na_razdalji[razdalja("Vrhnika", kraj, Test09.povezave5)].add(kraj)
    oznake = naloga6_povezave(False, True)
    for r, kraji in na_razdalji.items():
        barva = QColor.fromHsl(r * 36, 255, 128)
        for kraj in kraji:
            oznake[kraj].setDefaultTextColor(barva)
            oznake[kraj].setPlainText(f"{kraj}: {r}")
    risar.stoj()
예제 #5
0
def naloga10_pot():
    kraji = TestBase.kraji
    pov = dvosmerno(povezave(5, kraji))
    koord = koordict(kraji)
    pot = najkrajsa_pot("Škofije", "Lenart", pov)

    risar.obnavljaj = False
    narisi_povezave(kraji)
    for kraj1, kraj2 in zip(pot, pot[1:]):
        x1, y1 = koord[kraj1]
        x2, y2 = koord[kraj2]
        risar.crta(tx(x1), ty(y1), tx(x2), ty(y2), barva=risar.zelena, sirina=3)
    narisi_kraje(TestBase.kraji)
    risar.obnavljaj = True
    risar.obnovi()
    risar.stoj()
예제 #6
0
import random

import risar
from PyQt4 import QtGui

besede = ["test", "123", "beseda"]

for beseda in besede:
    risar.besedilo(random.randint(0, 750), random.randint(0, 400), beseda, risar.nakljucna_barva(), velikost= random.randint(30, 80), pisava="Calibri")

risar.stoj()
예제 #7
0
    kx.append(randint(-5, 5))
    ky.append(sqrt(speed**2 - kx[i]**2))

while True:

    if risar.levo:
        mx, my = risar.miska
        cas = time()

    if not risar.klik:
        mx, my = risar.miska

    miskaKrog.setPos(mx, my)

    for i in range(len(krogi)):
        krog = krogi[i]
        krog.setPos(krog.x() + kx[i], krog.y() + ky[i])

        if risar.klik and sqrt((krog.x() - mx)**2 + (krog.y() - my)**2) < 45:
            risar.stoj()

        if not (0 < krog.x() < risar.maxX):
            kx[i] = -kx[i]
        if not (0 < krog.y() < risar.maxY):
            ky[i] = -ky[i]

    if abs(cas - time()) >= 20 and risar.klik:
        break
    risar.cakaj(0.02)

risar.stoj()
예제 #8
0
 def stop(self):
     risar.stoj()