Mundarija:

Dunyodagi eng qiyin o'yinni Arduino -da qayta tiklash: 7 qadam
Dunyodagi eng qiyin o'yinni Arduino -da qayta tiklash: 7 qadam

Video: Dunyodagi eng qiyin o'yinni Arduino -da qayta tiklash: 7 qadam

Video: Dunyodagi eng qiyin o'yinni Arduino -da qayta tiklash: 7 qadam
Video: ISLOM DINIGA QASTDAN CHIQARILGAN O'YINLAR | ILTIMOS BU O'YINLARNI O'YNAMANG! 2024, Noyabr
Anonim
Image
Image

Ushbu loyiha Internetda topiladigan kompyuter o'yinlariga asoslangan. Uning nomi "Dunyodagi eng qiyin o'yin". Men uni to'rt modulli LED Matrix yordamida Arduino-da qayta yaratishga muvaffaq bo'ldim. Bu yo'riqnomada men sizga uni o'zingiz qurishni o'rgataman. Ko'p tafsilotlarga ega bo'lishdan oldin, men ushbu o'yinni yaratish uchun qilgan qadamlarni qisqacha ko'rib chiqmoqchiman.

  1. Men barcha kerakli qismlarni yig'dim.
  2. Men qismlarni bir -biriga bog'ladim.
  3. Men eskizni yozdim, u joystick yordamida o'yinchilarni LEDni barcha modullar bo'ylab siljitdi.
  4. Men birinchi to'siqlarni ishlab chiqdim va ularni eskizga qo'shdim, shuning uchun ular dunyoning eng qiyin o'yinini taqlid qilishdi.
  5. Keyin men to'siqlarning to'qnashuvini aniqlash uchun kodni qo'shdim, bu o'yinni qayta boshlaydi.
  6. Va keyin men yana ikkita darajadagi to'siqlarni ishlab chiqdim.

1 -qadam: Barcha qismlar

Barcha qismlar
Barcha qismlar
Barcha qismlar
Barcha qismlar

Sizga kerak bo'lgan barcha qismlar ro'yxati:

  1. Arduino UNO va usb ulagichi: https://www.banggood.com/Wh Wholesale-Arduino-Compati.
  2. To'rt modulli 8x8: LED matritsasi
  3. Joystik:
  4. 10 ta erkak va ayol simlari:

2 -qadam: qismlarni Arduino -ga qanday ulash mumkin

Qismlarni Arduino -ga qanday ulash mumkin
Qismlarni Arduino -ga qanday ulash mumkin

LED matritsasini Arduino -ga qanday ulash mumkin

  1. GND GNDga o'tadi
  2. VCC 5V ga o'tadi
  3. DataIn raqamli pin 12 ga o'tadi
  4. CLK raqamli pin 11 ga o'tadi
  5. CS yoki LOAD raqamli pin 10 ga o'tadi

Joystikni qanday ulash mumkin

  1. GND GNDga o'tadi
  2. 5V 5V ga o'tadi
  3. VRx analog pin A0 ga o'tadi
  4. VRy A1 analog piniga o'tadi
  5. SW ishlatilmaydi

Batareya Arduino quvvatini berish uchun 9v uyasiga ulanadi

3 -qadam: Dasturning oqim sxemasi

Dasturning oqim sxemasi
Dasturning oqim sxemasi

Oval dasturning boshlanishini ko'rsatadi.

Birinchi qadam - barcha to'siqlarni aniqlash.

Keyingi ikkita qadam o'zgaruvchilarni sozlash va barcha modullarni yoqishni ko'rsatadi.

Keyingi qadam, LEDni birinchi darajaga va boshqa o'zgaruvchilarga o'rnatish.

Keyin o'yinchi hozirda qaysi darajadagi ekanligini ko'rsatadi.

Romb Joystick o'qilganligini ko'rsatadi, u qaysi tomonga surilayotganini ko'rish uchun.

Keyin o'yinchini Joystick bosilgan tomonga harakatlantiring.

O'yinchi to'siq bilan to'qnashganligini tekshiring va ko'ring.

Agar o'yinchi to'siqni ursa, birinchi darajaga qayting. Aks holda, o'yinchi darajaning oxirigacha etib borganligini tekshiring.

Agar o'yinchi darajaning oxirida bo'lsa, keyingi bosqichga o'ting va "Joriy darajani ko'rsatish" ga qayting. Agar ular oxirigacha bo'lmasa, to'siqlarni siljiting va "Joystikni o'qing" ga qayting.

4 -qadam: Joystikni dasturlash

Albatta, o'yinchi bo'lgan kichik nuqtani siljitish uchun bizga joystik kerak. va joystik o'yinchini harakatlantirishi uchun biz uni Arduino IDE -da kodlashimiz kerak. Siz eskiz menyusi> Kutubxonalarni qo'shish> kutubxonalarni boshqarish va LedControl -ni qidirish orqali topishingiz mumkin bo'lgan LedControl kutubxonasini kiritishingiz kerak. Joystikning kodi nimaga o'xshaydi.

#"LedControl.h" ni qo'shing

int DataIn = 12; int CLK = 11; int DIN = 10; LedControl lc = LedControl (DataIn, CLK, DIN, 4); // To'rt modul uchun ob'ekt yaratadi int delaytime = 50; // o'yin tezligi int joystick_RtLt, joystick_UpDn; int player_x = 0; // futbolchilar gorizontal holat 0 dan 31 gacha int player_y = 3; // futbolchilar vertikal joylashuvi 0 dan 7 gacha int satr, ustun, modul; void setup () {initialize_modules (); // barcha to'rtta modulni yoqing va o'rnating} void loop () {move_player (); // pleyerning kechikishi (kechikish) harakat qilishini tekshirish orqali tsiklni boshlash; } void initialize_modules () {lc.shutdown (0, false); // modulni ishga tushiradi 0 lc.setIntensity (0, 1); lc.shutdown (1, noto'g'ri); // 1 -modulni ishga tushiradi lc.setIntensity (1, 1); lc.shutdown (2, noto'g'ri); // 2 -modulni ishga tushiradi lc.setIntensity (2, 1); lc.shutdown (3, noto'g'ri); // 3 -modulni ishga tushiradi lc.setIntensity (3, 1); lc.clearDisplay (0); // modulni tozalaydi 0} void move_player () {module = players_x/8; // o'yinchi qaysi modul ustunda ekanligini aniqlaydi = players_x%8; // o'yinchi modul qatorida joylashgan ustunni belgilaydi = players_y; lc.setLed (modul, satr, ustun, noto'g'ri); // o'yinchining hozirgi holatida LEDni o'chirish joystick_RtLt = analogRead (A0)/204 - 2; // o'qish X -joystik va xaritalar diapazoni 2 dan -2 gacha bo'lsa (joystick_RtLt> 0) // joystik o'ngdagi o'yinchi_x ++ bo'lganda; // boshqa o'ngga o'ting, agar (joystick_RtLt 0) // agar joystik chapda bo'lsa va boshlanuvchilarda emas_x--; // chapga siljiting joystick_UpDn = analogRead (A1)/204 - 2; // Y-joystikni o'qing va xaritalar diapazoni 2 dan -2 gacha bo'lsa (joystick_UpDn 0) // agar joystik o'chgan bo'lsa va o'yinchi pastda bo'lmasa player_y--; // boshqa joyga o'ting, agar (joystick_UpDn> 0 && player_y <7) // agar joystik ko'tarilgan bo'lsa va o'yinchi yuqori pleyerlarda bo'lmasa, yy ++; // yuqoriga ko'tarilish moduli = player_x/8; // modulni o'yinchilarga o'rnating yangi pozitsiya ustuni = players_x%8; // ustunni futbolchilarga qo'ying yangi pozitsiya qatori = players_y; // qatorni futbolchilarga lc.setLed (modul, qator, ustun, rost) yangi pozitsiyasiga o'rnating; // o'yinchining yangi pozitsiyasida chiroqni yoqing}

Endi siz joystikni qo'shdingiz, birinchi to'siq ustida ishlaylik!

5 -qadam: Birinchi daraja

Yaxshi, endi dasturning asosiy qismiga, to'siqlarga o'tish vaqti keldi! To'siqlar - bu haqiqatan ham "Dunyodagi eng qiyin o'yin". Agar siz haqiqatan ham o'yinni o'ynashni xohlasangiz, buni kodingizga qo'shishingiz kerak:

baytli to'siq [LEVELS] [SAHNALAR] [TUTUQLAR] [QATARLAR] = {// uch darajali, 8 sahna, 8 kollum, 8 qatorli

