نمایش نتایج: از شماره 1 تا 10 , از مجموع 13

موضوع: حرکت دادن یک کاراکتر

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    عضو انجمن
    تاریخ عضویت
    Jan 2014
    نوشته ها
    125
    تشکر تشکر کرده 
    3
    تشکر تشکر شده 
    282
    تشکر شده در
    174 پست

    پیش فرض پاسخ : حرکت دادن یک کاراکتر

    نقل قول نوشته اصلی توسط mehran34 نمایش پست ها
    با تشکر فراوان از شما و نگاه کنید شما یک آرایه دو بعدی ایجاد کنید از نوع char بعدش مثلا تو خونه پایینیش یک کاراکتر بگذارید بدون هیچ گرافیک و چیز خاصی درست؟ بعدش این کاراکتر به محض اجرا شدن برنامه ( بهتره با فشار دادن یک کلید شروع به حرکت کنه و به بالا بره تا آخرین خونه آرایه و این حرکت رو ما بتونیم ببینیم با تشکر
    پیرو صحبتی که در یاهو داشتیم و IDE معرفی شده توسط شما یعنی Code::Blocks و کامپایلر مورد استفاده که MinGW/GCC بوده است، کد زیر را برای شما نوشته ام که البته با توجه به عدم پشتیبانی در سیستم های مختلف، کد های جایگزین نیز برای شما کامنت شده است:

    کد:
    #include <stdio.h>#include <conio.h>
    
    
    #define NROWS  5  // Rows of array
    #define NCOLS  5  // Columns of array
    #define MARBL 'X'
    #define EMPTY 'O'
    
    
    void draw(int x, int y);
    
    
    int main ()
    {
        int x = 3; // set from 0 to NROWS-1
        int y = 1; // set from 0 to NCOLS-1
    
    
        draw(x, y);
    
    
        printf("\n\nPress any key to start...");
        getch();
    
    
        while(x > 0)
        {
            x--;
    
    
            draw(x, y);
    
    
            int k; for(k = 0; k < 10000000; k++); // or sleep(500); with time.h or even delay(500); with stdlib.h
        }
    
    
        printf("\n\nPress any key to exit...");
        getch();
    
    
        return 0;
    }
    
    
    void draw(int x, int y)
    {
        int i, j;
        char a[NROWS][NCOLS];
    
    
        system("cls"); // or clrscr();
    
    
        printf("---------------------------------------\n");
    
    
        for(i = 0; i < NROWS; i++)
        {
            for(j = 0; j < NCOLS; j++)
            {
                if(i == x && j == y)
                {
                    a[i][j] = MARBL;
                }
                else
                {
                    a[i][j] = EMPTY;
                }
    
    
                printf("%c\t", a[i][j]);
            }
    
    
            printf("\n---------------------------------------\n");
        }
    }
    این کد کاملا تست شده و کار می کند که البته بسته به نیاز خود می توانید آن را تغییر دهید.
    ویرایش توسط nexinel : January 27th, 2015 در ساعت 17:40
    !GOODBYE FOREVER
    !I HAVE NO WEBSITE

  2. تعداد تشکر ها از nexinel به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •