-
January 27th, 2015, 01:05
#1
حرکت دادن یک کاراکتر
سلام میخواستم بپرسم چطوری توی یک ارایه دو بعدی ما یک کاراکتر رو حرکت بدیم به گونه ای که بعد از یک ثانیه بتونیم ببینیمش مثلا بازی ماری که حرکت میکنه ولی و کاراکتر قبلی هم پاک بشه و همینطوری ادامه پیدا کنه مثلا یک کاراکتر از پایین به بالا به صورت عمودی حرکت کنه با تشکر میخواهم این حرکت بدون هرگونه فشار دادن کلید باشه و وقتی حرکت میکنه نشون داده بشه مثلا در یک مربع یا مستطیل یک کاراکتر از بالا به پایین حرکت کنه و ما بتونیم حرکتش رو ببینیم یک مثال ساده هم کفایت میکنه واسه یاد گیریش با تشکر فراوان از شما
-
-
January 27th, 2015 01:05
# ADS
-
January 27th, 2015, 01:22
#2
پاسخ : حرکت دادن یک کاراکتر
با سلام
با جاوا میشه
باید از قابلیت تایم اوت استفاده کنید و یه تابع واسش بنویسید
-
تعداد تشکر ها از hamid53214 به دلیل پست مفید
-
January 27th, 2015, 01:55
#3
پاسخ : حرکت دادن یک کاراکتر
من میخواستم با سی بنویسمش ولی فکر نکنم سخت باشه بدون اون هم باید بشه زمانش مهم نیست فقط مهم اینه بشه دیدش
- - - Updated - - -
البته درسته این چیزی که میگم خیلی مربوط نباشه ولی یک بازی مثل اسنیک به زبان سی نوشته شده و اون مار بدون اینکه ما کیبورد رو فشار بدیم حرکت میکنه حالا اینو خیلی ساده تر در نظر بگیریم مثلا بیایم در نظر بگیریم یک کاراکتر که فقط به صورت افقی حرکت کنه میخواستم بهم بگید چجوری بنویسمش با تشکر
و مرسی زیاد
-
-
January 27th, 2015, 02:03
#4
پاسخ : حرکت دادن یک کاراکتر
سلام
شما توی بخش طراحی سایت زدید واسه همین گفتم جاوا
-
تعداد تشکر ها از hamid53214 به دلیل پست مفید
-
January 27th, 2015, 11:00
#5
پاسخ : حرکت دادن یک کاراکتر
هرگونه راهنمایی رو که میتونید انجام بدید بگید
-
-
January 27th, 2015, 13:29
#6
پاسخ : حرکت دادن یک کاراکتر
معمولا اگر کسی قصد نوشتن بازی مثل Snake رو با زبان ++C داشته باشه، میره سراغ کتابخانه GLUT یا همان OpenGL. اما اگر قصد نوشتن آن با زبان ++C/C خالص را دارید و می خواهید در محیط Console اجرا کنید، بحث حرکت کار سختی نخواهد بود. شما فقط نیاز به کمی محاسبه، ذخیره برخی مقادیر و دستکاری خروجی دارید. به هر صورت اگر بصورت واضح و دقیق بفرمایید دنبال چه چیزی هستید، می توانم آن مسئله مورد نظر را برای شما توضیح داده و کد های لازم را برای شما بنویسم.
!GOODBYE FOREVER
!I HAVE NO WEBSITE
-
تعداد تشکر ها از nexinel به دلیل پست مفید
-
January 27th, 2015, 13:52
#7
پاسخ : حرکت دادن یک کاراکتر
با تشکر فراوان از شما و نگاه کنید شما یک آرایه دو بعدی ایجاد کنید از نوع char بعدش مثلا تو خونه پایینیش یک کاراکتر بگذارید بدون هیچ گرافیک و چیز خاصی درست؟ بعدش این کاراکتر به محض اجرا شدن برنامه ( بهتره با فشار دادن یک کلید شروع به حرکت کنه و به بالا بره تا آخرین خونه آرایه و این حرکت رو ما بتونیم ببینیم با تشکر
-
-
January 27th, 2015, 17:36
#8
پاسخ : حرکت دادن یک کاراکتر

نوشته اصلی توسط
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
-
تعداد تشکر ها از nexinel به دلیل پست مفید
-
January 27th, 2015, 17:59
#9
پاسخ : حرکت دادن یک کاراکتر
حالا اگر یک ارایه 18*21 رو در نظر بگیریم و بعدش بخواهیم در این آرایه یک کاراکتر در 8*19 قرار بدیم بعدش این کاراکتر با زاویه 45 درجه حرکت کنه و وقتی به خونه آخر رسید از دوباره با زاویه 45 درجه شروع به حرکت کنه راستی شروع حرکت به سمت شمال شرق هست ممنون و مرسی
- - - Updated - - -
وقتی برخورد کرد جهت حرکتش تغییر میکنه
-
-
January 27th, 2015, 18:14
#10
پاسخ : حرکت دادن یک کاراکتر
با کدام زبان میخواین بنویسیدش؟ سورس امادش را در ویژوال بیسیک دارم خواستید بگید بدم خدمتتون
- - - Updated - - -
با کدام زبان میخواین بنویسیدش؟ سورس امادش را در ویژوال بیسیک دارم خواستید بگید بدم خدمتتون
-