Da li neko moze da reši ovaj zadatak?

Da li neko moze da reši ovaj zadatak?

Data je slika čiji je naziv “auto.png”.Napisati program za prikazivanje slike na sredini ekrana.

Zdravo,

Pretpostavljam da učiš pygame i da treba da centriraš sliku u nekom prozoru. Preporučio bih ti da pročitaš ovaj podnaslov https://petlja.org/biblioteka/r/lekcije/pygame-prirucnik/crtanje-cas4#id6 (i celu lekciju ako do sada nisi).

Ako si već sve to pročitao i dalje imaš problema, hajde mi postuj ispod svoj kod kojim si probao da rešiš zadatak, pa ću ti pomoći da svoj kod ispraviš.

2 Likes

Hvala uspeo sam.

Super. Ako budeš imao problema, slobodno piši.

2 Likes

Kako da resim ovaj zadatak?

Prilagoditi crtez koji se sastoji od sledecih oblika:
Pg.draw.circle(prozor,pg.Color(“red”),(100,150),50);
Pg.draw.rect(prozor,pg.Color(“red”),(200,200,50,80);
pg.draw.line(prozor,pg.Color(“red”),(150,50),(50,150);
tako da se sve crta u odnosu na sidro sa kordinatama
x=100 i y =100

Izrazi vrednosti u ovim funkcijama za crtanje u odnosu na x i y. Dakle, nemoj da upisuješ konkretne brojeve u funkcije nego ih izrazi pomoću x i y.

Hvala, kako da resim ovaj zadatak?

Za crtanje pravougaonika u pajtonu definisati funkciju u obliku def pravougaonik(x,y,s,v),gde su x i y koordinate gornjeg levog temena,s je sirina a v je visina pravougaonika.Pozivanjem funkcije nacrtati dva pravougaonika.Konkretne vrednosti birajte po zelji.Boju pravougaonika odaberite sami.

Zdravo,

Pogledaj kako se to radi u zadacima u ovoj lekciji. Ovde imaš dosta primera koji će ti pomoći da rešiš svoj zadatak. https://petlja.org/biblioteka/r/lekcije/pygame-prirucnik/crtanje-cas6#id3

Da li sam tacno uradio?

import pygame as pg
import pygamebg

(sirina, visina) = (700, 700)
prozor = pygamebg.open_window(sirina, visina, “dva pravougaonika”)
prozor.fill(pg.Color(“white”))

def pravougaonik(x, y, s, v):
pg.draw.rect(prozor, pg.Color(“blue”), (x, y+50, s+100, v+50))
pg.draw.rect(prozor, pg.Color(“red”), (x+250, y+250, s+150, v+50))

pravougaonik(x=100, y=100, s=100, v=100)

pygamebg.wait_loop()

Zdravo,

Nisi baš dobro uradio. Ti si napravio funkciju koja će uvek da nacrta dva pravougaonika kada je pozoveš.

U zadatku piše da funkcija treba da crta jedan pravougaonik, a da onda dva puta treba da je pozoveš za konkretne pravougaonike. Hajde probaj da modifikuješ funkciju tako da poziva jedan pravougaonik opšteg slučaja i da je onda pozoveš 2 puta.

1 Like

Probao sam ali ne mogu da uspem.

Ok ne moraš mnogo da modifikuješ program koji si već napisao. Verovatno je mnogo jednostavnije nego što misliš.

Dakle tvoj problem je ovde

def pravougaonik(x, y, s, v):
pg.draw.rect(prozor, pg.Color(“blue”), (x, y+50, s+100, v+50))
pg.draw.rect(prozor, pg.Color(“red”), (x+250, y+250, s+150, v+50))

Definišeš funkciju koja ima argumente x, y, s, v. Pri svakom pozivu funkcije, brojevi koji se napišu u zagradi će odgovarati tim argumentima). Dakle, i u telu funkcije možeš da upotrebiš baš te oznake.

Funkciju možeš napisati ovako

def pravougaonik(x, y, s, v):
    pg.draw.rect(prozor, pg.Color(“blue”), (x, y, s, v))

i to je to. Svaki put kad je budeš pozivao, pozoveš je tako što napišeš pravougaonik(100, 100 , 100, 100) ili pravouganik(50, 100, 100, 200) ili koji god brojevi su potrebni i to će iscrtati pravouganike. Brojevi u zagradi će biti upotrebljeni kao vrednosti u funkciji.

mucim se da uradim ovaj zadatak i nikako mi ne ide.
uspela sam da isprogramiram roboticu Micu, ali mi ne uspeva da je multiplikujem.
Molim za pomoc
Hvala unapred

import pygame as pg
import pygamebg

(sirina, visina) = (800, 400) # otvaramo prozor
prozor = pygamebg.open_window(sirina, visina, “Роботица Мица”)

definišemo boje koje cemo koristiti

SIVA = (250, 250, 250)
CRVENA = (255, 0, 0)
PLAVA = (0, 0, 255)

debiljina linije

debljina = 3

prozor.fill(SIVA)

def robot(cx, cy, telo):
sirina/2,visina/2,400

cy = visina / 2
robot(120, cy, 100)
robot(400, cy, 120)
robot(680, cy, 100)

prikazujemo prozor i čekamo da ga korisnik isključi

pygamebg.wait_loop()