Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Нэг удаа задгай талбайд хагас мянган хүн цугларчээ. Маш хачирхалтай хувцас өмссөн тул зөвхөн задгай талбайд юу ч тэдэнд аюул заналхийлж чадахгүй. Бараг хүн бүр бүснээсээ малгай өлгөөтэй, уутанд нь бэхтэй эсвэл эмээгийн компоттой туршилтын хоолой хангинаж байв. Бүлэгт хуваагдан бүгд туршилтын хоолой гаргаж, зарим жорыг дагаж байгаа мэт саванд хийж эхлэв.

Аажмаар хүнд нөмрөг өмссөн ажил хэрэгч таван залуу ерөнхий бүлгээс ялгарч байв. +30 хэмд хамгийн тохиромжтой хувцас биш. Тэр тусмаа бүгчим наран дор дугуй гүйж, 400 тогоон дээр шошго нааж байгаа бол. "Шууд" бүр бэлэн болсон тул та үүнийг олон удаа нааж болно. Гурван өдөр дараалан.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Та талбайн жүжигчдийн амьдралаас товч тойм уншсан. Хэцүү байсан тэр таван таван хүн бол "алхимичид". Хэрэв тэд уурын зуухны хяналтын програмтай бол тэдний амьдрал хичнээн сайхан байх байсан бол гэж төсөөлөөд үз дээ. Энэ бол зүгээр л нэг хувилбар юм - талбайн болон ширээний үүрэг гүйцэтгэгчид өөр өөрийн гэсэн зовиуртай байдаг. Мөн косплейчид болон ширээний тоглоом сонирхогчдын дунд. "Яагаад тэдгээрийг технологийн тусламжтайгаар шийдэж болохгүй гэж?" - бид CROC-ийн BrainZ дээр бодож, CraftHack зохион байгуулсан.

Тэд ямар ч байсан хэн бэ?

Гадны ажиглагчийн хувьд бидний туслахыг хүссэн хүн бүр бие биенээсээ тийм ч их ялгаатай байдаггүй. Магадгүй хэн нэгэнд дажгүй костюм байдаг, гэхдээ хэн нэгэнд ийм костюм байдаггүй. Үнэндээ бүх зүйл арай илүү төвөгтэй байдаг:

Реенаторууд - түүхэн үнэн зөвийг анхааралтай ажиглаж, үйл явдлыг дахин бүтээх. Хэрэв тулаан дахин хийгдсэн бол (энэ нь ихэвчлэн тохиолддог), түүний явц, нюансууд нь ялагчийг урьдчилан тодорхойлно. Хамгийн гол нь реанкаторууд бодит байдлыг үнэлж, хамгийн үнэмшилтэй хувцас урладаг. Түүгээр ч барахгүй тэд гаднах ижил төстэй зүйлсээр зогсдоггүй, харин "гар урлах" үйл явцыг өөрөө сэргээдэг: тэд жинхэнэ машин дээр нэхмэл эдлэл нэхэж, жинхэнэ хуурамчаар хуяг дуулга хийдэг. Ихэнхдээ сэлэм, сүх, бүх төрлийн гинжин шуудантай харьцахад шаардлагатай биеийн хүч чадлаараа ялгардаг.

Дүрд тоглогчид - нэрэндээ бүрэн нийцүүлэн дүрийнхээ дүрд дасаж, тоглодог томоохон бүлэг хүмүүс. Хамгийн ерөнхий шалгуурын дагуу тэдгээрийг талбайн болон ширээний үүрэг гүйцэтгэдэг хоёр бүлэгт хуваадаг.

Бид эхнийх нь талаар аль хэдийн бичсэн - эдгээр нь орон зай хэрэгтэй, ямар нэгэн зүйл бүтээх дуртай залуус юм. Оффисын үүрэг гүйцэтгэгчид нутаг дэвсгэрийн талаар илүү даруухан хүсэлт тавьдаг - тэд орон сууц, дээврийн хөндий эсвэл жижиг ангар түрээслэдэг. Нэмж дурдахад дүрд тоглодог хүмүүсийг шүтэн бишрэгчид нь хуваадаг - зарим нь Толкиены ертөнцөд амьдардаг, зарим нь Оддын дайн эсвэл илүү чамин зүйлтэй илүү ойр байдаг. Хувцаслалт, дагалдах хэрэгслийг яг л ном эсвэл кинон дээрх шиг шүтэн бишрэгчдийн дагуу хийдэг. Олон дүрд тоглогчид өөрсдийн хувьсагч зангаа бодит амьдрал руу шилжүүлдэг бөгөөд жинхэнэ нэрээр нь дуудагдах дургүй байдаг.

