PDA

View Full Version : گرفتن ورودی در بین اجرای برنامه



mohi_ka2
شنبه 13 بهمن 1386, 22:41 عصر
با سلام به دوستان برنامه نویسم
من دارم یه برنامه ی بازی Wumpus می نویسم.
برنامه باید در هر خانه وضعیت همون خانه را به صورت صفر و یک از ورودی(تعدادی TextBox ) بگیره ، استنتاج و تصمیم گیری کنه و بعد حرکت کنه و در خانه ی بعدی وضعیت خانهی جدید رو بگیره.
حالا مشکل من اینجاست:
من وضعیت خانه ی اول رو بهش می دم و اون استنتاج می کنه ولی من نمی دونم چه کدی باید ینویسم که بعد از اولین حرکت صبر کنه تا دوباره از ورودی اطلاعات بگیره بعد بره سر خونه ی بعدی برای تصمیم گیری!!!!
نمی دونم مشکلم رو راحت گفتم یا نه .در اصل مکانیزمی می خوام پیشنهاد بدین (البته لطفا :بامزه:) که بتونه وسط اجرا ورودی بگیره و بعد دوباره ادامه بده:افسرده:
ممنون می شم راهنماییم کنید
:لبخندساده:

mohi_ka2
شنبه 13 بهمن 1386, 23:13 عصر
سلام دوستان
من خیلی فوری به جواب این سؤالم احتیاج دارم . ممنون می شم اگه زوتر اطلاعات بدین (:

razavi_university
شنبه 13 بهمن 1386, 23:26 عصر
اگه میتونی یکم سوالتو واضحتر بگو :متفکر:
یعنی یکم مسئله و نوع بازی رو بازتر کن
واسه من یکم گنگ نمی فهمم:خجالت:

mohi_ka2
شنبه 13 بهمن 1386, 23:45 عصر
این دیگه آخر وضوحیه که می تونم بگم بیشتر از این در توان زبان گنگم نیست!!! :خجالت:
ببین این بازی رو دارم برای پروژه درس هوش مصنوعی می نویسم.بازی برای تست هوشمندی یک عامل و نحوه استنتاج اون هست. یک فایل در کنار این تاپیک می ذارم که نوع بازی رو توضیح داده.
اما مسئله این نیست!:لبخند:
مسئله اینه که من چه جوری می تونم وسط اجرای برنامه برنامه رو برای گرفتن ورودی جدید و توقف در همین قسمت مجبور کنم که با ورودی های جدید کار کنه
چی شد!!!!!!!!!:گیج:
ببین من می خوام وسط اجرای برنامه ورودی بگیرم! همین .
می خوام ببینم چه جوری می شه این کارو کرد و با چه کدی؟:افسرده:
بازم ممنون:لبخندساده:

razavi_university
یک شنبه 14 بهمن 1386, 00:28 صبح
خب عزیزم من با همین وسط اجرا مشکل دارم وسط اجرا یعنی وسط اجرای چه کدی؟:لبخندساده:

razavi_university
یک شنبه 14 بهمن 1386, 00:41 صبح
مثلا تویه محیط کنسول اگه اجرا منظور دو حلقه تودرتو باشه میشه در حلقه داخلی مقادیر جدید را از کاربر با ReadLine() گرفت
و اجرای برنامه تا ورود مقادیر جدید توسط دستور Read متوقف میشه
(خیلی به مغزم فشار آوردم تا همچین مثالی زدم:خجالت::خجالت::چشمک:)

mohi_ka2
یک شنبه 14 بهمن 1386, 09:26 صبح
مثلا تویه محیط کنسول اگه اجرا منظور دو حلقه تودرتو باشه میشه در حلقه داخلی مقادیر جدید را از کاربر با ReadLine() گرفت
و اجرای برنامه تا ورود مقادیر جدید توسط دستور Read متوقف میشه
(خیلی به مغزم فشار آوردم تا همچین مثالی زدم:خجالت::خجالت::چشمک:)

سلام
اول یه نکته بگم که من جوابمو تا امشب لازم دارم !:ناراحت:
دوم هم بگم که یه تابع با یک switch فراخوانده می شه . بعد که این سوئیچ کارش تموم شد، یک تابع باید فراخوانی بشه که از ورودی مقدار بگیره و دوباره تابع اولی با سوئیچ فراخوانی بشه که بر اساس مقدار جدید تصمیم گیری کنه .مثلا در زیر نشان دادم: در ضمن من در کنسول هم کار نمی کنم و تحت ویندوز هستش.فکر کنم کدش مهم نباشه مهم اینه که من می خوام وسط برنامه ورودی بگیرم ولی نمی دونم په جوری به این برنامه بگم که صبر کنه تا من ورودی بدم!!!!!

move ()
{
.
.
.
switch X
.
.
.

Input()
.
}

razavi_university
دوشنبه 15 بهمن 1386, 11:42 صبح
خب شاید بتونی با یه Button مشکلت رو حل کنی
یعنی برنامه برای اجرای بعدی منتظر میشه تا شما دکمه Start رو بزنین
و شما اول ورودی ها رو وارد می کنین بعد دکمه ادامه رو می زنین