Wyświetl komunikat w żądanym miejscu na ekranie. Kontrola szerokości wyjściowej

Każdy obiekt klienta ma metodę Give_game_news. Wyświetla komunikaty na ekranie. Eksperyment wykazał, że komunikat może zostać wyprowadzony z absolutnie dowolnego obiektu klienta, nawet z kawałka kiełbasy (chwała geniuszowi projektowemu GSC! Dlaczego nie stworzyć po prostu funkcji globalnej?). Kierując się jednak tradycją i zdrowym rozsądkiem nadal będziemy używać do tego przedmiotu odpowiadającego GG, czyli tzw. aktor.

lokalny aktor = alife() :actor() --pobierz obiekt serwera aktora lokalny aktor = poziom.obiekt_by_id(sactor.id) --za pomocą jego identyfikatora otrzymujemy obiekt klienta aktora aktor:daj_wiadomości_gry( „Wolność dla skoczków!\\ nJerboa ze wszystkich krajów, łączcie się!”, -- ciąg komunikatu, może być wielowierszowy„uuu \\ui_npc_monster", --tekstura, z której pochodzi awatar „nadawcy”. Frect() :set(0,215,163,105) , --współrzędne i wymiary obrazu wyciętego z tekstury matematyka.losowa (1000 , 3000 ), --rozpocznij wyświetlanie wiadomości od bieżącego momentu (w milisekundach) 5000 --czas trwania wyświetlania komunikatu (w milisekundach) )

Dodać. komentarze do argumentów Give_game_news

Nazwa tekstury to nazwa pliku dds bez rozszerzenia, adresowana względem folderu \gamedata\textures\ w tym wyrażeniu:

Frect():set(0,215,163,105)

0,215 - są to współrzędne lewego górnego rogu żądanego obrazu;
163,105 - jego wymiary.
Wymiary i współrzędne mogą być dowolne, ale powstały obraz zostanie powiększony lub zmniejszony do wymiarów 83x47. W tym przypadku obraz jerboa z pliku ui_npc_monster.dds zostało zredukowane. Parametr czasu rozpoczęcia wyświetlania jest oczywiście potrzebny, aby ożywić grę. Faktem jest, że kod Lua otrzymuje kontrolę tylko w określonych momentach, zgodnie z określonymi wydarzeniami. W takim momencie możesz wygenerować wiązkę komunikatów i rozłożyć je w czasie za pomocą tego parametru, tworząc w ten sposób swego rodzaju imitację aktywności życiowej na najbliższą przyszłość. Myślę, że w ten sam sposób można naśladować dialog. Generowana jest po prostu grupa komunikatów, a dane wyjściowe są wysyłane do nich w krótkich odstępach czasu.

Instrukcje

Aby się wycofać ekran wiadomość, w systemie operacyjnym Windows wystarczy napisać mały skrypt w języku Visual Basic. Utwórz plik tekstowy script.txt. Nazwa i lokalizacja pliku nie mają znaczenia. Otwórz plik w dowolnym edytorze tekstu. Wpisz ciąg: „MsgBox „tekst wiadomości”” (bez „jodełek”, ale z cudzysłowem „kreski”). Zapisz plik i zamknij edytor tekstu. Zmień rozszerzenie pliku na *.vbs. Ikona powinna się zmienić. Teraz system operacyjny postrzega ten plik nie jako plik tekstowy, ale jako zestaw poleceń wykonywanych przez interpreter Visual Basic wbudowany w system Windows. Komponent ten występuje we wszystkich systemach operacyjnych z tej rodziny, począwszy od XP, co pozwala na uruchomienie skryptu na dowolnym komputerze. Po uruchomieniu ten skrypt wyświetli wynik wiadomość w oknie. Tekst w cudzysłowie może być dowolny.

Alternatywą dla skryptu VBS jest napisanie skryptu Java. Język Java jest bardziej złożony, ale napisany w nim skrypt można uruchomić nie tylko na systemach operacyjnych Windows, ale także na wielu innych. Utwórz plik tekstowy, otwórz go w edytorze i wpisz wiersz "WScript.Echo("tekst wiadomości");". Nie ma potrzeby wpisywania cudzysłowów zewnętrznych, jeśli jednak nie wprowadzisz cudzysłowów wewnętrznych (tych, które otaczają tekst), skrypt nie będzie działać. Zmień rozszerzenie pliku na *.js. Uruchom plik w celu wykonania. W rezultacie wyświetli się okno dokładnie takie samo, jak przy pisaniu programu w Visual Basicu.

Istnieje inny sposób wysyłania wiadomości - za pomocą polecenia net send. Zaletą i cechą charakterystyczną tej metody jest to, że wiadomość można przesłać do dowolnego komputera w sieci lokalnej. Na klawiaturze naciśnij jednocześnie klawisze win+r, w oknie, które zostanie otwarte, wpisz wiersz cmd i naciśnij Enter. Otworzy się okno wprowadzania poleceń. Wpisz w nim „net send nazwa komputera wiadomość" (bez cudzysłowów) i naciśnij klawisz Enter. Wyświetlony zostanie określony komputer wiadomość prawie tak samo, jakby zostało to zrobione przy użyciu skryptu na komputerze lokalnym. Należy pamiętać, że będzie on zawierał adres zwrotny. Zamiast nazwy komputera odbiorcy wiadomości możesz podać adres IP.

Najprostszym programem jest program do wyświetlania tekstu na ekranie. Zasadniczo większość uczniów zapoznaje się z językami programowania z niego. Napisanie tego samemu jest dość łatwe, najważniejsze jest zrozumienie interfejsu kompilatora i podstaw języka programowania.

Będziesz potrzebować

  • - Qt SDK.

Instrukcje

Pobierz dowolny program kompilujący na swój komputer. Najlepiej korzystać ze znanych programów, jak np. Nokia Qt SDK, gdyż ma on najbardziej intuicyjny interfejs i będzie wygodniejszy w obsłudze dla początkujących użytkowników. Pobierz go z oficjalnej strony i pod żadnym pozorem nie myl go z Qt-Creatorem.Zainstaluj kompilator na swoim komputerze i uruchom go.

Wybierz utworzenie projektu o nazwie Hello World. W tym celu kliknij opcję Utwórz projekt w prawym dolnym rogu i w nowym oknie, które się pojawi, wybierz typ aplikacji. W Językach programowania wybierz C++. W następnym oknie wpisz nazwę helloworld. Następnie wybierz urządzenie, jeśli program nie jest opracowywany do użytku na komputerze osobistym.

Kliknij dwukrotnie Dalej, w ostatnim oknie wybierz żądaną konfigurację i kliknij OK. Zobaczysz pole robocze, otwórz edytor, wybierz main po lewej stronie ekranu, wpisz słowa QLabel label (Hello Everyboby) pod linijką #endif. Możesz użyć dowolnego wyrażenia, które ci się podoba. Umieść / na końcu linii.

Wszystkie programy C++ utworzone w lekcjach 1 i 2 korzystały ze strumienia wyjściowego cout do wyświetlania komunikatów na ekranie. W tym samouczku będziesz używać cout do wyprowadzania znaków, liczb całkowitych, takich jak 1001, i liczb zmiennoprzecinkowych, takich jak 0,12345. Pod koniec tej lekcji opanujesz następujące podstawowe pojęcia:

  • Aby wydrukować znaki i cyfry na ekranie, możesz użyć strumienia wyjściowego cout.
  • W C++ możesz go używać z cout znaki specjalne dla wyjścia tabulacji lub nowej linii, a nawet do odtwarzania dźwięku na komputerze.
  • W C++ można łatwo wyświetlać liczby w formacie dziesiętnym, ósemkowym (podstawa 8) lub szesnastkowym (podstawa 16).
  • Używając instrukcji przekierowania w wierszu poleceń systemu operacyjnego, możesz przekierować komunikaty wyjściowe programu, do których są wysyłane cout, z ekranu do pliku lub drukarki.
  • Korzystanie ze strumienia wyjściowego cer, Twoje programy mogą wysyłać wiadomości do standardowego urządzenia błędów, eliminując potrzebę przekierowywania wiadomości przez użytkowników.
  • Możesz sformatować dane wyjściowe programu za pomocą modyfikatora setw wewnątrz strumienia wyjściowego.

Prawie każdy program C++, który tworzysz, używa cout do wyświetlania komunikatów na ekranie. W tym samouczku dowiesz się, jak lepiej używać pliku som/.

UŻYWANIE cout DO WYJŚCIA NUMERÓW

Do tej pory utworzone przez Ciebie programy używały polecenia so/ do wyświetlania danych ciągi znaków(litery i cyfry w cudzysłowie). Teraz dowiesz się, że som/ można także używać do drukowania liczb. Następujący program 1001.CPP wyświetla na ekranie liczbę 1001:

#włączać

Unieważnij główny (pusty)

{
cout<< 1001;
}

Skompiluj i uruchom ten program. Liczba 1001 zostanie wyświetlona na ekranie, jak pokazano poniżej:

C:\>1001

1001

Cout<< 2002;

Oprócz wyświetlania liczby całkowite(liczby bez przecinka dziesiętnego), som/umożliwia także wyświetlanie programów Liczb zmiennoprzecinkowych, na przykład 1,2345. Następujący program FLOATING.CPP używa som/ do wypisywania na ekranie liczby 0,12345:

#włączać

Unieważnij główny (pusty)

{
cout<< 0.12345;
}

Tak jak poprzednio, skompiluj i uruchom ten program. Na ekranie pojawią się następujące dane wyjściowe:

C:\>PŁYWAJĄCE

0.12345

WYSYŁAJ KILKA WARTOŚCI W TYM SAMYM CZASIE

Jak już wiesz, znak podwójnej mniejszej niż to operacja wstawiania(ta operacja wstawia znaki do strumienia wyjściowego w celu wyświetlenia). Używając cout możesz użyć wielu operacji wstawiania w jednej instrukcji. Na przykład następujący program 1001TOO.CPP czterokrotnie używa tej operacji, aby wyświetlić na ekranie liczbę 1001:

#włączać

Unieważnij główny (pusty)

(
cout<< 1 << 0 << 0 << 1;
}

Po skompilowaniu i uruchomieniu tego programu na ekranie pojawi się następujący komunikat:

C:\>1001TOO

1001

Za każdym razem, gdy w C++ napotykana jest operacja wstawiania, liczba lub znaki są po prostu dodawane do tych znajdujących się aktualnie w strumieniu wyjściowym. Poniższy program SHOW1001.CPP używa cout wypisuje ciąg znaków i liczbę:

#włączać

Unieważnij główny (pusty)

{
cout<< "Мое любимое число равно " << 1001;
}

Zwróć uwagę na spację po słowie równa się(w cudzysłowie) służy do oddzielenia liczby 1001 od tego słowa. Bez spacji liczba łączy się z następnym słowem (równym 1001). Podobnie następujący program 1001MID.CPP wyświetla liczbę 1001 w środku ciągu znaków:

#włączać

Unieważnij główny (pusty)

{
cout<< „Numer”<< 1001 << " мне очень нравится";
}

Tak jak poprzednio, zwróć uwagę na rozmieszczenie spacji przed i po liczbie 1001.

Na koniec następujący program MIXMATCH.CPP łączy łańcuchy, znaki, liczby całkowite i zmiennoprzecinkowe w tym samym strumieniu wyjściowym:

#włączać

Unieważnij główny (pusty)

{
cout<< "B " << 20 << " lat moja pensja wynosiła „<< 493.34 << endl;
}

Po skompilowaniu i uruchomieniu tego programu na ekranie pojawią się następujące dane wyjściowe:

C:\>MIXMATCH

W wieku 20 lat moja pensja wynosiła 493,34

UŻYWANIE SPECJALNYCH ZNAKÓW WYJŚCIOWYCH

Wszystkie programy, które do tej pory stworzyłeś, wyświetlały swoje dane wyjściowe w postaci pojedynczej linii. Jednak większość programów, które utworzysz później, wyświetli wiele wierszy danych wyjściowych. Załóżmy na przykład, że piszesz program, który będzie wyświetlał adresy na ekranie. Prawdopodobnie będziesz chciał, aby adresy były wyświetlane w wielu wierszach.

Jeśli chcesz przesunąć kursor na początek następnej linii, możesz umieścić znak nowej linii(\n) do strumienia wyjściowego. W C++ dostępne są dwa różne sposoby generowania znaku nowej linii. Po pierwsze, możesz umieścić \n znaków w ciągu znaków. Na przykład następujący program TWOLINES.CPP wyświetla swoje dane wyjściowe w dwóch liniach, używając znaku nowej linii:

#włączać

Unieważnij główny (pusty)
{
cout<< "Это строка один\nЭто строка два";
}

Kiedy skompilujesz i uruchomisz ten program, znak nowej linii spowoduje wygenerowanie dwóch linii wyjściowych, jak pokazano poniżej:

C:\>TWOLINES

To jest linia pierwsza

To jest linia druga

Jeśli nie wyprowadzasz ciągu znaków, możesz umieścić znak nowego wiersza w pojedynczych cudzysłowach. Na przykład następujący program NEWLINES.CPP wypisuje liczby 1, 0, 0 i 1, każda w osobnym wierszu:

#włączać

Unieważnij główny (pusty)
{
cout<< 1 << "\N"<< 0 << "\N"<< 0 << "\n" << 1;
}

Oprócz używania znaku nowej linii do przesuwania kursora na początek następnej linii, programy mogą używać tego znaku koniec(koniec linii). Poniższy program ENDL.CPP ilustruje użycie koniec aby przesunąć kursor na początek nowej linii:

#włączać

Unieważnij główny (pusty)

{
cout<< "А теперь..." << endl
<< "Учимся программировать на языке C++";
}

Tak jak poprzednio, po skompilowaniu i uruchomieniu tego programu wynik działania programu zostanie wyświetlony na ekranie w postaci dwóch linii:

C:\>ENDL

I teraz

Nauka programowania w C++

Na koniec następujący program ADDRESS.CPP wypisuje w kilku linijkach adres wydawcy „Jamsa Press”:

#włączać

Unieważnij główny (pusty)

{
cout<< "Jamsa Press" << endl;
cout<< "2975 South Rainbow, Suite I" << endl;
cout<< "Las Vegas, NV 89102" << endl;
}

Inne znaki specjalne

Oprócz znaku nowej linii, który umożliwia programom przesuwanie kursora na początek nowej linii, można używać znaków specjalnych wymienionych w tabeli. 3.1.

Tabela 3.1. Znaki specjalne do użycia z cout.

Symbol

Zamiar

\A

Symbol sygnału (lub dzwonka).

\B

Symbol powrotu

Symbol kanału strony

Znak nowej linii

\G

Powrót karetki (nie przesunięcie wiersza)

Poziomy znak tabulacji

Pionowy znak tabulacji

Znak ukośnika odwrotnego

Znak zapytania

Pojedyncze cytaty

Podwójne cudzysłowy

Znak zerowy

\000

Wartość ósemkowa, na przykład \007

\xhhh

Wartość szesnastkowa, np. \xFFFF

Komentarz: Podczas używania znaków specjalnych wymienionych w tabeli. 3.1, należy je umieścić w pojedynczym cudzysłowie, jeśli używasz samych znaków, np. „\n”, lub w podwójnych cudzysłowach, jeśli używasz ich w ciągu znaków, np. „Hi\nMup!”.

Poniższy program, SPECIAL.CPP, używa specjalnych znaków sygnałowych (\a) i tabulatora (\t) do wysyłania dźwięku do wbudowanego głośnika komputera, a następnie wypisuje słowa Pierścień Pierścień Pierścień oddzielone tabulatorem:

#włączać

Unieważnij główny (pusty)

{
cout<< "3вонок\a\tЗвонок\a\tЗвонок\a";
}

WYJŚCIE WARTOŚCI ósemkowe i szesnastkowe

Programy zaprezentowane dotychczas w tej lekcji mają numery wyjściowe w postaci dziesiętnej. W zależności od przeznaczenia programów może być konieczne wypisanie liczb w formacie ósemkowym lub szesnastkowym. Aby to zrobić, możesz umieścić modyfikatory grudzień, październik I klątwa wewnątrz strumienia wyjściowego. Poniższy program OSTNEX.CPP używa tych modyfikatorów do wyświetlania wartości dziesiętnych, ósemkowych i szesnastkowych:

#włączać

Unieważnij główny (pusty)

{
cout<< "Восьмеричный: " << oct << 10 << " " << 20 << endl;
cout<< "Шестнадцатеричный: " << hex << 10 << " " << 20 << endl;
cout<< "Десятичный: " << dec << 10 << " " << 20 << endl;
}

Po skompilowaniu i uruchomieniu tego programu na ekranie pojawią się następujące dane wyjściowe:

C:\>OCTEX

Ósmkowe: 12 24

Szesnastkowy: a 14

Dziesiętne: 10 20

Notatka: Jeśli użyjesz jednego z modyfikatorów do wybrania wyniku ósemkowego, szesnastkowego lub dziesiętnego, twój wybór pozostanie ważny do zakończenia programu lub użycia innego modyfikatora.

WYSYŁANIE BŁĘDÓW DO STANDARDOWEGO URZĄDZENIA

Jak już wiesz, używając cout, Można przekierować dane wyjściowe programu do urządzenia lub pliku, korzystając z operatorów przekierowania danych wyjściowych systemu operacyjnego. Jeśli jednak Twoje programy napotkają błąd, prawdopodobnie nie chcesz, aby komunikat o błędzie był przekierowywany z ekranu. Przekierowanie komunikatów o błędach do pliku może ukryć przed użytkownikiem fakt wystąpienia błędu.

Jeśli Twój program musi wydrukować komunikat o błędzie, powinieneś użyć strumienia wyjściowego cer. Linki do C++ cer ze standardowym urządzeniem do usuwania błędów systemu operacyjnego. Poniższy program CERR.CPP wykorzystuje strumień wyjściowy cer aby wyświetlić komunikat na ekranie „Ten komunikat pojawia się zawsze”:

#włączać

Unieważnij główny (pusty)

{
cer<< "Это сообщение появляется всегда";
}

Skompiluj i uruchom ten program. Następnie spróbuj przekierować wyjście programu do pliku za pomocą operatora przekierowania wyjścia:

C:\>CERR>NAZWAPLIKU.EXT

Ponieważ system operacyjny nie pozwoli Twoim programom na przekierowywanie danych wyjściowych zapisanych na standardowe urządzenie błędów, na ekranie pojawi się komunikat.

KONTROLA SZEROKOŚCI WYJŚCIOWEJ

Kilka poprzednich programów wyświetlało liczby na ekranie. Aby liczby te były wyświetlane poprawnie (z zachowaniem odpowiednich odstępów), w programach umieszczano spacje przed i po liczbach. Podczas wycofywania się do cout Lub cer Twoje programy mogą określić szerokość wyjściową każdej liczby za pomocą modyfikatora setw(ustawienie szerokości). Używając setw programy określają minimalną liczbę znaków, jaką może zająć liczba. Na przykład następujący program SETW.CPP używa modyfikatora setw aby wybrać szerokości 3, 4, 5 i 6 dla liczby 1001. Aby użyć modyfikatora zestaw, Twój program musi zawierać plik nagłówkowy iomanip.h:

#włączać

#włączać

Pusty główny (pusty)

{
cout<< "Мое любимое число равно" << setw(3) << 1001 << endl;
cout<< "Мое любимое число равно" << setw(4) << 1001 << endl;
cout<< "Мое любимое число равно" << setw(5) << 1001 << endl;
cout<< "Мое любимое число равно" << setw(6) << 1001 << endl;
}

Po skompilowaniu i uruchomieniu tego programu na ekranie pojawią się następujące dane wyjściowe:

C:\>SETW

Moja ulubiona liczba to 1001

Moja ulubiona liczba to 1001

Jeśli określisz szerokość za pomocą zestaw, wskazujesz minimum liczba pozycji znakowych zajmowanych przez liczbę. W poprzednim programie modyfikator zestaw(3) określono co najmniej trzy znaki. Ponieważ jednak liczba 1001 wymagała więcej niż trzech znaków, cout użył faktycznie wymaganej ilości, która w tym przypadku wynosiła cztery. Należy zauważyć, że podczas używania setw aby wybrać szerokość, określona szerokość obowiązuje przy wyświetlaniu tylko jednej liczby. Jeśli chcesz określić szerokość dla wielu liczb, powinieneś użyć setw wielokrotnie.

Komentarz: Poprzedni program korzysta z pliku nagłówkowego IOMANIP.H. Być może trzeba będzie teraz wydrukować i sprawdzić zawartość tego pliku. Podobnie jak w przypadku pliku nagłówkowego IOSTREAM.H, plik ten znajdziesz w podkatalogu INCLUDE w katalogu plików kompilatora.

CO MUSISZ WIEDZIEĆ

W tym samouczku nauczyłeś się kilku sposobów użycia cout aby wyświetlić wynik na ekranie. Będą używane wszystkie programy, które utworzysz w dalszej części tej książki cout aby wyświetlić dane wyjściowe. W Lekcji 4 dowiesz się, jak używać zmiennych w swoich programach do przechowywania wartości, które mogą zmieniać się w trakcie działania programu. Zanim jednak zaczniesz studiować Lekcję 4, upewnij się, że opanowałeś następujące podstawowe pojęcia:

    1. Strumień wyjściowy cout umożliwia wyprowadzanie znaków i cyfr.
    2. Używając znaków specjalnych w strumieniu wyjściowym, program może wskazywać znak nowej linii, tabulator i inne funkcje specjalne.
    3. Aby przesunąć kursor na początek następnej linii, programy mogą utworzyć nową linię za pomocą znaku \n lub modyfikatora koniec
    4. Modyfikatory grudzień, październik I klątwa Zezwalaj programom na wyświetlanie wartości w formacie dziesiętnym, ósemkowym i szesnastkowym.
    5. Korzystanie ze strumienia wyjściowego cer, programy mogą zapisywać komunikaty na standardowym urządzeniu błędów systemu operacyjnego.
    6. Korzystanie z modyfikatora setw Twoje programy mogą kontrolować szerokość wyjścia liczbowego.