Тэд Dungeons & Dragons гэх мэт ширээний тоглоом тоглохдоо ихэвчлэн хувцас, дагалдах хэрэгсэлгүйгээр хувирдаг "ширээний" дүрд тоглодог хүмүүсийг тусад нь авч үздэг. Бүх үйлдлийг үгээр илэрхийлж, математик ашиглан тохиролцсон загваруудын дагуу дуурайлган хийдэг.

Найдвартай байдлын хувьд дүрд тоглогчид таван метрийн дүрэмтэй байдаг. "Таван метрээс сайхан харагдаж байвал сайн". Хүрээлэн буй орчин нь урамшуулал юм. Энд гол зүйл бол дүрдээ хэрхэн дасах явдал юм.

Косплейчид - тодорхой дүр төрхийг сонгож, түүнийг шүтэн бишрэгчдийнхээ дагуу дээд зэргээр сэргээдэг хүмүүс. Косплей нь анимэ шүтэн бишрэгчдээс эхэлсэн боловч дараа нь хүмүүс Dota, Warhammer, Warcraft болон бусад ертөнцийн баатруудыг тоглож эхэлсэн. Сүүлийн үед Оросын үлгэр, киноны баатрууд болох Несмеяна гүнж, Үзэсгэлэнт Василиса гэх мэт дүрүүдийг сонгоход орос хэл дээрх косплэйг онцолж эхэлсэн. Косплэйер болон дүрийн тоглогчдын гол ялгаа нь дүр төрхийг боловсруулах нарийн төвөгтэй байдал, нарийн төвөгтэй байдал юм. Косплейчид ихэвчлэн маш эвгүй хувцастай байдаг бөгөөд энэ нь косплэй наадамд хэдхэн цаг ч гэсэн тэсэхэд хэцүү байдаг.

Эдгээр хүмүүс бүгд импровизаци хийхэд саад болж, бүх зугаа цэнгэлийг сүйтгэх асуудалтай тулгардаг. Алхимичид эм тус бүрийг амжилттай бүтээснийг батлахдаа шалавчлав. ТУЗ-ийн тоглоом сонирхогчид шоо шидэлтийн үр нөлөөг тооцоолохын тулд эргэлт бүрт нарийн төвөгтэй тооцоог гараар хийх ёстой. "Сансрын" дүрд тоглогчид хөрш галактикууд болон бусад асар том байршлуудын хоорондох хөдөлгөөнийг дүрд тоглох хэрэгтэй. Эдгээр болон бусад асуудлуудын хувьд бид технологийн шийдлүүдийг хайхаар шийдсэн.

Хүн бүрт туслахыг хүсдэг CraftHack

CraftHack хакатон Москва хотын Коптер залуучуудын инновацийн бүтээлч төвд (CYIT) боллоо. 9-р сарын 11-ний Баасан гарагт үүрэг даалгавар өгч, XNUMX-р сарын XNUMX-ний ням гарагт шалгарсан хүмүүсийг шагнаж урамшууллаа. Одоо - хамгийн сонирхолтой даалгавар, төслүүдийн талаар.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Сансрын нислэгийн симуляци

Сансрын дүрд тоглох тоглоомуудад асар том байршлуудын хоорондох хөдөлгөөнийг дүрд тоглох шаардлагатай байдаг - жишээлбэл, газар нутгийн хэсэг, заримдаа хэдэн километр хүртэл байрладаг виртуал галактикууд. Тоглоомын үүднээс авч үзвэл эдгээр нь өөр өөр байршил боловч физикийн хувьд ижил орон зай юм.

