مشاهده نسخه کامل
: رسم سه تا شکل تو صفحه و حرکت اونها در C++
micheal-tnt
04-01-2010, 12:24
سلام
میخوام برنامه زیر رو بنویسم لطفا کمکم کنید
حداقل سه شکل با * چاپ کنه
با زدن یه دکمه در یک جهت حرکت کنه
مختصات شکل ها رو از صفحه کلید بگیره و اگه شکل ها با هم تداخل داشتن مختصات جدید رو بخاد
با خوردن به دیواره ها تغییر جهت بده
ممنون
Arman_BM
09-01-2010, 00:23
برنامت باید یه حلقه ی بینهایت داشته باشد که مثلا با زدن کلید q هنگام ورودی دستور break اجرا بشه و از حلقه خارج بشه. و برنامه تموم بشه
شکل هایی که با ستاره میکشی، میشه مختصات ستاره ها رو تو آرا یه ی دو بعدی نوشت و سپس تو ی اون حلقه ی بینهایت برنامت، هی اون شکلا رو از روی خونه های آرایه بکشی و به محض اینکه کار بر ورودی جهت ها رو وارد کرد مقدار اون خانه های آرایه ی متانظر با شکل عوض میشه بنابر این دفعه ی بعدی که حقله ی بینهایت میخواد شکل رو از روی آرایت بکشه ، اون رو جابه جا کرده میکشه.
البته انتهای حلقت باید دستور clrscr یعنی پاک کردن صفحه باشه.
برای اینکه به دیواره ها بخوره برگرده کافیه یه شرط ساده بزاری که مثلا اگه فلان خونه ی آرایم عددش برابر با فلان عدد شد (فلان عدد یعنی مختصات گوشه ی صفحه) K رو ضربدر منفی یک کنه! K همون عددیه که هر بار با زدن فلش ها با مختصا خونه های آرایه اضافه میکردی.
توجه: من خیلی سریع نوشتم میدونم الگوریتمش خیلی کامل نیست و اشکال هایی داره اما اساسش درسته و با یک خورده کارکردن روش میتونی کاملش کنی.
موفق باشی.
ِیا حق
Arman_BM
09-01-2010, 00:24
برنامت باید یه حلقه ی بینهایت داشته باشد که مثلا با زدن کلید q هنگام ورودی دستور break اجرا بشه و از حلقه خارج بشه. و برنامه تموم بشه
شکل هایی که با ستاره میکشی، میشه مختصات ستاره ها رو تو آرا یه ی دو بعدی نوشت و سپس تو ی اون حلقه ی بینهایت برنامت، هی اون شکلا رو از روی خونه های آرایه بکشی و به محض اینکه کار بر ورودی جهت ها رو وارد کرد مقدار اون خانه های آرایه ی متانظر با شکل عوض میشه بنابر این دفعه ی بعدی که حقله ی بینهایت میخواد شکل رو از روی آرایت بکشه ، اون رو جابه جا کرده میکشه.
البته انتهای حلقت باید دستور clrscr یعنی پاک کردن صفحه باشه.
برای اینکه به دیواره ها بخوره برگرده کافیه یه شرط ساده بزاری که مثلا اگه فلان خونه ی آرایم عددش برابر با فلان عدد شد (فلان عدد یعنی مختصات گوشه ی صفحه) K رو ضربدر منفی یک کنه! K همون عددیه که هر بار با زدن فلش ها با مختصا خونه های آرایه اضافه میکردی.
توجه: من خیلی سریع نوشتم میدونم الگوریتمش خیلی کامل نیست و اشکال هایی داره اما اساسش درسته و با یک خورده کارکردن روش میتونی کاملش کنی.
موفق باشی.
ِیا حق
micheal-tnt
28-01-2010, 12:16
برنامت باید یه حلقه ی بینهایت داشته باشد که مثلا با زدن کلید q هنگام ورودی دستور break اجرا بشه و از حلقه خارج بشه. و برنامه تموم بشه
شکل هایی که با ستاره میکشی، میشه مختصات ستاره ها رو تو آرا یه ی دو بعدی نوشت و سپس تو ی اون حلقه ی بینهایت برنامت، هی اون شکلا رو از روی خونه های آرایه بکشی و به محض اینکه کار بر ورودی جهت ها رو وارد کرد مقدار اون خانه های آرایه ی متانظر با شکل عوض میشه بنابر این دفعه ی بعدی که حقله ی بینهایت میخواد شکل رو از روی آرایت بکشه ، اون رو جابه جا کرده میکشه.
البته انتهای حلقت باید دستور clrscr یعنی پاک کردن صفحه باشه.
برای اینکه به دیواره ها بخوره برگرده کافیه یه شرط ساده بزاری که مثلا اگه فلان خونه ی آرایم عددش برابر با فلان عدد شد (فلان عدد یعنی مختصات گوشه ی صفحه) K رو ضربدر منفی یک کنه! K همون عددیه که هر بار با زدن فلش ها با مختصا خونه های آرایه اضافه میکردی.
توجه: من خیلی سریع نوشتم میدونم الگوریتمش خیلی کامل نیست و اشکال هایی داره اما اساسش درسته و با یک خورده کارکردن روش میتونی کاملش کنی.
موفق باشی.
ِیا حق
من يه سري كد نوشتم ولي چند تا مشكل داره وقت داري تا برام اصلاحش كني
درضمن ميخوام يكي از شكل ها دايره باشه
(اگه وقت داري ضميمه اش كنم )
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.