• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

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

ahmadfononi

معاونت انجمن
برنامه ای بنویسید که بازی جدول هوش را با شرایط زیر انجام دهد .
الف ) با اجرای برنامه ابتدا اعداد به طور مرتب روی دکمه ها قرار داشته باشند . ( با کد نویسی )
ب) با کلیک روی دکمه CmdPaly بازی شروع شود و در شروع بازی دکمه ها به طور تصادفی تغییر کنند مانند شکل زیر

ج) بازی زمان داشته باشد و اگر تا 5 دقیقه برنده نشود بازی تمام شده و امتیاز بازیکن اعلام شود .
د) نحوه امتیاز دهی بدین صورت است که در ابتدا امتیاز 2000 برای بازیکن در نظر گرفته شود و برای هر حرکت 10 امتیاز کم شود .
هـ ) در صورت برنده شدن بازی تمام شود و امتیاز بازیکن در عنوان فرم نشان داده شده و پیغام " You Win " در جعبه متن نشان داده شود .
بارم :
- طراحی فرم ( 1 نمره ) - کد نویسی فرم اولیه ( 1 نمره )
- نامرتب کردن تصادفی ( 2 نمره ) - حرکت کلید ها ی وسط ( 4 نمره )
- حرکت کلید های کناری ( 4 نمره ) - امتیاز دهی ( 2 نمره )
- زمان بندی بازی ( 2 نمره ) - بررسی برنده شدن ( 3 نمره )
- مستند سازی برنامه ( 1 نمره )
جواب : توضیحات رسیدن به برنامه را بزودی در این صفحه قرار میدهم.

کد:
Dim zaman As Integer
Dim Emz As Integer ' motageir barayeh emtiyaz
Private Sub cmdp_Click(Index As Integer)
' harakateh Bizikon
b = -1: p = -1: r = -1: c = -1
If cmdp(Index).Caption <> "" Then
If Index Mod 4 <> 0 Then r = Index + 1
If Index Mod 4 <> 1 Then c = Index - 1
If Index > 4 Then b = Index - 4
If Index < 13 Then p = Index + 4
If r <> -1 Then
If cmdp(r).Caption = "" Then
cmdp(r).Caption = cmdp(Index).Caption
cmdp(Index).Caption = ""
Emz = Emz - 10
End If
End If
If c <> -1 Then
If cmdp(c).Caption = "" Then
cmdp(c).Caption = cmdp(Index).Caption
cmdp(Index).Caption = ""
Emz = Emz - 10
End If
End If
If b <> -1 Then
If cmdp(b).Caption = "" Then
cmdp(b).Caption = cmdp(Index).Caption
cmdp(Index).Caption = ""
Emz = Emz - 10
End If
End If
If p <> -1 Then
If cmdp(p).Caption = "" Then
cmdp(p).Caption = cmdp(Index).Caption
cmdp(Index).Caption = ""
Emz = Emz - 10
End If
End If
End If
'Bararsi Barandeh Shodan
Dim flag As Boolean
flag = False
i = 1
Do While i <= 15 And Not flag
If cmdp(i).Caption <> i Then flag = True Else i = i + 1
Loop
If flag = False Then
Text1.Text = "You Win "
cmdplay.Enabled = True
For k = 1 To 16
cmdp(k).Enabled = False
Next k
Else
Text1.Text = "Not You Win"
End If
Form1.Caption = "Emtiyaz shoma= " & Emz
End Sub

Private Sub cmdplay_Click()
' Na maorattab kardaneh Tasadofi
Text1.Text = "Not You Win"
For i = 1 To 16
cmdp(i).Enabled = True
cmdp(i).Caption = ""
Next i
Dim found As Boolean
For i = 1 To 15
r = Int(Rnd * 15) + 1
found = False
j = 1
Do While Not found And j < i
If cmdp(j).Caption = r Then
found = True
Else
j = j + 1
End If
Loop
If found = True Then
i = i - 1
Else
cmdp(i).Caption = r
End If
Next i
cmdplay.Visible = False
Timer1.Interval = 1000
zaman = 0
End Sub

Private Sub Form_Load()
' megdareh Avaleah dehi beh ashya
cmdp(0).Height = 500
cmdp(0).Width = 500
cmdp(0).Visible = False
Frame1.Left = 200
Frame1.Top = 1000
Frame1.Width = 4 * (cmdp(0).Width + 100) + 100
Frame1.Height = 4 * (cmdp(0).Width + 100) + 200
Frame1.Appearance = 0
Frame1.Caption = ""
' Tolead command ha va cheadan Anha royeh Frame
t = 200
l = 100
For i = 1 To 16
Load cmdp(i)
cmdp(i).Visible = True
cmdp(i).Top = t
cmdp(i).Left = l
cmdp(i).Caption = i
cmdp(i).FontSize = 16
If i Mod 4 = 0 Then
t = t + cmdp(0).Height + 100
l = 100
Else
l = l + cmdp(0).Width + 100
End If
Next i
cmdp(16).Caption = ""
Text1.Text = ""
cmdplay.Caption = "Start Play"
Emz = 2000 ' emtiyaz shorh
End Sub

Private Sub Timer1_Timer()
zaman = zaman + 1
If zaman = 300 Or Emz <= 0 Then ' 300= 5 *60 zaman beh dagigeh
zaman = 0
Text1.Text = "Game Over"
For k = 1 To 16
cmdp(k).Enabled = False
cmdplay.Enabled = False
cmdplay.Visible = True
Next k
End If
End Sub​
 
بالا