بازی حمله ی اعداد اول در جاوا

این بازی یک عدد طبیعی با سرعت ثابت از بالای پنجره به سمت پایین حرکت می کند و کاربر باید عامل های اول موجود در آن را با کلیک روی دکمه های مناسب پیدا کند. در قسمت پایین برنامه تعدادی دکمه وجود دارد که شامل اعداد 2، 3، 5، 7، 11، 13 و … هستند. مثلاً اگر عدد 24 به سمت پایین حرکت کند و کاربر دکمه ی 2 را بزند، عدد به 12 تبدیل می شود. بعد از زدن دکمه ی 3، عدد به 4 تبدیل می شود. کاربر باید دو بار دیگر دکمه ی 2 را بزند تا عدد به 2 و بعد به 1 تبدیل شود و عدد بعدی شروع به حرکت کند.
اعداد به صورت تصادفی انتخاب می شوند و سرعت حرکت آنها به تدریج زیاد می شود. اگر کاربر عامل اول را اشتباه حدس بزند، این عدد به صورت آزاد سقوط کرده و عدد بعدی شروع به حرکت می کند. اگر تعداد اعداد سقوط کرده در یک قسمت از بازی از یک حد مشخص (مثلاً 5) بگذرد، بازی خاتمه پیدا می کند.
در مورد گرافیک بازی می توانید از بازی معروف Tetris ایده بگیرید.

بازی زندگی در جاوا

این بازی توسط کامپیوتر انجام می شود. تعدادی سلول به صورت یک ماتریس n*n وجود دارند. بعضی از سلول ها زنده (رنگ زرد) و بعضی مرده (رنگ خاکستری) هستند. بعد از گذشت یک واحد زمانی (مثلاً یک ثانیه) وضعیت سلول ها طبق قوانین زیر عوض می شود. بازی با یک هسته ی اولیه شروع می شود و مراحل رشد و نمو و مرگ و میر سلول باید مرحله به مرحله نشان داده شود.
• هر سلول زنده که ۱ همسایه ی زنده دارد یا هیچ همسایه ی زنده ای ندارد، از تنهایی می میرد.
• هر سلول زنده ای که ۴ یا بیش تر همسایه ی زنده داشته باشد از کمبودهای ناشی از جمعیت زیاد می میرد.
• هر سلول زنده با 2 یا 3 همسایه ی زنده، به حیات خود ادامه می دهد.
• هر سلول مرده که 3 همسایه ی زنده داشته باشد، به دنیا می آید (یا زنده می شود)
مراحل رشد و نمو از چپ به راست نشان داده شده اند.
بازی زندگی
حداقل ۱۰ حالت جالب که منجر به تولید اشکال زیبا بشود را پیدا کنید و به کاربر اجازه دهید که آنها را بارگذاری کند.
باید زمان بین تغییر حالت ها قابل کنترل باشد (مثل آهسته، معمولی و سریع).
حداقل سایز آرایه را 20 در 40 در نظر بگیرید. اما استفاده از اندازه های خیلی بزرگتر توصیه می شود. تعداد همسایه ها در مرزها کم تر است.

پاک کردن حروف صدادار و چاپ آن در سی

برنامه ای بنویسید که یک رشته ای را از ورودی دریافت نموده و حروف صدادار آن را حذف و حاصل را در رشته جدیدی قرار دهد و در نهایت در صورتی که کاراکتر ابتدا و انتهای رشته حاصل یکسان بود آن را نمایش دهد در غیر این صورت عبارت No Result را نمایش دهد. ( حروف صدادار a,o,i,e,u می باشند.)
مثال: اگر رشته ورودی computer باشد، رشته نتیجه cmptr بوده و چون کاراکتر اول و آخر یکسان نیست پیام No result را نمایش دهد. حال فرض کنید ورودی millennium باشد، رشته نتیجه mllnnm بوده و چون کاراکتر اول و آخر آن یکسان است لذا عبارت mllnnm در خروجی نمایش می یابد.

(بیشتر…)

دریافت رشته از ورودی در سی

در زبان سی دریافت رشته با مشکلات پنهان بسیار زیادی همراه است.
برنامه نویسان معمولا از تابع gets برای دریافت رشته استفاده می کنند دریغ از این که این تابع یک مشکل بزرگ دارد.
در صورتی که از این تابع به همراه دستور scanf استفاده کنیم این مشکل ظاهر می شود.
دستور scanf وقتی که ورودی را در متغیر ذخیره می کند، بافر (حافظه موقت میانی) را پاک نمی کند. از آن جایی که تابع gets هم با بافر کار می کند در این گونه مواقع مقدار قبلی بافر را برمی گرداند.
پس باید حتما قبل از استفاده کردن از تابع gets بافر را پاک کنیم. روش های متفاوتی برای این کار وجود دارد اما این روش ها توسط بسیاری از کامپایلرها پشتیبانی نمی شوند. (با کمی جستجو در اینترنت متوجه این موضوع می شوید.)
اما در این جا من به جای تابع gets یک تابع مشابه و بسیار ساده به نام getLine نوشتم که دیگر از بافر استفاده نمی کند و می تواند یک خط کامل را (به همراه فاصله) از ورودی دریافت کند و در آرایه ی کاراکتری ذخیره کند.

(بیشتر…)

گرفتن یک رشته با فاصله از ورودی و ذخیره در آرایه ی کاراکتری با تابع gets در سی و سی پلاس پلاس

برنامه ای در سی و سی پلاس پلاس که یک رشته که در آن کاراکتر فاصله هم وجود دارد را دریافت، و در یک آرایه ی کاراکتری ذخیره کند و در نهایت رشته را چاپ کند.

(بیشتر…)