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

فرض کنید رمز عبور شما فقط از ارقام تشکیل شده است. هر بار که می خواهید وارد سیستم شوید کامپیوتر از شما سه رقم را در مکان های i ام، j ام و k ام می خواهد. مثلاً، اگر رمز عبور 531278 باشد و کامپیوتر از شما رقم دوم، سوم و پنجم را بخواهد، پاسخ صحیح 317 خواهد بود. در فایل keylog.txt پنجاه کلید موفقیت آمیز اخیر کاربر ذخیره شده‌اند. با این فرض که i<j<k است، کوچک ترین معتبر را که با این فایل همخوانی دارد را پیدا کنید.

بزرگ ترین مجموع در جاوا

مثلث زیر اگر از راس مثلث شروع کنید و از طریق خانه ‌های مجاور به سمت پایین حرکت کنید. بزرگ ترین مجموعی که می توانید به دست آورید برابر ۲۳ است.


3
7 4
2 4 6
8 5 9 3

حال بزرگترین مجموع را در مثلث زیر پیدا کنید. دقت کنید که ۱۶۳۸۴ حالت مختلف وجود دارد. هدف ما این نیست که تمام حالتهای مختلف را امتحان کنیم، بلکه دنبال یک راه حل هوشمندانه هستیم.

 

75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23

ترکیبات مرتب ارقام

می‌خواهیم تمام ترکیب‌های ارقام وارد شده را به صورت مرتب چاپ کنیم. مثلا برای ارقام ۰ ، ۱ و ۲ ترکیبات مرتب سه رقمی به صورت زیر هستند:

012   021   102   120   201   210

در این پروژه k رقم که ممکن است تکراری باشند را از کاربر می‌گیرید و تمام ترکیب‌های n رقمی (n<=k) رقمی آن‌ها را چاپ می‌کنید.

بازی حافظه در جاوا

این بازی چهار مربع با رنگ‌های مختلف برای مدت مشخصی به کاربر نشان داده می‌شود. سپس، رنگ تمام مربعات خاکستری می شود و از کاربر خواسته می شود که رنگ مربع‌ها را به سرعت تعیین کند. مراحل بازی باید به تدریج سخت‌تر شوند.  یعنی تعداد رنگ‌ها و مربعات زیاد شود.

بازی قورباغه در جاوا

در این بازی یک قورباغه باید عرض رودخانه را با پریدن روی برگ‌هایی که با سرعت‌های مختلف در حال حرکت هستند را طی کرده و به طرف مقابل برسد. به علاوه تعدادی قایق در جهت مخالف و با سرعت‌های متفاوت در حال حرکت هستند که قورباغه نباید روی آنها بپرد یا در آب بیافتد.

مخفی کردن تصویر در جاوا

در این پروژه یک فایل bmp و یک فایل متنی وجود دارند. شما باید فایل bmp را باز کنید و در اطلاعات مربوط به پیکسل‌ها فایل متنی را جایگذاری کنید. بدین ترتیب که هر پیکسل رنگی شامل سه رنگ و 24 بیت یا 3 بایت است. هر بایت یک عدد بین 0 تا 255 است که میزان رنگ مربوطه را مشخص می کند. کدام از بایت‌ها می توانند 1 بیت را در خود حمل کنند. به عنوان مثال، اگر کد رنگ برابر 155 باشد، کم ارزش ترین بیت برابر 1 است. اگر ما بخواهیم بیت 0 را در این رنگ جایگذاری کنیم، باید کم ارزش‌ترین بیت را برابر 0 قرار دهیم. لذا کد رنگ به 154 تغییر می کند. اما اگر بیت مورد نظر ما برای کدگذاری 1 باشد، تغییری در کد این رنگ نمی دهیم.
در حالت کلی، ما فایل متنی را به صورت کاراکتر به کاراکتر می خوانیم. هر کاراکتر شامل 8 بیت است و هر کدام از بیت‌ها در یک کد رنگ قرار می گیرند. لذا، برای کدگذاری سه کاراکتر به هشت پیکسل رنگی نیازمند هستیم.

بازی تطبیق اشکال گرافیکی در جاوا

در این بازی، 2n دکمه‌ی مخفی وجود دارد. زیر هر کدام از دکمه ها یک تصویر وجود دارد و از هر تصویر دقیقاً دو مورد وجود دارد. اگر کاربر روی یک دکمه کلیک کند، تصویر زیر آن مشخص خواهد شد. حال اگر کاربر روی یک دکمه‌ی دیگر کلیک کند، تصویر زیر آن با تصویر جاری مقایسه می شود، اگر برابر باشند هر دو تصویر رو خواهند شد. در غیر این صورت، تصویر جاری مخفی و تصویر جدید رو خواهد شد. بازی تا وقتی که تمام تصاویر رو شوند ادامه خواهد یافت. برنامه باید هر دفعه تصاویر را بطور تصادفی بچیند. مدت زمانی که کاربر بازی کرده را به او نشان دهد و بهترین زمان را ثبت کند. هم‌چنین، تعداد حدس‌های غلط را بشمارد.

پازل دستی اعداد در جاوا

این بازی شامل ۱۶ خانه است که اعداد ۱ تا ۱۵ به صورت تصادفی در آنها چیده شده‌اند و یکی از خانه ها خالی است. کاربر باید با جابجایی خانه خالی اعداد را مرتب کند. برای آشنایی بیش‌تر می‌توانید یکی از ویجت‌های ویندوز (ویستا یا سون) را ببینید. در صورت امکان از یک تصویر به جای اعداد استفاده کنید. برنامه باید قابلیت ثبت بهترین رکوردها (از لحاظ زمانی) را داشته باشد. هم‌چنین کاربر باید بتواند تا ۵ حرکت به عقب برگردد.
image

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

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