Święta w ASCII Art Czym jest ASCII Art? ASCII-Art to sposób tworzenia bardzo prostych rysunków w programach komputerowych,



Podobne dokumenty
Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

Microsoft Small Basic

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

System Informatyczny CELAB. Terminy, alarmy

Autor: dr inż. Katarzyna Rudnik

1. Tworzenie prezentacji multimedialnych w programie Microsoft Office PowerPoint Artur Grabowski

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Program współpracuje z : Windows XP, Powerdraft 2004, v8, XM, Microstation 2004, v8, XM.

Instrukcja programu użytkownika OmegaUW.Exe. Program obsługuje następujące drukarki fiskalne: ELZAB OMEGA II generacji ELZAB OMEGA F, MERA, MERA F.

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

1. Wprowadzanie danych z klawiatury funkcja scanf

Programowanie na poziomie sprzętu. Programowanie w Windows API

Viszio. SZARP v3.1. Adam Smyk. 1. Uruchamianie programu. SZARP

Polimorfizm w pigułce

Szybkie tworzenie grafiki w GcIde

Kolory elementów. Kolory elementów

SKRYPTY w programie AUTOCAD jako ciąg poleceń. Tworzenie i odtwarzanie skryptów

Diagnoza Szkolna Pearsona. Instrukcja obsługi

Laboratorium - Narzędzia linii uruchamiania w systemie Windows 7

Praca w środowisku Visual Studio 2008, Visual C

BSP_LCD_Clear(LCD_COLOR_WHITE); BSP_LCD_SetFont(&Font16); BSP_LCD_SetTextColor(LCD_COLOR_BLACK);

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

INFORMATYKA TEST DIAGNOZUJĄCY WIEDZĘ Z ZAKRESU GIMNAZJUM

INSTRUKCJE REPETYCYJNE PĘTLE

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Laboratorium - Narzędzie linii uruchamiania w systemie Windows Vista

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

Edytor tekstu MS Office Word

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

Wstęp do poradnika metodycznego Przykładowy rozkład materiału 13 I rok nauczania...13 II rok nauczania...13 Rozkład materiału:...

ROZKŁADY MATERIAŁU PRZEDMIOT ELEMENTY INFORMATYKI KLASA IV, V I VI.

Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja;

FAKTURY SERYJNE. I. Kalendarz. II. Fakturowanie seryjne

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

dr inż. Jarosław Forenc

Zasady tworzenia prezentacji multimedialnych

1. Wstęp Pierwsze uruchomienie Przygotowanie kompozycji Wybór kompozycji Edycja kompozycji...

INSTRUKCJA OBSŁUGI. Program ProCELL. Wersja: 1.15

Warszawa dnia 2 stycznia 2011 r. Zbiór zadań z programowania w języku C do samodzielnego wykonania

Tematy lekcji informatyki klasa 4a marzec 2012

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Kolorowanie kalendarzy enova KADRY i PŁACE

Monitory Opracował: Andrzej Nowak

Budowa i generowanie planszy

lekcja 8a Gry komputerowe MasterMind

Visual Studio instalacja

Wprowadzenie do programowania urządzeń Arduino (Arduino dla Informatyków)

Cykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp

Atrybuty bloki z atrybutami, wyciągi atrybutów.

ZAJĘCIA KOMPUTEROWE KLASA IV. Opis wymagań, które uczeń powinien spełnić, aby uzyskać ocenę:

PROSTY PROGRAM DO MALOWANIA

Rysowanie punktów na powierzchni graficznej

Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania.

Konsola operatora TKombajn

Sylabus Moduł 2: Przetwarzanie tekstów

Klasa I Bezpieczeństwo i higiena pracy z komputerem

Podręcznik ustawień Wi-Fi

Zadanie 9. Projektowanie stron dokumentu

Skróty klawiaturowe w PowerPoint

Misja#3. Robimy film animowany.

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Tematy lekcji zajęć komputerowych klasa 4b grupa 2

Zajęcia komputerowe klasy I-III- wymagania

Omega Plus. Wersja

Utworzenie pliku. Dowiesz się:

Windows XP Wiersz polecenia

Tematy lekcji zajęć komputerowych klasa 4a grupa 1

Wybór urządzenia/ Scanner Selection Screen: Skrócony Opis Programu MetroSet 2

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na r.

Podręcznik użytkownika programu. Ceremonia 3.1

Baltie 3. Podręcznik do nauki programowania dla klas IV - VI szkoły podstawowej. Tadeusz Sołtys, Bohumír Soukup

INFORMATYKA KLASA VII Wymagania na poszczególne oceny

Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum

EDYCJA TEKSTU MS WORDPAD

