Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Студенческая лига Волгограда




Компонент Канва (класс TCanvas)

Компонент Шрифт (класс TFont)

Компонент Кисть (класс TBrush)

Компонент перо (класс TPen)

C помощью класса TPen создается объект Перо, служащий для вычерчивания линий, контуров и т. п.

Свойства:

Color:TColor – цвет вычерчиваемых линий;

Width:Integer – толщина линии в пикселях экрана;

Style:TPenStyle – стиль линий – учитывается только для толщины 1 пиксель:

psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsidFrame;

Mode:TPenMode – способ взаимодействия линий с фоном, например,

pmBlack – только черные линии,

pmWhite – только белые линии,

pmNop – линии не видны на фоне,

pmNot – инверсия фона и т.д..

Объекты класса TBrush служат для заполнения внутренего пространства (установки цвета фона и образца заполнения)

Свойства:

Color:TColor – цвет кисти:

clAqua (прозрачный), clBlack, clBlue, clDkGray, clFuchsia, clGray, clGreen, clLime (салатовый), clLtGray, clMaroon (каштановый), clNavy (синий), clOlive, clPurple (фиолетовый), clRed, clSilver (серебряный), clTeal, clWhite, clYellow

Style:TBrushStyle – стиль кисти (образец заполнения), например:

bsSolid (сплошное), bsClear (отсутствующее), bsHorizontal (горизонтальными линиями), bsVertical (вертикальными линиями), bsFDiagonal (прямыми диагоналями), bsBDiagonal (обратными диагоналями), bsCross (крестиками), bsDiagCross (диагональными крестиками);

BitMap:TBitMap – растровое изображение, которое будет использоваться кистью для заполнения, если свойство определено, то цвет и стиль игнорируются.

Объект класса TFont определяет шрифт, которым выводится текст.

Свойства:

Charset:TFontCharSet – набор символов:

RUSSIANCHARSET – русский, OEM_CHARSET – текст MS DOS;

Name:TFontName – имя шрифта, по умолчанию – MS Sans Serif;

Color:TColor – цвет;

Height:Integer – высота в пикселях;

Size:Integer – высота в пунктах (1/7 дюйма);

Pitch:TFontPitch – способ расположения букв в тексте:

fpFixed – моноширный текст,

fpVariable – пропорциональный текст,

fpDefault – ширина шрифта по умолчанию;

Style:TFontStyle – стиль шрифта – комбинация из:

fsBold – полужирный, fsItalic – курсив, fsUnderline – подчеркнутый,

fsStrikeOut – перечеркнутый.

Класс создает Канву – холст для рисования (поверхность для рисования). Рисование выполняется с помощью свойств и методов, входящих в класс TCanvas.

Свойства:

Brush:TBrush – кисть;

Pen:TPen – перо;

Font:TFont – шрифт;

PenPos:TPoint – определяет текущее положение пера над холстом в пикселях относительно левого верхнего угла;

CopyMode:TCopyMode – способ взаимодействия растрового изображения с цветом фона, используется при копировании части канвы на другую методом CopyRect:

cmBlackness – заполнение черным цветом,

cmDestInvert – заполнение инверсным фоном,

cmSrcCopy – копирует изображение источника на канву и т.д.;

Pixels[X,Y:Integer]:TColor – массив пикселей канвы.

Методы:

procedure MoveTo(X,Y:Integer) – перемещает перо в указанную точку;

procedure LineTo(X,Y:Integer) – чертит линию из текущей точки в заданную;

procedure Rectangle(X1, Y1, X2, Y2: Integer) – рисует и закрашивает кистью прямоугольник;

procedure Polyline(Points:array of TPoint) – рисует ломаную линию;

procedure Polygon(Points: array of TPoint) – рисует и закрашивает кистью многоугольник;

procedure Ellipse(X1, Y1, X2, Y2: Integer) – рисует эллипс в заданном прямоугольнике и закрашивает кистью;

procedure FrameRect(const Rect:TRect) – очерчивает границы прямоугольника текущей кистью без заполнения;

