p1rofiletest

شخصی عددی در ذهن خود داره و کامپیوتر باید عددی که در ذهن شخص هستش رو باید حدس بزنه

p1rofiletest ۱۳۹۷/۰۹/۱۱ مباحث عمومی برنامه‌نویسی

سلام ممکنه در مورد این برنامه راهنمایی ام کنید یا بنویسید که باید چیکار بکنم هر چقدر سعی کردم نتونستم باید چیکار کنم اگر به صورت قدم به قدم راهنماییم کنید که دقیقا باید چیکار کنم خیلی ممنون میشم 

 
مراحل بازی به این ترتیب می باشد:

ابتدا کاربر  یک عدد را در ذهن خود مشخص می کند و به کامپیوتر این عدد را نمی گوید (به عنوان ورودی به کامپیوتر عدد را نمی دهد)(عددی بین ۱ تا ۹۹)

برنامه را اجرا می کنیم

برنامه یک عدد را حدس زده و چاپ می کند 

عدد چاپ شده سه حالت را  ایجاد می کند

۱-یا از عددی که شما در ذهن خود دارید بزرگتر هست که شما با تایپ حرف k به برنامه می گویید که عدد در ذهن شما از عددی که برنامه چاپ کرده کوچکتر است و برنامه باید عدد دیگری را حدس زده و نمایش بدهد و ... (قابل ذکر است که در این حالت با تایپ k برنامه باید عدد کوچکتری از حدس قبلی خود حدس بزند تا بازی زودتر تمام شود)

۲-و یا اینکه عدد چاپ شده از از عددی که شما در ذهن خود دارید کوچکتر هست که با تاپ حرف b به برنامه می گویید که عدد در ذهن شما از عددی که برنامه چاپ کرده بزرگتر  است و برنامه باید عدد دیگری را حدس زده و نمایش بدهد و ... (قابل ذکر است که در این حالت با تایپ b برنامه باید عدد بزرگتری از حدس قبلی خود حدس بزند تا بازی زودتر تمام شود)

۳- و یا اینکه عدد چاپ شده همان عددی است که در ذهن شما بود و با تایپ حرف d به برنامه می گویید که درست حدس زده و برنامه تمام می شود

پاسخ‌ها به این تاپیک
InfiTualEr
InfiTualEr
۱۳۹۷/۰۹/۱۱

کد زیر به زبان جاوا هستش ولی آسونه. البته بنظرم اینکه ساده ترین کد ممکن رو ندونین باعث عدم نتیجه گیری تو هرچیزی که دارین میخونین (رشته دانشگاهی یا موسسه یا ...) نتیجه ای نگیرین. 

public static void main(String[] args) {
        // TODO code application logic here
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        int first = random.nextInt(98)+1;
        String CHAR;
        System.out.println("First, Guess a number between 0-100");
        while (true) {
            System.out.printf("\n------------\n \"d\" = True\n \"k\" = More\n \"b\" = Less\n\n%d is = ",first);
            CHAR = scanner.next().toLowerCase();
            if (CHAR.equals("d")) {
                System.out.println("\nBy InfiTualEr");
                break;
            }
            else {
               switch(CHAR){
                // bozorgtar
                case "k": 
                    first = random.nextInt(first-2)+1;
                    break;
                // koochiktar
                case "b":
                    first = random.nextInt(99-first)+first+1;
                    break;
                } 
            }
        }
    }

البته برا حالتی که کاربر حرف دیگه ای وارد کنه یا رشته طولانی تر وارد کنه و برای اینکه بازه ها بهتر رعایت بشه کد باید اصلاح بشه. (مثلا وقتی یک بار به برنامه گفتی عدد کوچیکتر از 53 عه، وقتی دفعه بعد گفتی بزرگتر 38 هست، مجددا یه عدد بزرگتر از 53 نده و یه عدد بین 38 و 53 بده. 

arianomrani24
arianomrani24
۱۳۹۷/۰۹/۱۱

اول که این تمارین داخل سایت مکتبخونه بدای یاد گیری شماست

دوم اگه خواستین به آیدی تلگرامم پیام بدین : @ao2222