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

سلام ممکنه در مورد این برنامه راهنمایی ام کنید یا بنویسید که باید چیکار بکنم 
مراحل بازی به این ترتیب می باشد:

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

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

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

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

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

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

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

پاسخ ها

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

سلام

بهترین متد برای نوشتن چنین برنامه‌هایی استفاده از الگوریتم ریکرسیو هست. یه نمونه دیگه‌اش رو  به همراه رفرنس توی این تاپیک می‌تونی ببینی.

به هر حال من یه تیکه سودوکد برات نوشتم که خودت باید پیاده‌سازیش کنی.

https://sokanacademy.com/forum/8689/نحوه-گرفتن-و-بررسی-تمام-زیر-پوشه-های-یک-پوشه#post-8708

 

توی این کد شما یه فانکشن می‌نویسی به نام SerachForRightAnswer  و اون رو فقط یک بار، و با مقادیر ۱ و ۹۹ به ازای minو maxکال میکنی.

داخل SearchForRightAnswerاز یک فانکشن به اسم Randomهم استفاده کردم که معادلش توی تمام زبان‌های برنامه‌نویسی هست و یک عدد تصادفی بین دو عدد حداقل و حداکثر تولید می‌کنه.

 

موفق باشید.

func SearchForRightAnswer(min, max) {
	rand = random(min, max)
	if (ask user if rand is the right answer) {
		congratulations to you.
	} else if (rand is greater than the right answer) {
		SearchForRightAnswer(min, rand)
	} else {
		SearchForRightAnswer(rand, max)
	}
}
sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

import random
a=random.randint(1,100)
print(a)
c=input()
e=100
f=1
while c!="d":
if c=="k":
h=random.randint(a,e)
f=a
a=h
print(a)
if c=="b":
h=random.randint(f,a)
e=a
a=h
print(a)
c=input()
print("yeah")

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

حل کردم. ممنون

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

سلام !

خیلی ممنون میشیم درباره همین برنامه فقط از یک تا هزارش در زبان سی شارپ کمکی بکنید.خیلی ممنون.

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

درست نیست یعنی کامل نیست

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

ممنون می شوم جواب این سوال را ارسال کنید

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

میشه جواب این سوال رو ارسال کنید ممنون میشم

online-support-icon