کسی می تونه درباره ی هوش مصنوعی بازی دوز کمکم کنه منظورم بازی با کامپیوتره
کسی می تونه درباره ی هوش مصنوعی بازی دوز کمکم کنه منظورم بازی با کامپیوتره
سلام
من زیاد در مورد این بازی فکر نکردم.
ولی
حواست باشه که حالات تکراری رو چک نکنی.
مثلا:
برای شروع فقط 3 تا حالته.
باقیه حالات شروع حالت rotate شده ی همین سه حالتن.
....
یه چی دیگه:
چک کردن حالات رو بی خیال. وقت تلفیه.
بجای بیا چند تا if بزار و بهش دوز بازی کردن رو یاد بده.
چون تعداد حالات دوز اون قدر زیاد نیست.
.....
اگه برای استادی، درسی یا یه همچین چیزی می نویسی که هیچ.
else
بی خیال دوز.
برو یه چیزه خفن تر بنویس مثلاً یه بازی دیگه
دوز خیلی ضعیفه.
سلام
خب میتونیم با 8 تا دستور if به برنامه بگیم وقتی 2 تا مهره پشت سر هم بود سومیش رو خودش بزاره و برنده بشه.اما...
1.بازی شروع شده و اولین مهره رو برنامه گذاشته از کجا بدونه مهره دوم رو کجا باید قرار بده.در واقع منظورم زمانی هست که هیچ دو مهره ای پشت سر هم نباشند(اوایل بازی)
2.اگه امکانش براتون هست چند خط مختصر و ساده در رابطه با این موضوع توضیح بدید و یه نمونه سورس ساده قرار بدید.برای شروع فقط 3 تا حالته.
باقیه حالات شروع حالت rotate شده ی همین سه حالتن.
در ضمن من خیلی تلاش کردم با حلقه ها این کارو انجام بدم اما راه به جایی نبردم...
راهنمایی کنید ممنون میشم...
سلام
من برنامه این رو ننوشتم.
اما:
چیزایی که تو کتابا نوشتن تعداد حالات اولیه 9تا
خب حالا خوب نگاه کنی می بینی که 1 و 3 و 7 و 9 حالت یک حالت هستند فقط rotate شدن.
و همین طور 2 و 4 و 6 و 8 هم یک حالت.
و نهایتاً 5 هم یک حالت.
پس تا اینجا ما از حالت های تکراری جلوی گیری کریدم به همین ترتیب مراحل بعدی را هم می توانیم از حالات تکراری جلوگیری کنیم.
.............
ولی به نظر من اگه به برنامه دوز بازی کردن رو یاد بدین زودتر به نتیجه می رسین.
تاره در حالت هایی که کاربر کمی باهوش باشد و از روش های طرح ریزی استفاده کند هم حالات معلوم است (اگه کمی دوز بازی کنید پیدا می کنید) شما می توانید با یک if از این حملات جلوگیری کنید.
بدین وسیله شما میتوانید حتی تضمین کنید که برنامه شما می توانید همیشه برنده یا مساوی بازی را به پایان برساند (هیچ وقت بازنده نباشد).
در کل اگه برای خودتون می خواین بنویسین بنظره من بی خیالش.
دنباله یه چیزه قوی تر برین، حتی چیزی که توی ذهنتون جا نگیره. این طوری شیب پیشرفتتون تندتره.
هر چیزی رو هم زود قبول نکنید، همیشه راه بهتری هم هست.
سلام
دقیقا به این مورد فکر کرده بودم.پس حل شدنیه....تاره در حالت هایی که کاربر کمی باهوش باشد و از روش های طرح ریزی استفاده کند هم حالات معلوم است
راستی اگه براتون ممکنه یه کتاب خوب و جامع در سطح مبتدی در این مورد معرفی کنید.
یه سوالی هم داشتم .فرقی نمیکنه که کدوم زبان رو یاد میگیری هوش مصنوعی تو همش مشترکه. درسته؟
تشکر ....
شما باید الگوریتم جستجو (جستجوی اول سطح یا جستجوی عمقی) رو در مباحث هوشمصنوعی مطالعه کنید.
hi
من اين بازي روقرارشده به عنوان پروژه تحويل بدم من اين سورس ها روگيراوردم توجه كنيد
سورس انتخاب بازي كن و چك كردن پايان بازي
If i < 9 Then
If a = 1 Then
sender.Text = "X"
a = 0
sender.Enabled = False
sender.BackColor = Color.NavajoWhite
Else
sender.Text = "0"
a = 1
sender.Enabled = False
sender.BackColor = Color.LightYellow
End If
i = i + 1
End If
سورس چك كردن برد وباخت
If b1.Text = "X" And b2.Text = "X" And b3.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b1.Text = "X" And b4.Text = "X" And b7.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b1.Text = "X" And b5.Text = "X" And b9.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b3.Text = "X" And b5.Text = "X" And b7.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b3.Text = "X" And b6.Text = "X" And b9.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b7.Text = "X" And b8.Text = "X" And b9.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b2.Text = "X" And b5.Text = "X" And b8.Text = "X" Then
MsgBox("Player 1 Win")
clear()
ElseIf b4.Text = "X" And b5.Text = "X" And b6.Text = "X" Then
MsgBox("Player 1 Win")
clear()
End If
If b1.Text = "0" And b2.Text = "0" And b3.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b1.Text = "0" And b4.Text = "0" And b7.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b1.Text = "0" And b5.Text = "0" And b9.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b3.Text = "0" And b5.Text = "0" And b7.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b3.Text = "0" And b6.Text = "0" And b9.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b7.Text = "0" And b8.Text = "0" And b9.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b2.Text = "0" And b5.Text = "0" And b8.Text = "0" Then
MsgBox("Player 2 Win")
clear()
ElseIf b4.Text = "0" And b5.Text = "0" And b6.Text = "0" Then
MsgBox("Player 2 Win")
clear()
End If
If i = 9 Then
MsgBox("Tie Has Been Created...!")
clear()
End If
حالاسوال من اينه چطوري بدون اينكه بخام داخل هر label اين كدها رابنويسم هر دو سورس چك بشند لطفا اگر مي خاهيد توضيح بدهيد كامل توضيح دهيد زبان برنامه نويسي كه باهاش كارمي كنم vb.net است درضمن اين clear() براي چيه ياچرابايدباشه
از همتون ممنونم
آخرین ویرایش به وسیله jafar2012 : دوشنبه 14 آذر 1390 در 13:16 عصر