Első órák QBasic

5. A munka a monitor szöveges módban

Modern számítógépes monitor működhet két módja van: a szöveg és grafika. A Quick Basic programozási nyelv, módszerek megjelenítésére a képernyőn megjelenő információkat mindkét üzemmódban.







Gondold át, mit és hogyan lehet megjeleníteni szöveges módban.

5.1. Színkezelés szöveges módban

Operator SZÍN tsvet_simvola, tsvet_fona színét állítja be a megjelenített karakterek és a háttér szimbólum alatt.

A szimbólum színe - egy szám 0-15, azaz a szimbólum jelenik meg a képernyőn, egy 16 színben.

Háttérszín - egy szám 0-7.

Ha a szín nyilatkozatot a program egyáltalán nem, Quick Basic beállítja az alapértelmezett szín 7 (fehér) a szimbólum és a szín 0 (fekete) a háttérben.

Minden szín - ez a kombináció a három alapszín - piros, zöld és kék. Minden szín jeleníthető alacsony vagy nagy intenzitású (fényesség).

Létrehoztunk egy táblázatot a színek. A jelenléte a színek a színes komponens ünnepli az egység, és annak hiánya - nulla.

Ha egy szín a táblázatban megadott, adjunk hozzá 16, akkor a karakter jelenik meg az azonos színű, de emellett villogni kezd. Így, ha a szimbólum színe van megadva értékű kód 16-31, megkapjuk a megfelelő villogó szín.

Példa: a szokásos piros - 4; Villog - 20.

Feladat. Töltse PRG.BAS programot, és csíkos, különböző színekben.

Bizonyos karakterek nem olyan egyszerű, hogy megjelenjen, egyszerűen azért, mert nem a billentyűzeten. Ez különösen érvényes a rajz karaktereket.

Karakter grafika - azok a karakterek, amelyek segítségével felhívni a sorok, dobozok, és egyéb grafikus szöveges módban. pszeudo-szimbólumok a megszokottól eltérő karakterek elfoglalja a teljes szélesség (magasság) helyet adott karakter a képernyőn. Így, hogy egymás mellé helyezve, összeolvad és egy olyan folytonos vonalat.

Ha látni szeretné a karakter, ami nem a billentyűzeten. meg kell nyomni az Alt gombot, és tartsa úgy a másik kezével írja be a karakter kódját (a szám 0 és 255 közötti). (Néhány billentyűzet járművezetők psevdosimvolov üzemmód tárcsával.)

Íme néhány speciális karakter.

Feladat. A kijelző a szimbólum táblázatot.

Határozat. Segítségével a CHR $ megszerzése egy adott karakter:

és azonnal levezetni azt a képernyőn PRINT utasítást. Ahhoz, hogy illeszkedjen az összes karakter a képernyőn, rendezni őket egy 16x16 táblázatban. Megszámozzuk a sorok és oszlopok a táblázat számok 0 és 15 Ezután a karakterkód, állva metszéspontjában az i-edik sorának és j-edik oszlop. érték egyenlő az 16 * i + j. Szervezünk egy következtetés mintájára a táblázat:

Írjunk egy programot néven TABL.BAS és végrehajtani. A képernyőn megjelenik egy táblázat, de néhány helyen az üres lesz - nincs grafikus ábrázolása ezeket a kódokat. De ez nem jelenti azt, hogy nem lehet használni a programban! Például, ha a hangjel, PRINT CHR $ (12) $ (7) Az üzemeltető PRINT CHR elosztott törli a képernyőt, PRINT CHR $ (13) a kurzort egy új sor, stb

Persze, gyakrabban, ugyanezt az eljárást lehet tenni „standard” szereplők: beep - beep, CLS - tiszta képernyő, sortörés, automatikusan történik, miután a kijelző (ha csak a végén PRINT állítás nem pontosvessző, hogy elnyomja az új sor! ). Néha a tudás az karakter kód szükséges. Lehetetlen például, hogy az üzemeltető PRINT tartalmazó szöveget idézőjelbe, mert ez utóbbi tekintik korlátozások. Ahhoz, hogy megjelenjen a mondat: „Nézzen filmeket a moziban” Space kell írni egy „!”

PRINT „Nézzen filmeket a moziban”; CHR $ (34); "Space"; CHR $ (34); "!"

PRINT "Nézzen filmeket a moziban" + CHR $ (34) + "Space" + CHR $ (34) + "!"

Térjünk vissza a TABL.BAS programot. Mivel a karakterek egyenértékű az üzemeltető 12 CLS kódot. törlődik a képernyő képét az előző karakter, és mi nem látjuk őket (hacsak, hogy valami villant a képernyőn). Beírása, így ellenőrizni feltételei: a karakter kód nem egyenlő 12-ig (mivel a jel „nem egyenlő a” nem a billentyűzeten, akkor azt a képviselők két karakter: <> vagy><).

Megbízásokat. A szimbólumok ál „dolgozzon” a képernyőn keret, létra, zászló, kerítés, stb

6. A munka egy monitor grafikus módban

A grafikus mód a minimális elemeket, meg lehet jeleníteni nem szimbólum, és a pixel. A pixel (Display dot) jelentése egy kis téglalap, amelynek méretei függenek a telepített grafikus módban. A bal felső pontot a koordinátája a képernyőn (0,0), az OX tengely a jobb tengely O Y - lefelé, azaz a Az alsó pontot a képernyőn, annál koordináta tengely mentén OY ..







Képernyős módban száma üzemeltető átalakítja a képernyős módban a szöveg egy grafikus a megadott számot. SCREEN Ha az üzemben nincs megadva, a szöveges mód. Szöveg mód 0, ezért ha azt szeretnénk, hogy menjen a grafikus módban a szöveg, használja a SCREEN 0. Néha, amikor visszatér egy grafikus mód (pl SCREEN 7) szöveg karakter széles. Vissza őket a normál méretű, csak üzemben szélesség 80. Grafikus mód különbözik felbontású (több „pontok”) a képernyő és a számos lehetséges szín.

Például SCREEN 7. beállítja a képernyő felbontása 320 pixel horizontálisan és 200 pixel függőlegesen. A helyzete tetszőleges pontot a képernyőn határozza meg két szám (x, y) a képernyőn koordinátarendszerben. A derékszögű koordináták, ez a rendszer azzal jellemezhető, hogy a Oy tengely lefelé irányul, és nem felfelé.

A grafikus mód, a mellett képes megjeleníteni karakterek és a geometriai formák: pontok, vonalak, négyszögek, körök, stb Zárt alakzatok festhető át.

6.1. Rajz pontok és vonalak

PSET operátor (x, y) [, színes] festékek a színt pont a képernyőn.

LINE operátor (x1, y1) - (x2, y2) [, színes] húz egy összekötő szakasz pontot a képernyőn, melynek koordinátáit (x1, y1) és (x2, y2)

LINE üzemben - (x2, y2) [színes] húz egy összekötő vonal az utolsó pont a képernyőn a pont (x2, y2).

Színes ezek a kijelentések kap egy számot 0-tól 15. Ha a színt a grafikus kezelői nincs megadva, az összes vonalat kell húzni a fehér. (Milyen színű lehet a különböző grafikus módot később tárgyaljuk.)

Példa. Csatlakoztatásához pont (20, 45) és a (38, 144).

Feladat. Szerkesszünk háromszöget képernyő, téglalap, ötszög; rajzoljon egy házat. Record program "Ház" HOUSE.BAS fájlt.

6.2. Téglalapok, négyzetek

Rajzolj egy ház külön sorba - nem a legésszerűbb módja. Könnyen belátható, hogy a ház egy téglalapot a tetőn a két szegmensben. (Tehát felhívni a ház szinte mindent, kivéve a zseni látnokok és hivatásos művészek.) És akkor rajzoljon egy téglalapot az egyik szolgáltató

LINE (x1, y1) - (x2, y2), [Color], B

Ez az állítás dobozt rajzol egy téglalapot oldala párhuzamos a képernyő szélén. Point (x1, y1) és (x2, y2) a két csúcsot a téglalap található egyik átlója. Ha a szín hiányzik, akkor fehérre festett keretben. (De a „extra” vessző kell maradni!)

Mivel a lényeg a képernyő kis téglalapok, a kísérlet, hogy készítsen egy négyzet operátor

LINE (20, 20) - (120, 120). B

nem. A magasság a „tér” nagyobb lesz, mint a szélesség, bár mindkét fél azonos számú pixel. Csökkentse a pixelek számát a magassága egy „szögletes” 1,2-szer (1 képernyőn!) Vagy annyiszor növeli a szélessége a „tér” - csak akkor leszünk, hogy egy igazi téren. A korrekciós tényező az úgynevezett „nyúlás arány” pixel.