{{{1, 1, 1, 1, 1, 1, 0, 0}, // birinchi darajali, birinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1}, { 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 1, 1, 1, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // birinchi darajali, ikkinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 1, 1, 1, 1 }, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 1, 1, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // birinchi darajali, uchinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 1, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // birinchi daraja, to'rtinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 1, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // birinchi darajali, beshinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{1, 0, 0, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, // birinchi darajali, oltinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, { 1, 1, 1, 1, 1, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 1, 1, 1, 1, 1, 1}, // birinchi darajali, ettinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0 }, {1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}, {{0, 1, 1, 1, 1, 1, 1, 1}, // birinchi darajali, sakkizinchi sahna {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}}}, void setup () {initialize_modules (); // barcha to'rtta etakchi modulni yoqing va o'rnating start_level (0); void loop () {move_player (); // pleyerning harakatlanishini tekshirish orqali tsiklni boshlash (agar to'qnashuv ()) {// to'qnashuv darajasini tekshiring = 0; // agar to'qnashuv rost bo'lsa, boshlang'ich darajasini (darajani) tiklang; // o'yinni qaytadan boshlang} else if if (delay_count == manea_delay) {// agar hech qanday to'qnashuv hech qanday to'siqni qo'zg'atmasa, har bir boshqa kechikish moveobstacle (); delay_count = 0; } else delay_count ++; kechikish (kechikish); // o'yin tezligi bilan kechikish}

Va bu birinchi to'siq! Agar siz bundan birinchi darajangiz sifatida zeriksangiz, siz har doim baytlarni o'zgartirishingiz mumkin, faqat sakkiz xil sahnaga ega bo'lishingiz kerakligini unutmang! Keling, to'qnashuvni aniqlashning keyingi bosqichiga o'taylik!

6 -qadam: to'qnashuvni aniqlash

Bu qadam o'yinning yana bir muhim qismidir, chunki bu qiyin bo'lmaydi. Siz hech qanday oqibatlarga olib kelmasdan, to'siqlarni engib o'tishingiz mumkin! bu juda qiziq bo'lmaydi, to'g'rimi? Keling, dasturning ushbu bo'limini qo'shib, o'yinni yanada qiyinlashtiraylik (va bundan ham qiziqroq!)

void loop () {

move_player (); // pleyerning harakatlanishini tekshirish orqali tsiklni boshlash (agar to'qnashuv ()) {// to'qnashuv darajasini tekshiring = 0; // agar to'qnashuv rost bo'lsa, boshlang'ich darajasini (darajani) tiklang; // o'yinni qaytadan boshlang} else if if (delay_count == manea_delay) {// agar hech qanday to'qnashuv hech qanday to'siqni qo'zg'atmasa, har bir boshqa kechikish moveobstacle (); delay_count = 0; } else delay_count ++; kechikish (kechikish); // o'yin tezligi bilan kechikish} int to'qnashuvi () {// o'yinchi sahna modulida to'siqqa urilganligini tekshiring = players_x/8; ustun = futbolchilar_x%8; qator = futbolchilar_y; if (modul> 0) if (to'siq [daraja] [sahna] [ustun] [qator] == 1) // agar o'yinchining pozitsiyasi to'siqni qaytarish bilan bir xil bo'lsa (1); // to'qnashuv aniqlandi qaytish haqiqiy qaytish (0); // to'qnashuv qaytarilmadi

Va mana siz ketyapsiz! endi siz o'yinni ko'proq bahramand bo'lishingiz mumkin! Endi men sizga o'yinning oxirgi ikki darajasini qanday dasturlashni ko'rsataman! Siz bu ko'rsatmalarni deyarli bajardingiz va aminmanki, siz uni sinab ko'rishga tayyormiz!

7 -qadam: Oxirgi ikki daraja

Ko'rsatmalar oxirigacha kelganda, bu o'yinni tugatish uchun oxirgi ikkita daraja kifoya. Keyin buni o'zingiz sinab ko'rishingiz mumkin! mana bu kod:

bayt to'siq [LEVELS] [SAHNALAR] [TUTUQLAR] [QATARLAR] = {// ikkinchi va uchinchi daraja, 8 sahna, 8 ustun, 8 qator

{{{1, 0, 0, 0, 0, 0, 0, 1}, // ikkinchi darajali, birinchi sahna {0, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, { 0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 1}}, {{1, 1, 0, 0, 0, 0, 0, 1}, // ikkinchi darajali, ikkinchi sahna {0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 0, 0 }, {0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 1}}, {{0, 1, 0, 0, 0, 0, 0, 0}, // ikkinchi darajali, uchinchi sahna {0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 1, 0}}, {{0, 0, 1, 0, 0, 0, 0, 0}, // ikkinchi darajali to'rtinchi sahna {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {0, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}}, {{0, 0, 0, 1, 0, 0, 0, 0}, // ikkinchi darajali, besh th sahna {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 1, 1, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 0}, // ikkinchi darajali, oltinchi sahna {0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 1, 1}, {0, 0, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 1, 0, 0}, // ikkinchi darajali, ettinchi sahna {0, 0, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 1, 0}, // ikkinchi darajali sakkizinchi sahna {1, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0, 0}}}, {{{0, 1, 0, 0, 0, 0, 0, 1}, // uchinchi darajali, birinchi sahna {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 0} }, {{0, 0, 0, 0, 1, 0, 0, 1}, // uchinchi darajali, ikkinchi sahna {1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // uchinchi darajali, uchinchi sahna {0, 0, 0, 1, 0, 0, 1, 0}, { 0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 1}, // uchinchi darajali, to'rtinchi sahna {1, 0, 0, 1, 0, 0, 1, 0 }, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // uchinchi darajali, beshinchi sahna {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 1}, // uchinchi darajali, oltinchi sahna {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // uchinchi darajali, ettinchi sahna {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 0}, // uchinchi darajali, sakkizinchi sahna { 1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}}};

Va bu hammasi! Siz dunyoning eng qiyin o'yinini yakunlashga harakat qilyapsiz. Arduino -ning to'liq kodi quyida keltirilgan.

Tavsiya: