Skip to content

رسمة القطة الخاصة بمسابقة اولى حاسبات

Notifications You must be signed in to change notification settings

mostafaac30/cat

Repository files navigation

السلام عليكم .. دا كود الرسمة .. مع شوية ملاحظات ..لعلها تفيد.
مبدئيا نظام التشغيل اللي مستخدمه هو لينكس
ElementaryOS
البا لو قابلتك مشكلة ان الرسمة مش ملونة في بسبب نظام التشغيل(ممكن تجرب اي توزيعةلينكس).. وبكتب الكودفي
VS CODE ..
و البرنامج 180 سطر\

ممكن تستخدم بديل للتلوين علي وبندوز..فيه فانكشن تانية مضمنه في مكتبة\ (windows.h او stdlib.h)
اسمها\ system("color XY") function\ ..ممكن تجربها ودا مقالة عنها عشان تعرف تفاصيل اكتر عن استخدامها ..
دوس هنا

بالنسبة للتلوين فهوب ب
ANSI escape code ..
بتقدر تعمل بيها كذا حاجة اهمهم التحكم قي اللون\ .. الالون نفسها فيه منها
2bit
و 4 بت
و8 بت .. وكل ما استخدمت لون حجمه كبير دا بيزود وقت تنفيذ الكود\ .. بالنسبة للصورتين اللي نزلتهم للقطة.. فيه واحدة فاتحة ..دي كانت بلون 2بت ..والغامقة شوية دي كانت 4بت ...
اقل وقت لتنفيذ كود الصورةال4بت كان ضعف (اقل)وقت لتنفيذ كودالصورة ال2بت.. لما قست سرعة التنفيذ (والوقت دا بيتغير في كل مرة علشان العمليات اللي البروسيسور شغال عليها في لحظة بتكون اكتر من غيرها او اقل في لحظة تانية)
هتلاقي الكود فيه ازاي بيتقاس..فكرتها بسيطة انك بتحسب لحظة بداية تنفيذ الكود ولحظة نهايته وتجيب الفرق ما بينهم ..ولازم مكتبة

تكون مضافة..
ولأن البرنامج صغير فهتلاقيه بيعرض الوقت المستغرق ب
microseconds في الاخر.\

ودي اجابة على stackoverflow
فيها كل التفاصيل عن التلوين على
linux terminal\


هتلاقي السطر ده مكتوب في البرنامج .. دا كده هتطبع "نقط" لونها اصفر فاتح (لو عايز نجوم بدل النقطة اللي \بعد 43m بـ * )\

cout << "\033[1;43m.\033[0m";

والكود ده لو عايز تطبع الصورة باللون الغامق .. وهتلاقي شرحة في المقالة اللي فاتت.\

cout << "\033[0;48;2;255;199;6m.\033[0m";

\بالنسبة لتنسيق الكود فهو ماشي على معيار style50 من cs50 ..ان شاء الله مش هيغلبك في القراية

البرنامج مبني بشكل اساسي على 2 functions .. اأولﻻ بتطبع مسافات والتانية نجوم "او نقط "وكل واحدة من دول بيأخدوا "رثم" كمدخل يعبر عن عدد النجوم او المسافات اللي محتاج تطبعها .. والدالتين ملهمش return value طبعا .. فأنت مثلا عايز تطبع مسافتين وبعدها 3نجوم

space(2);
stars(3);

ولو عايز تنزل لسطر جديد بعد ماخلصت نجوم السطر>>دخل true في فانكشن stars..

space(2);
stars(3, True);

فيه كمان 2 فانكشنز مبنيين على الاتنين اللي فاتوا .. فكرتهم ان فيه كذا سطر ورا بعض ليهم نفس النمط في طباعة المسافات او النجوم (او النقط وتقدر تبدلها بسهولة) .. فتوفيرا للمجهود والوقت والتعديل بعد كده .. فيه فانكشن بتطبع سطور "الاذن" ومحطوطة جوه "loop" بعدد سطور اذن القطة .. ونفس الكلام مع جبة القطة (forehead).

About

رسمة القطة الخاصة بمسابقة اولى حاسبات

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages