• Ana Sayfa
  • VB
  • VB Online ve Local Reversi Oyunu (Kaynak Kodları – Proje Dosyası)

VB Online ve Local Reversi Oyunu (Kaynak Kodları – Proje Dosyası)

 VB Online ve Local Reversi Oyunu (Kaynak Kodları – Proje Dosyası)
Okunuyor VB Online ve Local Reversi Oyunu (Kaynak Kodları – Proje Dosyası)

Selamun aleyküm arkadaşlar , çok kaynaktan taratarak oyunun mantını anlayarak uğraşlar sonucu oluşturduğum bu projenin kodlarını paylaşıyorum.İhtiyacı olan olabilir, yada incelemek isteyen.Sonucda Form application olarak online oyun yapan pek yol.Reversi Oyunu VB dilinde kodlanmış olmuş ve local ve online oyun modları bulunmaktadır.

VB Online ve Local Reversi Oyunu

Reversi Oyunu Video

 

Reversi Oyunu İndirme Linki

VB REVERSİ DOWNLOAD (NO ADS)

 

Reversi Oyunu Örnek Kodları

 

Public Class frmGame
Public WithEvents gameEngine As New clsGameEngine
Public newGame As Boolean = False

Private Sub mnuPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPlay.Click
'Oyunun başlatılmasını gerçekleştirmek için izlenecek prosedür

'Önce ayarlar sayfasını göndeririz.
frmSetting.ShowDialog()

If newGame = False Then Exit Sub

'Ardından oyun formunu pano büyüklüğüne göre boyutlandırırız.
dimForm()

newGame = False

' Ve en sonunda oyuncu çevrimdışı ise oyunu başlattı( Rakibin bağlantısını beklemeye gerek yok).
If gameEngine.typePartie = clsGameEngine.gameType.localEasy Or gameEngine.typePartie = clsGameEngine.gameType.localHard Then
gameEngine.startIaGame()
Else
'Aksi takdirde, Oynatma için grafik arabirimini uzaktan hazırlarız ve bağlantıyı beklemeye başlarız..
If gameEngine.typePartie = clsGameEngine.gameType.remoteHost Then
Me.StatusStrip1.BackColor = Color.LightGreen
Else
Me.StatusStrip1.BackColor = Color.OrangeRed
End If
Me.StatusStrip1.Refresh()

End If
End Sub

Private Sub dimForm()
'Formun oyunun ve yer kontrollerinin parametrelerine göre boyutlandırılması.
Me.Size = New Size((clsGameEngine.CaseSize + clsGameEngine.MarginSize) * gameEngine.gameSize + 6, (clsGameEngine.CaseSize + clsGameEngine.MarginSize) * gameEngine.gameSize + Me.MenuStrip1.Height + Me.StatusStrip1.Height + 26)

End Sub

Private Sub picGame_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles picGame.MouseClick

'Bu prosedür oyuncunun oyunda ne zaman piyon oynadığını yönetir.

If (gameEngine.MyTurn And gameEngine.CanPlay) = True Then
Dim X As Short, Y As Short

X = Math.Truncate(e.X / (clsGameEngine.CaseSize + clsGameEngine.MarginSize))
Y = Math.Truncate(e.Y / (clsGameEngine.CaseSize + clsGameEngine.MarginSize))

If X < gameEngine.gameSize And Y < gameEngine.gameSize Then
gameEngine.play(X, Y, True)
End If

End If

End Sub

Private Sub gameUpdate(ByVal bit As Bitmap) Handles gameEngine.boardUpdated
' Arayüzü kullanıcıyı gameEngine kurulumuna göre yerleştiren prosedür;
'tahta (pikap kutusunda) ve puanlar (statü şeridinde) yayınlanır.
picGame.Image = bit
picGame.Refresh()
If gameEngine.MyTurn Then
Me.StatusStrip1.BackColor = Color.LightGreen
Else
Me.StatusStrip1.BackColor = Color.OrangeRed
End If

Me.lblScore.Text = gameEngine.pawnsPlayer.ToString
Me.lblSCoreAdv.Text = gameEngine.pawnsOpponent.ToString()

Me.StatusStrip1.Refresh()

End Sub

Private Sub frmGame_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox.CheckForIllegalCrossThreadCalls = False
Dim ipEP As System.Net.IPEndPoint = Nothing
If Form1.modu = "local" And Form1.derece = "kolay" Then
dimForm()
Dim typeGame As clsGameEngine.gameType
typeGame = clsGameEngine.gameType.localEasy
gameEngine.initGame(typeGame, ipEP)

