Kezdőoldal » Számítástechnika » Programozás » Visual C++ beadandó segítség?

Visual C++ beadandó segítség?

Figyelt kérdés
Valaki tudna nekem segíteni a következő feladat megoldásában: "Írjon képernyőkímélő programot, amely egy előre bekért szöveget mozgat a képernyőn az (x,y) pozícióból indulva úgy, hogy a szöveg a képernyő bal felső sarkából jobbra lefelé indul el 45 fokos szögben, és ha a szöveg bármely karaktere eléri a képernyő valamelyik szélét, a visszaverődési törvény szerint mindig visszapattan a képernyő széléről. Lassan mozogjon, és a program bármely billentyűre lépjen ki!"? KÉREK MINDENKIT TISZTELETTEL, HOGY CSAK AKKOR ÍRJON, HA VAN IDEJE VELEM FOGLALKOZNI, ÉS NEM CSAK "a Google a barátod!" és társaival jönnek!!! Nem azt várom, hogy megoldják helyettem, csak segítséget szeretnék! Teljesen kezdő vagyok, de ezt kaptam beadandónak, még csak hasonlókat sem tanultunk...
2012. nov. 21. 14:29
1 2
 1/15 anonim ***** válasza:

Hát elég fura, hogy kezdő vagy, de ilyen feladatot kapsz. Lehet, hogy azért vagy kezdő, mert úgy 3 hónapja nem tanulsz semmit?


Valamilyen grafikus csomagot lehet használni? (opengl, stl, akármi)

Ki kell számolni a szöveged szélességét és magasságát. Tudjuk melyik a bal felső sarka, illetve, hogy mi volt az utolsó pozísió ahol voltunk. Ezek alapján tudjuk, hogy mikor ütközünk a képernyő szélének (pozíció, hosszúság, szélesség), számolunk egy irányvektort (pozíció, előző pozíció), abból egy beesési szöget, abból egy kimeneti szöget és abból egy új pozíciót.


Mivel 45°-os a kiindulás szög a helyzet még egyszerűbb, mert szöget sem kell számolni, csak azt a haladási komponenst kell ellentétes előjelűre változtatni, amelyik alapján kicsúsztunk a képből.

2012. nov. 21. 14:40
Hasznos számodra ez a válasz?
 2/15 A kérdező kommentje:
3 hónapja mindent megtanultam, amit vettünk, de ehhez még csak hasonlót sem tanultunk. Kérdeztem a tanárt is, hogy mégis hogyan valósítsam meg a feladatot, mikor ilyeneket nem is tanultunk. Erre a következő volt a válasz: "Törd rajta a fejed, gondolkodj!". Hát, én gondolkodtam, de nem sokra jutottam.
2012. nov. 21. 14:45
 3/15 A kérdező kommentje:
Ilyen feladat megvalósítása lehetséges úgy, hogy csak simán a megírás után lefuttatjuk? Ha igen, akkor elég annyi is, nem kell, hogy Windowsban is használható legyen, egyszerűen csak Visual Basic programmal meg kell írni, hogy le lehessen futtatni.
2012. nov. 21. 14:47
 4/15 anonim ***** válasza:
A világ minden problémájára nem lehet a megoldásokat megtalálni, csak eszközöket, amiket aztán kombinálni kell. Mint nem egy bonyolult dolog az algoritmus. Egyedül a képernyő kezelés lehet problémásabb...
2012. nov. 21. 14:48
Hasznos számodra ez a válasz?
 5/15 A kérdező kommentje:
Bal felső sarokba hogyan kel pozicionálni?
2012. nov. 21. 14:49
 6/15 A kérdező kommentje:
Fogalmam sincs, hogyan fogjak hozzá.
2012. nov. 21. 14:50
 7/15 anonim ***** válasza:
Grafikusan kell v. konzolban?
2012. nov. 21. 15:02
Hasznos számodra ez a válasz?
 8/15 A kérdező kommentje:
Úgy érted, hogy rendes képernyőkímélőt kell írni, vagy csak VB-n belül kell lefutnia? Ha így érted, akkor csak konzolban.
2012. nov. 21. 15:09
 9/15 A kérdező kommentje:
Amit leírtál te is, annak a gondolatmenete megvan nekem is a fejemben, de nem tudom, hogyan valósítsam meg. Maga a gondolatmenet az megvan.
2012. nov. 21. 15:10
 10/15 anonim ***** válasza:

Akkor már nem is olyan vészes. A konzol méretet tudjuk: 80 oszlop és 25-sornak eltételezve.

Fogsz egy ekkora karakter tömböt, nevezzük display-nek, megtöltöd szóközzel és kiírod. Kész a primitív képernyő törlés.

Aztán fogsz két számot: x,y ezek lesznek a kezdő koordináták, 0 és 0 értéket vesznek fel. A karakter tömb megfelelő pozícióira bemásolod a szöveget. Majd kiírod a display-t.

Várunk kicsit, feltöltjük a display-t szóközökkel, x és y értékét 1-el növeljük, majd a szöveget megint beleírjuk a display-be, is a display-t kiírjuk.

A visszapattanásra már magadtól is rá kellene, hogy jöjj!

2012. nov. 21. 15:14
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!