procedure Arc(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит дугу эллипса в прямоугольнике (X1,Y1,X2,Y2), направление – против часовой стрелки;

procedure Chord(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит сегмент эллипса в прямоугольнике (X1,Y1,X2,Y2), направление – против часовой стрелки;

procedure Pie(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит сектор эллипса в прямоугольнике (X1,Y1,X2,Y2), направление – против часовой стрелки;

procedure RoundRect(X1,Y1,X2,Y2, X3,Y3:integer) – чертит и заполняет прямоугольник с закругленными краями

procedure FillRect(const Rect: TRect) – закрашивает кистью прямоугольник, включая левую и верхнюю границы.

type TRect = record

case Integer of

0: (Left, Top, Right, Bottom: Integer);

1: (TopLeft, BottomRight: TPoint);

end;

procedure FloodFill(X,Y:Integer;Color:TColor;FillStyle:TFillStyle) – заливка области, зависит от типа TFillStyle.

type TFillStyle = (fsSurface,fsBorder);

FillStyle = fsBorder -заливка области с границей цвета Color;

FillStyle = fsSurface - заливка области цвета Color цветом, определенным кистью.

procedure TextOut(X,Y:Integer; const Text:string) – вывод строки текста шрифтом TFont в прямоугольник с верхним левым. углом в точке (X,Y);

function TextExtent(Const Text:String):TSize – возвращает ширину и высоту прямоугольника, охватывающего текстовую строку Text;

function TextWidth(Const Text:string):Integer – возвращает ширину прямоугольника, охватывающего текстовую строку;

5.3 Пример построения графического изображения

В качестве примера рассмотрим реализациюфрагмента графического редактора, который рисует на форме закрашенный прямоугольник.

Для рисования закрашенного прямоугольника необходимо отметить первый угол нажатием левой кнопки мыши. Второй угол фиксируется в момент отпускания левой кнопки. Пока кнопка нажата, за курсором мыши должен тянуть контур.

Рисунок 10 – Вид основной формы редактора

program Draw;

uses

Forms, MainUnit in 'MainUnit.pas' {MainForm};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm (TMainForm, MainForm);

Application.Run;

end.

 

unit MainUnit;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, ExtCtrls;

type

TMainForm = class(TForm)

ImagePole: TImage; {поле рисования}

ExitButton: TButton; {кнопка выхода}

procedure FormActivate (Sender: TObject);

procedure ImagePole MouseDown (Sender: TObject;

Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

{установка начальной точки}

procedure ImagePole MouseMove (Sender: TObject;

Shift: TShiftState; X, Y:Integer); {тянем контур,

пока мышь движется с нажатой кнопкой}

procedure ImagePole MouseUp (Sender: TObject;

Button: TMouseButton;Shift: TShiftState; X,Y:Integer);

{завершаем рисование прямоугольника}

procedure ExitButton Click (Sender: TObject);

end;

 

var MainForm: TMainForm;

 

implementation

Var Rect:TRect;first:boolean;

{$R *.DFM}

 

procedure TMainForm. FormActivate (Sender: TObject);

begin ImagePole.Canvas.Brush.Color:=clWhite end; {Установка

белого цвета фона}

end;

 

procedure TMainForm.ImagePole MouseDown (Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin {Координаты первой точки}

if Button=mbLeft then

begin Rect.Left:=x;

Rect.Top:=y;

first:=true;

end;

end;

 

procedure TMainForm.ImagePole MouseMove (Sender: TObject;

Shift: TShiftState; X, Y: Integer);

begin

if ssLeft in Shift then

begin

if first then first:=not first

else

begin

ImagePole.Canvas.Pen.Color:=clWhite; {Белое перо}

ImagePole.Canvas.Rectangle(Rect.Left,Rect.Top,

Rect.Right,Rect.Bottom); {Стираем}

end;

Rect.Right:=X; {Меняем координаты}

Rect.Bottom:=Y;

ImagePole.Canvas.Pen.Color:=clBlack; {Черное перо}

ImagePole.Canvas.Rectangle(Rect.Left,Rect.Top,

Rect.Right,Rect.Bottom); {Рисуем}

end;

end;

 

procedure TMainForm.ImagePoleMouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X,Y:Integer);

begin

if Button=mbLeft then

begin

ImagePole.Canvas.Pen.Color:=clWhite; {Белое перо}

ImagePole.Canvas.Rectangle(Rect.Left,Rect.Top,

Rect.Right,Rect.Bottom); {Стираем}

Rect.Right:=X; {Меняем координаты}

Rect.Bottom:=Y;

ImagePole.Canvas.Brush.Color:=clRed; {Красная кисть}

{Рисуем последний вариант - красный прямоугольник}

ImagePole.Canvas.FillRect(Rect);

ImagePole.Canvas.Pen.Color:=clBlack; {Черное перо}

end;

end;

 

procedure TMainForm.ExitButtonClick(Sender: TObject);

begin

Close;

end;

 

end.

 

Разбор вопросов со схемами раскрутки

2014 год

 

Предисловие от Сергея Ефимова

Перед началом сезона оргкомитет волгоградского клуба "Квинтел" окончательно понял, что дела плохи – стабильно играющих команд осталось всего четыре. Проводить среди них турнир на звание сильнейшей команды миллионного (ну плюс-минус) города было бы абсурдом. Поэтому мы решили запустить проект "Студенческая лига", которому одновременно был присвоен статус чемпионата Волгограда.

 

 

Большая часть работы была уже проделана Мишей Певневым – в организованных им студенческих и школьных лигах, разбросанных по нашему протяжённому городу, играло довольно много молодых команд. Идея объединить усилия во благо волгоградского ЧГК нашла у него поддержку, и проекту был дан старт.

 

Играть было решено на вопросах "Балтийского берега" (http://chgk-bb.livejournal.com/) – декларируемая организаторами сложность показалась приемлемым компромиссом между запросами опытных команд и новичков. В первом туре приняло участие 34 команды – больше не собрала ни одна площадка в мире. Пускай маленькая, но победа.

 

Однако по итогам первого тура стало ясно, что вопросы хоть командам и нравятся, но вот как их играть... Юра Воропаев предложил идею устроить своеобразный мастер-класс: опытные волгоградские знатоки разобрали несколько вопросов и на примере обсуждения в своих командах поделились секретами мастерства. Но, как я и писал в первом абзаце, опытных знатоков у нас осталось на четыре команды. Тут уже подключился я и предложил не только рассказать новичкам о технике игры, но и познакомить их с широкой географией мира спортивного ЧГК.

 

В итоге в проекте поучаствовали знатоки из 24 городов (Волгоград, Санкт-Петербург, Москва, Ижевск, Краснодар, Гомель, Саранск, Берлин, Хельсинки, Вологда, Сухуми, Пермь, Брест, Киев, Ереван, Рига, Иркутск, Самара, Королёв, Ростов-на-Дону, Навои, Баку, Франкфурт-на-Майне, Минск) и 10 стран (Россия, Белоруссия, Германия, Финляндия, Грузия, Украина, Армения, Латвия, Узбекистан, Азербайджан)!

 

Естественно, что не на все вопросы читатели найдут ответы в этом сборнике. Всё-таки у каждого своё восприятие вопроса, а у каждой команды - свой путь взятия. Но эта разница в подходах и вкусах и делает нашу игру такой интересной!

 

Мне хотелось бы выразить благодарность всем экспертам, которые согласились поучаствовать в нашем проекте. Друзья, спасибо вам за неоценимую помощь и время, которое вы согласились нам уделить. Проект в итоге вырос из локальных рамок и перерос в нечто большое. Отдельная благодарность Сергею Терентьеву - редактору пакета "Балтийского берега", который согласился рассказать, как вообще рождаются вопросы в голове у автора.

 

Спасибо проекту ДинаБанк, который согласился помочь в распространении материалов нашего проекта. Хочется верить, что это будет действительно полезно.


Вступительное слово от Сергея Терентьева (Санкт-Петербург),

который, по его словам, сам внимательно следил за проектом, и любезно согласился немного рассказать об особенностях работы редактора пакетов "Что? Где? Когда?", а также о том, как создавался пакет сыгранных и разобранных нами 36 вопросов.

Эксперт - Сергей Терентьев (команда "Призраки Коши" (Санкт-Петербург), редактор пакета вопросов 1-го тура синхрона "Балтийский Берег" 2014-2015:

 

– Свои первые вопросы я начал писать почти сразу, как начал играть в ЧГК (где-то в 15 лет), т.к. на городских турнирах каждая команда должна была подготовить свой тур. Сначала я не понимал, что нужно делать для того, чтобы написать хоть один вопрос. Но люди же как-то писали вопросы! Я начал внимательнее читать книги, задумываясь чуть ли не над каждым предложением. Выписывал показавшиеся интересными факты, из которых, впрочем, вопросы получались редко.

 

Первые свои вопросы я не помню. Помню только, что в одном из них пытался загадать химические элементы. Теперь я понимаю, что это были наивные вопросы, иногда без повода, иногда без логики и зачастую уже были написаны кем-то.

 

Я начал активно играть в ЧГК, читать старые турниры, у меня сформировалось собственное мнение о красоте вопросов. Теперь на игре я мог объяснить, почему тот или иной вопрос мне нравится или не нравится. Когда ты пропускаешь их через себя тысячами, то понимаешь, что существует не так много типов вопросов, а многие из них строится по похожим принципам.

 

Идеи для вопросов проще найти в малопопулярных источниках, т.к. десятки авторов параллельно с вами могут читать те же самые книги. Но это не значит, что после прочтённой одним из вопросников книги можно успокоиться и не надеяться выхватить из неё что-то интересное. Классический пример – произведение Мелвилла "Моби Дик". По нему написано уже множество вопросов, но почти каждый год появляются новые, а книгу же не дописывают.:) Вот и в нашем пакете была отсылка на "12 стульев".

 

Сейчас к написанию вопросов я отношусь как к творчеству. А что же это ещё? Вы создаёте короткое произведение, которое потом прочитают десятки, сотни людей, которые оценят его. Как автору мне приятно читать положительные отзывы от игроков, я рад, что моё творение принесло им радость на игре. Но и отрицательные, критические отзывы полезны – я понимаю, что мог бы сделать вопрос лучше, как мог бы изменить его. Но я отошёл в сторону и говорю о редакторской работе (т.е. о "шлифовке" вопроса, ведь почти всегда мало написать вопрос – нужно доработать его, сделать интереснее, лаконичнее и красивее).

 

Да, и ложка дёгтя: надо привыкнуть к тому, что не каждый понравившийся факт превратится в вопрос. При подготовке тура "Балтийского берега" мы написали больше 100 вопросов. Но, как видите, их осталось 37.:)

 

Вопросы по типу источников на мой взгляд, делятся на:

 

1. Написанные на основании какого-то источника.

 

2. Придуманные без источника.

 

Вопросы первого типа пишутся обычно во время чтения книги, просмотра фильма, прослушивания лекции. Это самый частый тип вопросов и наиболее естественный. Это может быть красивый образ или сравнение, неизвестный факт об известном (неважно что это – человек/событие/предмет). Научиться выхватывать интересные идеи можно со временем. Но хочу сразу расстроить – множество таких фактов уже обыгрывались в вопросах, и лучше это сразу проверить по базе вопросов (http://db.chgk.info/)

 

Второй тип вопросов наиболее сложный – к ним относятся, например, вопросы про Тетрис и кавычки.

 

Деление вопросов по типам построения в этот раз разбирать не буду – их всё же достаточно много. Для того, чтобы понять типы вопросов, могу посоветовать чаще играть или почитывать на досуге относительно свежие пакеты из базы вопросов. Чем больше практики, тем лучше вы играете и тем больше у вас шансов и самим стать авторами вопросов.

 

Больше читайте, играйте и пробуйте себя в этом необычном творчестве – написании вопросов!

 

Разминочный вопрос:

Пирс БрЕндон отмечает, что, хотя англичане и считали ЕГО городом греха, по сравнению с Шанхаем ОН выглядел благопристойно. Назовите этот город.

Ответ: Сингапур.

Комментарий: Англичане дали Сингапуру прозвище "грех в изобилии" (sin galore [син гэлО]). Редакторы надеются, что это их единственный грех в пакете, и заранее просят простить им возможные недочеты.

Источник: Брендон, П. Упадок и разрушение Британской империи 1781-1997 – М.: АСТ: АСТ. МОСКВА, 2010. – С. 540.

Автор: Дмитрий Петров (Санкт-Петербург)

Эксперт - Михаил Кухтик ("Альтависта"\"Тахион"\"Карты Карно" (Волгоград):

– Разминочные вопросы предназначены для того, чтобы команда "вошла в игру", "разогрелась", гарантированно не теряя очков, и обычно бывают не очень сложными.

 

Судя по имени и фамилии Пирса Брендона, он из англоязычного мира. Ещё мы знаем, что городом греха искомый город считали именно англичане. Значит, и Шанхай, и этот город должны быть как-то связаны с Великобританией. Ну а если кто-то в команде знает, что Шанхай частично был под управлением нескольких иностранных держав, в том числе и британской, то сомнений не остаётся.

 

В вопросе бросается в глаза словосочетание "город греха", а упоминаемые "англичане" так и просят перевести его на английский язык. Если в команде есть игрок, который прилично знает английский, то, поверьте, это облегчает игру, поскольку периодически авторы вопросов требуют минимального знания иностранных языков, в подавляющем большинстве случаев – английского. Кстати, даже если вы раньше не знали, что "город греха" – это "sin city", вам могли случайно узнать это благодаря недавно вышедшей второй части кинодилогии "Город грехов", снятой по одноимённому циклу графических романов.

 

Дальше нужно перебрать города, которые созвучны словосочетанию "sin city" или ключевому здесь слову "грех", т.е. "sin". Кроме Сингапура, придумать что-то ещё довольно сложно. Имеет ли он отношение к Великобритании? Конечно, ведь долгое время он был колонией в составе Британской империи. А это уже требуемые от игроков минимальные знания из области истории.





Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 368; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.107 сек.