|
หลายคนก็คงได้เล่นกันมาตั้งแต่สมัยวัยเด็กแล้วแหละ ที่แอดมินนำโค้ดมาลงก็เพื่อให้บรรดามือใหม่ได้ฝึกคิด ไล่กระบวนการทำงานจากไหนไปไหน การทำก่อนทำหลัง โดยมีเงื่อนไขเป็นตัวกำหนดทิศทางไปครับ สำหรับเกมส์นี้จะประกอบไปด้วย กำปั้น กระดาษ และกรรไกร ซึ่งมีวิธีคิดแต่ละตัวจะเหมือนกันคือ สามารถชนะ 1 และแพ้ได้ 1 สำหรับโค้ดนี้จะเป็นการเล่นกับคอมพิวเตอร์ ดังนั้นเราจึงเอาแต่ละตัวมาตั้งค่าเป็นตัวเลข ดังนี้คือ ...
แทนค่าตัวเลข: 1 = กำปั้น, กระดาษ = 2 และ กรรไกร = 3
เกณฑ์การชนะ: 1 ชนะ 3, 2 ชนะ 1 และ 3 ชนะ 2
ลำดับขั้นตอนการทำงาน ... เปรียบเทียบค่าว่าเหมือนกันหรือไม่ หากใช่คือ เสมอกัน จากนั้นเอาเกณฑ์ที่เราเลือกมาเป็นเงื่อนไขในการชนะ หากเข้าเงื่อนไขตามด้านบน เราชนะ แต่หากไม่ใช่นั่นคือคอมพิวเตอร์ชนะ ...
มาดูโค้ดกันเถอะ ...
- Public Class frmPaoYingChup
- Private strPath As String = MyPath(Application.StartupPath) & "pic"
- Private Sub frmPaoYingChup_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- PictureBox1.Image = Image.FromFile(strPath & "0.jpg")
- PictureBox2.Image = Image.FromFile(strPath & "1.jpg")
- End Sub
- ' / ------------------------------------------------------------------
- ' / Get my project path
- ' / AppPath = C:\My Project\bin\debug
- ' / Replace "\bin\debug" with ""
- ' / Return : C:\My Project\
- Function MyPath(AppPath As String) As String
- AppPath = AppPath.ToLower()
- MyPath = AppPath.Replace("\bin\debug", "").Replace("bin\Release", "")
- '// Check the backslash symbol (ASCII Code = 92) on the far right. If not, add one at the end.
- If Microsoft.VisualBasic.Right(MyPath, 1) <> Chr(92) Then MyPath = MyPath & Chr(92)
- End Function
- Private Sub RadioButton1_Click(sender As Object, e As System.EventArgs) Handles RadioButton1.Click
- PictureBox1.Image = Image.FromFile(strPath & "0.jpg")
- PictureBox2.Image = Image.FromFile(strPath & "1.jpg")
- Label3.Text = ""
- End Sub
- Private Sub RadioButton2_Click(sender As Object, e As System.EventArgs) Handles RadioButton2.Click
- PictureBox1.Image = Image.FromFile(strPath & "0.jpg")
- PictureBox2.Image = Image.FromFile(strPath & "2.jpg")
- Label3.Text = ""
- End Sub
- Private Sub RadioButton3_Click(sender As Object, e As System.EventArgs) Handles RadioButton3.Click
- PictureBox1.Image = Image.FromFile(strPath & "0.jpg")
- PictureBox2.Image = Image.FromFile(strPath & "3.jpg")
- Label3.Text = ""
- End Sub
- Private Sub btnStart_Click(sender As System.Object, e As System.EventArgs) Handles btnStart.Click
- Dim Pic1 As Byte
- Dim Pic2 As Byte
- '// Random
- Dim RandomClass As New Random()
- Randomize()
- '// สุ่ม 1000 ค่า แล้ว Mod หรือหารเอาเศษด้วย 3 จะทำให้ได้คำตอบ คือ 0, 1, 2 แล้วก็บวกขึ้น 1
- Pic1 = RandomClass.Next(1, 1000) Mod 3 + 1
- PictureBox1.Image = Image.FromFile(strPath & "" & Pic1 & ".jpg")
- '// หาค่าของ Pic2 ที่เราเลือก
- If RadioButton1.Checked Then
- Pic2 = 1
- ElseIf RadioButton2.Checked Then
- Pic2 = 2
- Else
- Pic2 = 3
- End If
- '// วิธีคิดคือการแทนค่าด้วยตัวเลขดังนี้ ...
- '// 1 = กำปั้น, 2 = กระดาษ, 3 = กรรไกร
- '// อันดับแรกตรวจสอบว่าออกเหมือนกันหรือไม่
- If (Pic2 = Pic1) Then
- Label3.Text = "เสมอกันจ๊ะ"
- '// เมื่อ Pic2 คือตัวเราเลือก เอาเกณฑ์ชนะมาเป็นเงื่อนไข
- '// 1 ชนะ 3, 2 ชนะ 1 และ 3 ชนะ 2
- ElseIf (Pic2 = 1 And Pic1 = 3) Or (Pic2 = 2 And Pic1 = 1) Or (Pic2 = 3 And Pic1 = 2) Then
- Label3.Text = "คุณคือผู้ชนะ"
- '// นอกเหนือจากนั้นคอมชนะ
- Else
- Label3.Text = "คอมพิวเตอร์ชนะ"
- End If
- End Sub
- End Class
คัดลอกไปที่คลิปบอร์ด
ดาวน์โหลดโค้ดฉบับเต็ม VB.NET (2010) ได้ที่นี่ ...
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|