Үүнийг ихэвчлэн хоёр аргаар шийддэг. Эхнийх нь "хайрцаг дахь сансрын хөлөг" юм. Энд, тодорхой газрын хил дээр хүрч, тоглогчид "оддын хөлөг" руу шилждэг - тэд жийпээс картон хайрцаг хүртэл юу ч байж болно - энэ хилийн цаана тэд аль хэдийн сансарт аялдаг. Тэд өөр тодорхой цэгт хүрэхэд тэд хайрцагнаас гарч, өөр газар тоглоомоо үргэлжлүүлнэ. Дүрд тоглох хоёр дахь арга бол "орон зай" нь хязгаарлагдмал талбай, өрөө юм. Тоглогчид тэнд орж, хэсэг хугацаанд сансарт "нисч", дараа нь өөр цэгээс гарна (тоглоомын үүднээс).

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Хоёрдахь аргын хувьд хүмүүс энгийн симулятор програм бичдэг бөгөөд заримдаа бүр сансрын хөлгийн удирдлагын өрөөг дахин бүтээдэг. Эсвэл тэд алдартай нислэгийн симулятор дээр үндэслэн загвар хийдэг. Гэхдээ энэ бүхэн ихэвчлэн алдаатай эсвэл хэтэрхий түр зуурын зүйл болж хувирдаг. Хакатон дээр бид оролцогчдыг сансрын дүрд тоглох тоглоомуудын гол ажлуудыг шийдвэрлэх боломжтой сансрын симулятор бүтээхийг урьсан: сансарт маневр хийх, хөлөг онгоцны хөдөлгүүр, зэвсэг, залгах, буух системийг удирдах. Нэмж дурдахад, симулятор нь хөлөг онгоцны янз бүрийн системийн цохилтын цэгүүдийг (эрүүл мэндийн цэгүүд) төлөөлөх ёстой бөгөөд хэрэв бүтэлгүйтвэл тэдгээрийн хяналтыг идэвхгүй болгоно.

Үүний үр дүнд нэг баг маш их автсан тул VR дээр өөрсдийн симулятор хийсэн. Түүгээр ч зогсохгүй тэд энэ санааг урьдчилсан хэлэлцүүлэг дээр гаргахад бид хакатон хийхэд шаардлагатай техникийн бааз байхгүй гэж хариулсан. Энэ нь залуусыг зогсоосонгүй - тэдэнтэй хамт бүх зүйл байсан: шилдэг дуулга, хүчирхэг системийн нэгж. Эцэст нь энэ нь үзэсгэлэнтэй болсон, гэхдээ харамсалтай нь хэтэрхий "зоосон машин" болсон. Сансар огторгуйд жирийн нислэгийн симулятор шиг физикийн өөрийн гэсэн хууль байдаг гэдгийг багийнхан анзаарсангүй. Энэ нь маш чухал байсан тул харамсалтай нь бид тэдний хүчин чармайлтыг хүлээн зөвшөөрч чадсангүй. Бусад багууд илүү стандарт шийдлүүдийг гаргасан - багажны самбар болон сансрын хөлгийн интерфейсийн бусад элементүүд. 

Үйлдлийн баталгаажуулалтын автоматжуулалт

Бид энэ асуудлыг эхэнд нь хөндсөн. Олон нийтийн дүрд тоглох тоглоомуудад хэдэн зуун хүн тоглоомын чухал үйлдлүүдийг тогтмол давтдаг (жишээлбэл, эм уух эсвэл дайсныг эдгээр бодисоор гэмтээх гэх мэт) үүнийг батлах ёстой. Таван азгүй алхимич - мастерууд, ерөнхийд нь хэлэхэд энд хангалтгүй байгаа нь тодорхой.

Тодорхой тоглоомуудад зориулсан үйлдлийг автоматжуулах системүүд байдаг боловч эдгээр шийдлүүд нь тодорхой тоглоомуудад "хадагдсан" байдаг. Тоглогчдын үйлдлийг хүлээн зөвшөөрч, баталгаажуулж, мастерын оронд үр дүнг гаргах боломжтой бүх нийтийн системийг бий болгох нь сайхан байх болно гэж бид бодсон. Тиймээс техникийн ажилтнууд системийн ажиллагааг хянах боломжтой болно.

