آژانس هواپیمایی
tanki

حل اين تمرين در محيط سي شارپ

شروع موضوع توسط blognevis ‏29 ژانویه 2008 در انجمن Visual C#.Net

  1. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    دوستان سلام
    من يك مشكل دارم و چون تاره اين برنامه را شروع كردم (#c) بهمين دليل مشكل زياد دارم

    من براي اين تمرين مشكا دارم
    برنامه اي بنويسيد كه بدون استفاده از دستور claer يك انسان را از سمت چپ با سرعت 800 ميلي ثانيه به سمت چپ فوم بيايد و يك ماشين با سرعت 400 ميلي ثانيه به سمت راست حركت كند در صورت برخورد با يكديگر در پايين صحنه تصادف كلمه ACCIDENT حداقل در هشت خط ايجاد كنيد. سپس يك ثانيه حرف A را برنگ قرمز نمايش دهيد و با زدن يك كليد برنامه بسته شود

    مشكل من سرعت ها هست كه چگونه براي اين سرعت دستور بنويسم البته محيط كنسول هست

    ممنون ميشوم راهنمايي كنيد
    متشكرم
     
  2. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
  3. amin_lili

    amin_lili کاربر تازه وارد

    تاریخ عضویت:
    ‏24 آپریل 2007
    نوشته ها:
    528
    تشکر شده:
    2
    محل سکونت:
    ای کاش آنجا ...
    ای ول به این تمرین . شما اگه همین طور ادامه بدید احتمالا آخر کار استادتون ازتون می خواد پروژه ماتریکس رو طراحی کنید .

    شما نیاز به تایمر دارید . از اواجایی که در Console App کنترل تایمر وجود نداره خودتون باید شبیه سازیش کنید . مثلا با کد زیر می تونید هر 400 میلی ثانیه پیغامی رو در خروجی نمایش بدید.

    کد:
    static void Main(string[] args)
            {
                DateTime now = DateTime.Now;
                bool s = true;
                while (s)
                {
                    DateTime newTime = DateTime.Now;
                    TimeSpan diff = newTime.Subtract(now);
                    if (diff.Milliseconds == 400)
                    {
                        Console.WriteLine("Move1!!");
                        now = DateTime.Now;
                    }
                }
            }
    
     
  4. H_R

    H_R مدیر بازنشسته

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    3,285
    تشکر شده:
    17
    محل سکونت:
    North Pole
    این داستانی که فرمودید دقیقا من رو یاد بازی ها میندازه !

    البته بازی های توی محیط کنسول ساخته نمیشه ، توی یک وب فرم معمولی ساخته میشه که یه مقداری کاستومایز شده ! (ممکنه در نگاه اول شبیه کنسول به نظر بیاد ) شما مطمئنید به باید تو یکنسول این کار رو بکنید ؟ توی کنسول ماشین و آدم و حرکت و برخورد و ... کمی تا قسمتی بی معنی به نظر میاد !
     
  5. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    امين جان ممنون
    ولي كد هاي كه شما به من دادي من هنوز اموزش نديدم كه بخوام براي استادببرم
     
  6. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    حقيقتش من هم موندم چرا اين تمرين به من داده؟؟
     
  7. خرید بیت کوینآموزش لینک سازی 2018
  8. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    دوستان نميدونم چه چوري بگم ولي تا حالا كه جلسه دوم كلاس ما تمام شده فقط اين كدها را به ما ياد دادند​
    console.write
    Console.Writelain
    Console.ForegroundColor = ConsoleColor
    Console.BackgroundColor = ConsoleColor
    System.Threading.thread.sleep
    Console.clar
    Console.WriteLine (\n
    Console.Beep
    Console.CursorLeft
    Console.CursorTop
    Console.Read​
     
  9. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    اين هم نمونه تمرين هاي كلاس
    برنامه اي بنويسيد كه در مختصات (5,5) كلمه programming را بنويسد سپس برنامه را متوقف كند كه با زدن يك كليد بلافاصله كاركتر ها g به رنگ قرمز نوشته شود و بعد از يك ثانيه كاركترهاي m يه حروف بزرگ تيديل شود و سپس يرنامه منتظر زدن يك كليد شود و يعد از كاركترهاي r حذف شود و بجاي انها كاركتر o نمايان شود و با زدن يك كليد برنامه بسته شود



    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace p7
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.CursorTop =5;
    Console.CursorLeft=5;
    Console.WriteLine("programming");

    Console.Read();

    Console.ForegroundColor = ConsoleColor.Red;
    Console.CursorTop = 5;
    Console.CursorLeft = 8;
    Console.WriteLine("g");
    Console.CursorTop =5;
    Console.CursorLeft =15;
    Console.WriteLine("g");

    System.Threading.Thread.Sleep(1000);

    Console.CursorTop = 5;
    Console.CursorLeft = 11;
    Console.WriteLine("M");
    Console.CursorTop =5;
    Console.CursorLeft =12;
    Console.WriteLine("M");

    Console.ReadKey();

    Console.CursorTop = 5;
    Console.CursorLeft = 6;
    Console.WriteLine("o");
    Console.CursorTop =5;
    Console.CursorLeft =9;
    Console.WriteLine("o");

    Console.Read();













    }
    }
    }
     
  10. amin_lili

    amin_lili کاربر تازه وارد

    تاریخ عضویت:
    ‏24 آپریل 2007
    نوشته ها:
    528
    تشکر شده:
    2
    محل سکونت:
    ای کاش آنجا ...
    دوست عزیز . اصولا برنامه نویسی یکی از اون مباحثی هست که استاد نمی تونه بگه اینو درس دادم و اونو درس ندادم و مثلا مشکل فوق برای شما ایجاد بشه . شما MSDN رو دارید که چه استاد درس بده چه نده برای پیشرفت خودتون وظیفه دارید خب مطالعه اش کنید و یاد بیگیرید چطور می شه ازش استفاده کرد .
    توی کد بالا فقط مبحث استفاده از DateTime شاید براتون تازه باشه و اللا بقیه اش که تعریف متغیر و شرط و حلقه هست ...
    استادی که از شما می خواد یه آبجکت ر هر 400 میلی ثانیه یه پیکسل حرکت بدید می دونه که شما ملزم هستید به استفاده از تایمر .
    مطلب شما مثل این می مونه که یکی مساله داده باشه گردش مالی یک شرکت را حساب کنید ولی اجازه ندارید از اعداد استفاده کنید ؟ به نظرتون می شه ؟؟؟
     
  11. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    دوست عزيز
    من از جواب شما ممنون هستم ولي من هنوز نميدونم ابجكت چي هست؟

    كل چيزي كه تا حالا من سركلاس يادمان دادند اين هست
    console.write
    Console.Writelain
    Console.ForegroundColor = ConsoleColor
    Console.BackgroundColor = ConsoleColor
    System.Threading.thread.sleep
    Console.clar
    Console.WriteLine (\n
    Console.Beep
    Console.CursorLeft
    Console.CursorTop
    Console.Read​
     
  12. amin_lili

    amin_lili کاربر تازه وارد

    تاریخ عضویت:
    ‏24 آپریل 2007
    نوشته ها:
    528
    تشکر شده:
    2
    محل سکونت:
    ای کاش آنجا ...
    پسر خوب منظورم از آبجکت همون آدم و ماشین بود دیگه .
    به هر حال صلاح مملکت خویش خسروان دانند .
     
  13. nsh

    nsh Registered User

    تاریخ عضویت:
    ‏19 ژانویه 2006
    نوشته ها:
    681
    تشکر شده:
    4
    محل سکونت:
    i & j : 2 & 3
    اگه شما حتی نمیدونی ابجکت چیه یا استادتون خیلی انتظار داره (که اتفاقا برای پیشرفت خوبه) یا اینتمرین مال شما نیست.

    به هر حال به عنوان تمرین چیز کاملی هست
     
  14. blognevis

    blognevis Registered User

    تاریخ عضویت:
    ‏26 مارس 2006
    نوشته ها:
    872
    تشکر شده:
    6
    محل سکونت:
    shiraz
    عزيز اين تمرين براي خود ما هست
    ما بايد با دستور
    Console.CursorTop = ;
    Console.CursorLeft = ;

    اين برنامه را بنويسيم

    حالا كه دارم فكر ميكنم ايا امكان داره با دستور beep و دستور مفدار دهي به دو دستور بالا جهت قرار گرفتن مكان نما براي كاركترها ماشين و ادم به عنوان زمان استفاده كرد و مقدار دهي فراكانس beep را صفر و زمان بوق را مثلا 800 ميلي ثانيه گذاشت؟

    بر اساس تمرين و مدام مكان نما را با كاركترهاي جديد قرار داد و قبلي ها را با همين دستور پاك كرد
     
  15. jafar666

    jafar666 کاربر تازه وارد

    تاریخ عضویت:
    ‏13 ژانویه 2008
    نوشته ها:
    1
    تشکر شده:
    0
    با وجود اينكه مي دونم تمام افرادي تو اين قسمت نظر داده اند الان كاملا روي اين موضوع تسلط دارند اما براي افراد ديگه اي كه از طريق جستجو اين صفحه رو پيدا مي كنند بايد عرض كنم نحوه كار به شرح زير است:
    اول بايد با استفاده از دستورات Console.CursorTop = ;
    Console.CursorLeft = ;
    شكل مورد نظر خودشون رو ايجاد كنند.
    بعد با استفاده از دستور System.Threading.thread.sleep يك وقفه تو سيستم ايجاد كنند كه بشه حركت رو با اون شبيه سازي كرد.
    تو مرحله بعد بايد تمام Console.CursorTop و Console.CursorLeft هايي رو كه در مرحله 1 استفاده كرده اند دوباره مورد استفاده قرار بدهند منتها اين بار بايد از كاراكتر Space به جاي كاراكترهاي قبلي استفاده كنند.
    و در آخر بايد با استفاده مجدد از Console.CursorTop و Console.CursorLeft مكان نما را به موقعيت جديد برده تا بتوانند شكل مورد نظر را در موقعيت جديد طراحي كنند.
    و تمام اين مراحل بايد داخل يك حلقه انجام پذيرد...
     
  16. rahs

    rahs کاربر تازه وارد

    تاریخ عضویت:
    ‏29 نوامبر 2012
    نوشته ها:
    1
    تشکر شده:
    0
    میشه به منم کمک کنید میخوام با تایمر یه برنامه بنویسم که start و stop داشته باشم بعد از چاپ برنامه یه وقفه هم با تایمر تعریف کنم
    توروخداااااااا:(
     
avanak همکاری در فروش عسل طبیعی و گرده گل ایرانیتبلیغات در گوگل