LINE operátor (x1, y1) - (x2, y2), [Color] BF felhívja ugyanaz, de a kitöltött téglalapot.

Feladat. Ahhoz, hogy rajzoljon a képernyőre egy piramis 10 fokozatban-téglalapok.

Határozat. Mi használjuk a tény, hogy a piramis forgásszimmetrikus. Rendezzük a tengelye a piramis a képernyő közepén. Felsorolni téglalap fentről lefelé számokat 1-től 10 Nyilvánvaló, hogy az értékek x1, y1, x2, y2 függ a számokat a téglalap. Mivel a szimmetria, hogy x1, meg kell vonni a 160 valamit, hogy x2 - add ugyanazt az összeget.

Forma a kiegészítő lemez.

SZÍN kijelentés ebben a módban saját speciális szintaxist:

SZÍN tsvet_fona, nomer_palitry

A háttérszín sokkal gazdagabb - ez lehet bármilyen, a 16 fő szín (0-15).

Alapértelmezett képernyő 1 meghatározza az első palettát.

SCREEN 2. meghatározza a felbontása 640 pixel vízszintesen, függőlegesen 200 képpont. Ez a grafikus módot, csak két színben - fekete-fehér, a „egyszer és mindenkorra”. A színes kijelentés ebben a módban nem megfelelő, és hatására a hibaüzenet „Illegális funkció hívás” ( „Érvénytelen függvényhívás”).

pixel magasság ebben az üzemmódban nagyobb, mint a szélessége 2,4-szer.

SCREEN 7 meghatározza felbontása 320 képpont vízszintesen 200 képpont függőlegesen, így a „nyúlás arány” pixel. mint az 1. képernyő egyenlő 1.2 ..

Ebben és a következő módok COLOR operátor irányítja a vonal színe, a szín, a képernyő háttérszíne és a szöveg karakterei. Megadhatja a színes festék minden kép az operátor (ha a szín nincs megadva, akkor a húzott a szín által meghatározott COLOR nyilatkozatot, és ha nincs üzemben -. A fényes fehér színű). SZÍN nyilatkozatot a következő:

SZÍN tsvet_linii, tsvet_fona

Vonal színe - egy szám 0-15, a háttér színe - egy számot 0-tól 7 a beállított paraméterek vonatkoznak a szöveggel, de ellentétben a szöveges módban nem jeleníthető villog. Ezen túlmenően, a változó a háttér színét, és hat a már levezetett szöveget!

SCREEN 8 meghatározza 640 képpont vízszintesen 200 képpont függőlegesen ( „nyúlás arány” = 2,4) és a képernyő 9-640 képpont vízszintesen 350 képpont függőlegesen. Jelenlegi érték „nyúlás arány” a 9 képernyő egyenlő 48/35. hogy gyakorlatilag egyenlő 1,37.

Monitorok, mint a VGA, SVGA más lehetséges grafikus mód. A leggyakrabban használt mód SCREEN 12 felbontása 640 pixel vízszintesen x 480 függőlegesen, amelyben a „nyúlás arány” pontosan megegyezik 1. Azonban ebben az állapotban SZÍN nyilatkozat meghatározza csak egy paraméter - a vonal színének (szimbólum). A háttér színe az üzemeltető nem kap!

Feladat. PIRAMIDA.BAS le a programot, és nézze meg az eredményt a figyelembe vett grafikus módot. Készíts egy lépés piramis különböző színekben. Bejelentkezés a rajz (a színes nyilatkozatot a háttér színét és a szöveg karakter).

6.5. Árnyékolástechnika tetszőleges régió

Ha a képernyő készült zárt görbe, a terület lehet tölteni benne. Az is lehetséges, hogy festeni, és a régió kívül maradt a görbe. Ebből a célból az üzemeltető

Paint (x, y), tsvet_zakraski, tsvet_granitsy

Egy pont (x, y) kell kap területen belül kell kitöltésével.

Ha a határ „lyukas”, a festék kitöltöm a régió, akkor is, ha a lyuk csak egy pixel. Ugyanez történik, ha a határ menti terület tartalmazza véletlenül darab különböző színű - az üzemeltető festék, mint egy lyuk.

Példa. Döntetlen a zászló Japán - egy piros kör, fehér alapon.