System Wsparcia Organizacji Zakupów w GRUPIE TAURON - Podręcznik Oferenta

Instrukcja obsługi programu Do-Exp

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Klasa I. 1. Komputer wśród nas 2 godz Bezpieczeństwo i higiena pracy przy komputerze.

Pliki. Informacje ogólne. Obsługa plików w języku C

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Wykład :37 PP2_W9

PyGame Gra w Ponga. Spis treści

Program V-SIM tworzenie plików video z przebiegu symulacji

Rozkład materiału realizacji informatyki w szkole podstawowej w wymiarze 2 godzin w cyklu trzyletnim

TUNER DVB-T PRZEWODNIK UŻYTKOWNIKA

UONET+ moduł Dziennik

Jak dodać własny szablon ramki w programie dibudka i dilustro

enova Systemowe Kolorowanie list

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

POMOC / INSTRUKCJA OBSŁUGI

Moduł IV Internet Tworzenie stron www

Tematy lekcji informatyki klasa 4a luty/marzec 2013

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Transkrypt:

Podstawy Informatyki 1 mgr inż. Tomasz Jaworski Święta w ASCII Art Czym jest ASCII Art? ASCII-Art to sposób tworzenia bardzo prostych rysunków w programach komputerowych, w których pracuje się z tekstem (np. edytory, programy pocztowe, itp.). Rysunki te są układane za pomocą zwykłych znaków ASCII, stawianych na obszarze o stałej szerokości kolumn (stałej ilości znaków w każdym wierszu) oraz o stałej wysokości znaków (tym samym stopniu pisma). Tego typu sposób tworzenia grafiki, a raczej jej symbolizowania, nosi nazwę semigrafiki. Pierwotnie rysunki ASCII-Art tworzono w programach pracujących w trybie tekstowym, z czasem zaczęto tworzyć je również w programach pracujących w trybie graficznym, wykorzystując fonty http://koolinus.wordpress.com/2008/12/25/merry-christmas-2008-edition/ o stałym kroju pisma. ASCII-Art były początkowo tworzone z myślą o wydrukowaniu ich na drukarkach znakowych a nie graficznych. Obecnie stosowane są również np. w sygnaturkach programów pocztowych. Jednym z przykładów prostych ASCII-Art mogą być emotikony. Źródło: http://pl.wikipedia.org/wiki/ascii-art Jako przykład tego typu sztuki, posłużyć może poniższy napis Podstawy Informatyki. \ / _ (_) _/ / _ _ _ / _ \ / _` / / _` \ \ /\ / / '_ \ _/ _ \ ' '_ ` _ \ / _` / / (_) (_ \ \ (_ \ V V / _ _ (_) (_ _ _ < \_ \ / \,_ /\ \,_ \_/\_/ \, \ /_ _ _ \ / _ _ _ _ \,_ \ \, _ \_\_ / / / / Do jego utworzenia wykorzystano znaki \ / - ( ) V ` < >, dostępne z klawiatury. Rysunki ASCII Art można wyświetlać również w konsoli systemowej, za pomocą funkcji printf. Jednak natura tej funkcji nakłada pewne ograniczenia. Możliwy jest jeden kolor oraz brak zarządzania współrzędnymi (np. autor chce narysować losowe gwiazdki w różnych miejscach ekranu). W tym celu można wykorzystać funkcje systemowe (dla Windows a), aby wyświetlać dowolny napis pod dowolnie wybranymi współrzędnymi oraz w kolorze.

Wyświetlanie tekstu na współrzędnych i w kolorze Konsola tekstowa systemu Windows pozwala na wyświetlanie tekstów za pomocą funkcji putc/puts/printf itd... Tekst ten wyświetlany jest w domyślnym kolorze (szary na czarnym tle) oraz na współrzędnych określanych przez aktualną pozycję kursora. Wykorzystując funkcje z Windows API (ang. Application Programming Interface) możliwe jest dowolne ustawianie kursora w oknie konsoli oraz zmiana koloru wyświetlanych znaków oraz ich tła. Poniżej przedstawiono przykład funkcji która, korzystając z API konsoli systemu Windows, wyświetla tekst w dowolnym punkcie tej konsoli. Przykład: #include <windows.h> void gotoxy(int x, int y) HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE); COORD position = x, y; SetConsoleCursorPosition(hStdout, position); gotoxy(35, 2); // kolumna 35, wiersz 2 printf("witaj!"); Współrzędne znaków na ekranie: Kolumna (x) x=0;y=0 x=1;y=0 x=2;y=0 x=3;y=0... Wiersz (y) x=0;y=1 x=1;y=1 x=2;y=1...... x=0;y=2 x=1;y=2 x=2;y=2..................... A kolor? #include <windows.h> #define CZARNY 0 #define NIEBIESKI 1 #define ZIELONY 2 #define CZERWONY 4 #define JASNOSC 8 #define MORSKI (NIEBIESKI + ZIELONY) #define PURPUROWY (CZERWONY + NIEBIESKI) #define BRAZOWY (CZERWONY + ZIELONY) #define SZARY (CZERWONY + NIEBIESKI + ZIELONY) #define JASNY_NIEBIESKI #define JASNY_ZIELONY #define JASNY_CZERWONY #define TURKUSOWY #define ROZOWY #define ZOLTY (JASNOSC + NIEBIESKI) (JASNOSC + ZIELONY) (JASNOSC + CZERWONY) (JASNOSC + AQUA) (JASNOSC + PURPUROWY) (JASNOSC + ZOLTY0