Энэ даалгаврын нөхцөл нь үйл ажиллагааны асар их эрх чөлөөг олгосон тул олон хүн энэ ажлыг гүйцэтгэсэн. Тэд командын шошго, наалт хэвлэдэг, цаг агаарт тэсвэртэй суурин компьютерийн терминал дээр суурилсан шийдлүүдийг санал болгов. Хэн нэгэн физикийн лаборатори хийсэн. Бид нэмэгдүүлсэн бодит байдалд суурилсан хэд хэдэн санааг хэрэгжүүлсэн. QR код дээр суурилсан шийдлүүд байсан: та эхлээд тухайн хэсэгт QR кодыг сканнердах хэрэгтэй ("найрлага цуглуулах"), дараа нь эцсийн QR кодыг ашиглан бүх найрлагыг эм болгон нэгтгэсэн гэдгээ баталгаажуулах хэрэгтэй.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

RFID-ийн шийдлийг тусад нь тэмдэглэх нь зүйтэй - залуус серво ашиглан "уурын зуух" хийсэн. Тэр түүнд нэмсэн бүрэлдэхүүн хэсгүүдийг өнгөөр ​​нь тодорхойлж, үр дүнг нь хаяв. Мэдээжийн хэрэг, хакатон хязгаарлагдмал байдлаас болж бага зэрэг чийгтэй байсан ч би анхны байдалд нь маш их сэтгэл хангалуун байсан.  

"Ss-smokin!": масктай даалгавар

Маск нь косплэй болон төрөл бүрийн дүрд тоглох тоглоомуудын чухал элемент юм. Тиймээс бид тэдэнтэй холбоотой хэд хэдэн ажлыг нэг дор хийсэн.

Эхний даалгаварт бид нэг хүний ​​нүүр царайгаар силикон маск хийдэг хоббиноос санаа авсан. Зарим чөтгөрийн дүрсийн хувьд, жишээлбэл, маск нь нүүр нь лааваар бүрхэгдсэн, эсвэл маск нь хайлж байгаа мэт гялалзах эффектийг бий болгох хэрэгтэй. АНУ-д ийм шийдэл байдаг, гэхдээ тэдгээр нь нэлээд үнэтэй байдаг. Энгийн LED ашиглан хүссэн эффектийг бий болгох боломжгүй юм. Нэг баг хакатон тэмцээнд энэ сорилтыг даван туулж, гайхшруулах бууг маск болгон хийж чадсан. Үүн дээр яриаг өөрчлөх чадварыг нэмсэн. Үр дүн нь гайхалтай зүйл байсан бөгөөд бид түүний хажууд байсан хүмүүст бага зэрэг айж байсан - маск гялалзаж, хагарч байв. Мэдээжийн хэрэг гал, лаавын тухай биш, гэхдээ нөлөө нь гайхалтай байсан.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Хоёрдахь даалгавар нь дүрд тоглох тоглоомд өөр өөр хэлээр харилцдаг, бие биенээ ойлгодоггүй олон үндэстэн, ард түмэн байдагтай холбоотой юм. Ийм маскуудыг өмссөн оролцогчдын хооронд харилцах боломжийг олгохын тулд ийм маск хийх шаардлагатай байсан бөгөөд танихгүй хүмүүс юу ч ойлгохгүй байв. Энд бас сонирхолтой загварууд, тэр дундаа криптограф дээр суурилсан загварууд байсан.

“Битгий ор! Тэр алах болно!

Том орон зайд дүрд тоглох тоглоомууд явагдах үед түүний зарим бүсүүд тодорхой нөлөө үзүүлдэг. STALKER-д энэ нь цацраг туяагаар бохирдсон газар, уран зөгнөлт тоглоомд - зарим адислагдсан газар гэх мэт байж болно. Тоглогч ямар бүсэд байгаа, ямар нөлөө үзүүлж байгааг харуулдаг төхөөрөмж хийх санаа байсан.

Багуудын нэг нь вейп, лонхтой уснаас утааны их буу хийсэн нь анхны шийдэл байсан. Тоглогчид утааг таних төхөөрөмжөөр тоноглогдсон бөгөөд тоглогчийн байрлаж байсан газрын талаар шаардлагатай мэдээллээр хангадаг байв.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Ялахын тулд амьдар!