newGame = True
gameEngine.startIaGame()
Me.StatusStrip1.Refresh()
ElseIf Form1.modu = "local" And Form1.derece = "zor" Then
dimForm()
Dim typeGame As clsGameEngine.gameType
typeGame = clsGameEngine.gameType.localHard

gameEngine.initGame(typeGame, ipEP)

newGame = True
gameEngine.startIaGame()
Me.StatusStrip1.Refresh()
ElseIf Form1.modu = "online" And Form1.derece = "kur" Then
dimForm()
Dim typeGame As clsGameEngine.gameType
Me.StatusStrip1.BackColor = Color.LightGreen
typeGame = clsGameEngine.gameType.remoteHost

Me.StatusStrip1.BackColor = Color.LightGreen

gameEngine.initGame(typeGame, ipEP)

newGame = True

Me.StatusStrip1.Refresh()

ElseIf Form1.modu = "online" And Form1.derece = "baglan" Then
dimForm()

Dim typeGame As clsGameEngine.gameType
typeGame = clsGameEngine.gameType.remoteHost
ipEP = New System.Net.IPEndPoint(System.Net.IPAddress.Parse(Form1.TextBox1.Text), 5200)
typeGame = clsGameEngine.gameType.remoteCon
Me.StatusStrip1.BackColor = Color.OrangeRed

gameEngine.initGame(typeGame, ipEP)

newGame = True

Me.StatusStrip1.Refresh()
End If
If Form1.ses = "aktif" Then
If Form1.ComboBox1.Text = "Alan Walker - Fade" Then
AxShockwaveFlash1.Movie = "https://www.youtube.com/v/bM7SZ5SBzyY?autoplay=1"

ElseIf Form1.ComboBox1.Text = "Unison - Aperture" Then
AxShockwaveFlash1.Movie = "https://www.youtube.com/v/8VDjPYcL-oU?autoplay=1"

ElseIf Form1.ComboBox1.Text = "Kasger - Highland" Then
AxShockwaveFlash1.Movie = "https://www.youtube.com/v/agi-FWTLMh0?autoplay=1"

ElseIf Form1.ComboBox1.Text = "Different Heaven - My Heart" Then
AxShockwaveFlash1.Movie = "https://www.youtube.com/v/jK2aIUmmdP4?autoplay=1"
ElseIf Form1.ComboBox1.Text = "Tobu - Hope" Then
AxShockwaveFlash1.Movie = "https://www.youtube.com/v/EP625xQIGzs?autoplay=1"
End If

End If
End Sub

Private Sub AppropriateStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
MessageBox.Show("Proje odevi" & vbCrLf & vbCrLf & "hakkimizda." _
& vbCrLf & "...", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
gameEngine = Nothing
Application.Exit()
End Sub

Private Sub GameToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GameToolStripMenuItem.Click

End Sub

Private Sub picGame_Click(sender As Object, e As EventArgs) Handles picGame.Click

End Sub
End Class

ihtiyacı olan olabilir ? şimdiden alıp kullanan varsa hayırlı olsun destek için adsense reklamlarına tıklayabilir , yada herhangi hoşunuza giden bir makalemi paylaşabilirsiniz.İhtiyacınız olan konularıda bildirirseniz bu konularda da makale desteği sağlayabilirim.

Diğer yazılım makalelerimiz için

Yapılan Yorumlar
  • Avatar for Mustafa Mustafa dedi ki:

    Kardeşim selamın aleyküm,

    kodunda yapay zeka algoritması kullandın mı (Örneğin min-max algoritması)
    Zor modda yaptığın işlem tam olarak nasıl bir şey?

    • Avatar for Ramazan Şerif Ramazan Şerif dedi ki:

      Aleyküm Selam ve Rahmetullahi ve Berekatuhu kardeşim
      Projeyi yapalı 2 sene filan oldu ne kullandığımı hatırlamıyorum.Projenin yüzde 70ini dünya üzerindeki yapılan onlarca reversi projesini inceleyerek ve mantıklı buldum kısımlarını kullanarak oluşturdum.Tasarımını hata ve bugları ben düzelttim.Türkçe açık kaynak kod olarak ender bi kaynak ancak satır satır herşeyin mantığını açıklayabilecek durumda değilim malesef.Umarım faydası olur iyi günler

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.