#define BIALY (JASNOSC + SZARY) void print(int x, int y, int kolor_znaku, int kolor_tla, const char* tekst) HANDLE uchwyt_konsoli = GetStdHandle(STD_OUTPUT_HANDLE); // ustawienie kursora COORD position = x, y ; SetConsoleCursorPosition(uchwyt_konsoli, position); // zapamietanie aktualnego koloru WORD stary_kolor; CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(uchwyt_konsoli, &info); stary_kolor = info.wattributes; // ustawienie nowego koloru, wyswietlenie tkstu i przywrócenie koloru SetConsoleTextAttribute(uchwyt_konsoli, kolor_znaku + 16*kolor_tla); puts(tekst); SetConsoleTextAttribute(uchwyt_konsoli, stary_kolor); Oraz przykład wykorzystania funkcji print Wyświetla on tekst pod zadanymi współrzędnymi x,y oraz w kolorze, wybranym przez programistę. print(25, 5, JASNY_NIEBIESKI, CZARNY, "niebieski"); print(18, 5, JASNY_ZIELONY, CZARNY, "zielony"); print(10, 5, JASNY_CZERWONY, CZARNY, "czerwony"); wynik: Czyszczenie ekranu zadanym kolorem void clrscr(int kolor_tla) HANDLE uchwyt_konsoli = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = 0, 0; DWORD count; // pobranie informacji o oknie konsoli CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(uchwyt_konsoli, &info); // wypelnienie okna pustymi znakami (spacjami) FillConsoleOutputCharacter(uchwyt_konsoli, ' ', info.dwsize.x * info.dwsize.y, coord, &count); // ustawienie jednego koloru/tla dla kazdego znaku konsoli

FillConsoleOutputAttribute(uchwyt_konsoli, 16*kolor_tla, info.dwsize.x * info.dwsize.y, coord, &count); // ustawienie kursora w punkcie 0,0 SetConsoleCursorPosition(uchwyt_konsoli, coord); Przykład użycia Poniższy przykład czyści ekran losowo wybranymi kolorami z częstotliwością 10Hz for(int i = 0; i < 10; i++) clrscr(rand()); Sleep(100); Animacja - opóźnienia czasowe Ideą animacji jest wyświetlanie sekwencji obrazów z szybkością dobraną tak, aby widz miał wrażenie płynności ruchu. Sprowadza się to do wyświetlania obrazów statycznych z zadaną częstotliwością, np. 30fps (ang. frames per second). Zakładając, że programista chce wyświetlać 5 obrazów na sekundę (5fps), czas przerwy pomiędzy kolejnymi obrazami to 1/5 sekundy lub 1/5x10 3 milisekundy. Wykorzystanie funkcji Sleep pozwala na uzyskanie przerwy czasowej, o długości zależnej od parametru tej funkcji. Prototyp: void Sleep(unsigned int milliseconds); Parametr milliseconds to długość przerwy czasowej w milisekundach. Jedna sekunda to 1000ms; 1 minuta to 60,000ms. Sleep przykład Poniższy przykład wyświetla liczby z zakresu 0 99, przy czym przerwy czasowe pomiędzy wyświetleniem kolejnych to 500ms (0,5 sek). int licznik; for (licznik = 0; licznik < 100; licznik++) printf("%d \n", licznik); Sleep(500); I w końcu... Zadanie świąteczne Wyświetl na ekranie konsoli kolorową choinkę z animacjami świeczek, gwiazdek, itd.. Warunek zaliczenia: choinka ma być ładna ;-)

Jeśli rysowanie choinki wydaje się zbyt trudne (zdolności plastyczna na poziomie gry Wisielec), to animowany napis Wesołych Świat też będzie mile widziany. Do napisów polecam narzędzie konsolowe FIGLET lub jego implementację w postaci serwera WWW: http://asciiset.com/figletserver.html Powodzenia oraz Wesołych Świąt!!