Бид хакатон тэмцээнд оролцогчдыг хэд хэдэн төрөлд шагнаж урамшууллаа. Тэд дээр дурдсан даалгавартай давхцаагүй - үүнээс гадна багуудын нэг нь өөрсдийн даалгавраа биелүүлснээр бидний шагналыг хүртсэн.

Area Effect: хамгийн тохиромжтой, өргөтгөх боломжтой шийдэл

Энд бид "Catsplay" баг болон тоглоомын мастерын ("алхимич") үйлдлийг автоматжуулах шийдлийг онцолсон. Тэдгээрийн шийдлийн үндэс нь тодорхой найрлагад тохирсон тэмдэглэгээ бүхий сайжруулсан бодит байдлын хүснэгт юм.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ
Энд орцын тэмдэглэгээ бүхий хүснэгт байна

Хакатоноор хэрхэн бодит байдлаас зугтах вэ
Гэхдээ нэмэгдүүлсэн бодит байдлын "ид шид"

Шаардлагатай найрлагыг цуглуулахдаа гар утасны програм дээр "үрэлс" бий болгохыг тэмдэглэдэг. Энэ нь мөн тоглоомын жорыг агуулдаг. Одоогоор уг програм нь гуравдагч этгээдийн серверийн хүчийг ашиглаж байгаа боловч ирээдүйд үүнийг клиент тал руу бүрэн шилжүүлэхээр төлөвлөж байна. Мөн өөр өөр дүрд тоглох ертөнцүүдэд тохируулах боломжийг өргөжүүлж, урлахдаа баатрын тоглоомын түвшинг харгалзан үзээрэй.

Энэ төрөлд өөр нэг ялагч болох Cyber_Kek_Team нь гурвалжингийн зарчмуудыг ашиглан тоглоомын талбайг бүсчлэх шийдлийг бүтээжээ. Хямдхан микроконтроллер дээр суурилсан гэрэлт цамхагуудыг талбай дээрх шаардлагатай газруудад байрлуулна ESP32. Тоглогчид ESP32 дээр суурилсан ижил төстэй төхөөрөмжүүдийг өгдөг, гэхдээ илүү ажиллагаатай, урьдчилан тодорхойлсон зарим үйлдлийг гүйцэтгэдэг товчлууртай. Гэрэлт цамхаг болон хэрэглэгчийн гаджетууд Bluetooth-ээр бие биенээ олж, тоглоомын мэдээлэл солилцдог. Хянагчийн уян хатан тохиргооны ачаар та аюулгүй газар нутгийг хашиж, анхны тусламжийн хэрэгслийг шилжүүлэхээс эхлээд гранат, шившлэгээс болж хохирол учруулах хүртэл олон хувилбарыг хэрэгжүүлэх боломжтой.

Эцэст нь бид 3D багийг тэмдэглэв. Тэрээр D&D болон түүнтэй төстэй тоглоомуудын дүрийн шинж чанарт үндэслэн олон талт шооны үр нөлөөг тооцдог бүх нийтийн программыг бүтээжээ.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

"Engin-seer": хамгийн бүтээлч шийдэл

Энэ номинацид алхимичдын ажлыг автоматжуулах чиглэлээр ажилласан 21-р сургуулийн баг шалгарлаа. Бидний дээр бичсэн жинхэнэ уурын зуухтай төстэй шийдлийг эдгээр залуус хийсэн. Тоглогч дээд талд нь системээр тодорхойлогддог найрлагыг өнгөөр ​​нь байрлуулдаг бөгөөд хэрэв шаардлагатай бүрэлдэхүүн хэсгүүд байгаа бол систем нь шинэ "үрлийг" бэлгэддэг зүйлийг үйлдвэрлэдэг. Энэ нь QR кодтой бөгөөд сканнердах замаар үрлийн шинж чанарыг мэдэж болно. Энд чухал давуу тал бол хийсвэрлэлийн түвшин бага байдаг: физик объектуудтай холбогдох нь дүрд тоглох "ид шидтэй" уур амьсгалыг хадгалж байдаг.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

