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

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

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

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

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

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

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

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

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

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

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

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

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

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

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

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 بده. 

online-support-icon