"Түвшин дээшлэх": хөгжлийн хамгийн чухал ахиц дэвшлийн төлөө

Энэ төрөлд бид хакатоны хоёр өдрийн турш толгойноосоо дээгүүр харайж чадсан хүмүүсийг "Natural Zero" багийг тодрууллаа. Залуус дүрд тоглох тоглоомд ид шидийн олдворуудыг тоглоом-механик ажиллуулах бүх нийтийн багцыг бүтээжээ. Энэ нь "шидэт цэнэг" хэмжих төхөөрөмж - Холл мэдрэгч дээр суурилсан тоолуураас бүрдэнэ. Дотор нь соленоид бүхий хадгалах төхөөрөмжид ойртох тусам тоолуур улам бүр тод асдаг. Мөн системд гуравдахь ангиллын төхөөрөмжүүд байдаг - шингээгч нь хадгалах төхөөрөмжийн цэнэгийг багасгах үүрэгтэй. Энэ нь хөтчийг шингээгчийн RFID хаягаар дамжуулан соленоидод бага гүйдэл өгөхийг тушаасантай холбоотой юм. Үүний дагуу, энэ тохиолдолд хэмжих төхөөрөмж нь бага тод дохио өгөх болно - "мана" -ын доод түвшинг (эсвэл тоглоомоос хамааран бусад үзүүлэлтийг) харуулна.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ
Natural Zero прототипүүдийн нэг

"Madskilz": хамгийн гайхалтай технологи, ур чадварт зориулагдсан

Хакатоны олон оролцогчид маш өндөр технологийн хэрэгслүүдийг ашиглан анхны болон гэнэтийн шийдлүүдийг харуулсан. Гэхдээ би “А” багийг онцлохыг хүссэн. Эдгээр залуус дохио зангааг таньдаг ухаалаг ажилтнуудаа бүтээжээ.  CyberMop. Энэ нь гурван үндсэн хэсгээс бүрдэнэ:

  • Raspberry Pi Zero - хэрэглэгчийн дохио зангааг таньж, санаж, шинж чанарууд руу тушаал илгээдэг;
  • Arduino Nano - мэдрэгчээс өгөгдлийг хүлээн авч, дүн шинжилгээ хийхийн тулд Raspberry руу илгээдэг;
  • Шүүр нь "төхөөрөмжийн орон сууц, өвөрмөц хэлбэрийн хүчин зүйл" юм.

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Дохио зангааг танихын тулд үндсэн бүрэлдэхүүн хэсгийн арга, шийдвэрийн модыг ашигладаг. 

Хакатоноор хэрхэн бодит байдлаас зугтах вэ

Эпилог

Хүмүүст косплэй болон дүрд тоглох тоглоом яагаад хэрэгтэй вэ? Чухал шалтгаан бол өдөр бүр биднийг хүрээлж байдаг энгийн бодит байдлын хайрцагнаас гарах явдал юм. Олон дүрд тоглодог жүжигчид, жүжигчид, косплейчид ажил дээрээ мэдээллийн технологийн асуудлыг байнга шийддэг бөгөөд энэ туршлага нь тэдэнд дуртай хоббидоо тусалдаг. Зарим хүмүүсийн хувьд CraftHack-ийн сэдвүүд нь зарчмын хувьд уламжлалт "үйлдвэрлэлийн" хакатонуудын сэдвүүдээс хамаагүй ойрхон байдаг.

Энд тодорхой хэмжээний сургалтанд хамрагдсан мэдээллийн технологийн мэргэжилтнүүд өөрсдийгөө илчилж, IT-ээс хол дүрд тоглодог тоглогчид болон косплейчид техникийн хүрээгээ тэлж чадсан. Хакатон дээр олж авсан туршлага нь бодит амьдрал дээрх ижил төстэй асуудлуудыг шийдвэрлэхэд тустай байж болох юм - CraftHack-д эзэмшсэн мэдээллийн технологийн хэрэгслүүд нь хэрэглээний олон талбартай байдаг. Эцсийн эцэст тал бүр сайн бүтээлч урамшуулал авсан юм шиг санагдаж байна - +5, эсвэл бүр +10 хүртэл.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх