|
You last visited: Today at 07:49
Advertisement
[Source]4-Gewinnt
Discussion on [Source]4-Gewinnt within the Coding Releases forum part of the Coders Den category.
11/03/2013, 16:01
|
#1
|
elite*gold: 0
Join Date: Jan 2010
Posts: 990
Received Thanks: 127
|
[Source]4-Gewinnt
Hab ein kleines 4-Gewinnt Spiel gemacht mit Gdi+. (in VB.net)
Schicke euch den Source per Anfrage (PN).
Download
Virustotal:
Code:
Public Class Form1
Private gamePoints As New Point(50, 50)
Private WithEvents Spielfeld As New Spielfeld(gamePoints.X, gamePoints.Y) With {.Width = gamePoints.X * 12, .Height = gamePoints.Y * 12}
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DoubleBuffered = True
Me.SetStyle(ControlStyles.UserPaint, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.Controls.Add(Spielfeld)
End Sub
Private Sub Spielfeld_MouseDown(sender As Object, e As MouseEventArgs) Handles Spielfeld.MouseDown
Label1.Text = String.Format("{0} ist an der Reihe", Spielfeld.nextPlayer.ToString)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Not MessageBox.Show("Möchtest du ein neues Spiel starten?", "Neustart", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Exit Sub
End If
Spielfeld.restart()
Label1.Text = String.Format("{0} ist an der Reihe", Spielfeld.nextPlayer.ToString)
End Sub
End Class
Public Class Spielfeld
Inherits Control
Enum Playermove
Spieler1 = -1
Spieler2 = 0
End Enum
Private _nextPlayer As Playermove = Playermove.Spieler1
Public ReadOnly Property nextPlayer As Playermove
Get
Return _nextPlayer
End Get
End Property
Public Property _width As Integer
Public Property _height As Integer
Public Sub New(width As Integer, height As Integer)
Me._width = width
Me._height = height
End Sub
Private startBlocks As New List(Of Rectangle)
Private Sub DrawField(e As PaintEventArgs)
startBlocks.RemoveRange(0, startBlocks.Count)
With e.Graphics
For wid = 0 To _width * 6 Step _width
For hei = 0 To _height * 7 Step _height
startBlocks.Add(New Rectangle(wid, hei, _width, _height))
.FillEllipse(Brushes.WhiteSmoke, startBlocks(startBlocks.Count - 1))
Next
Next
End With
End Sub
Private playedBlocks As New List(Of Rectangle)
Private blackblockCoords As New List(Of Point)
Private redblockCoords As New List(Of Point)
Private animation As New Timer With {.Interval = 75}
Private moreBlock As Integer
Private newRec As Rectangle
Private firstBlock As Rectangle
Private Sub ClickDrawingField(e As MouseEventArgs)
If Not e.Button = MouseButtons.Left OrElse falling OrElse Not playedBlocks.Where(Function(item) item.Contains(e.Location)).Count = 0 Then
Return
End If
Dim clickedblocks = startBlocks.Where(Function(item) item.Contains(e.Location) AndAlso playedBlocks.Where(Function(items) items.IntersectsWith(item)).Count = 0)
If clickedblocks.Count = 0 Then
Return
End If
firstBlock = clickedblocks.First
moreBlock = _height * 7 - playedBlocks.Where(Function(item) item.Location.X = firstBlock.X).Count * _height
newRec = New Rectangle(firstBlock.X, firstBlock.Y, firstBlock.Width, firstBlock.Height)
falling = True
_nextPlayer = Not _nextPlayer
playedBlocks.Add(newRec)
AddHandler animation.Tick, AddressOf animation_Tick
animation.Start()
Me.Invalidate()
End Sub
Private Sub LookForWin()
If Not Math.IEEERemainder(playedBlocks.Count, 2) = 0 Then
blackblockCoords.Add(newRec.Location)
If blackblockCoords.Contains(New Point(newRec.X, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf playedBlocks.Count = 8 * 7 Then
MessageBox.Show("Kein Gewinner!")
Else
Exit Sub
End If
Else
redblockCoords.Add(newRec.Location)
If redblockCoords.Contains(New Point(newRec.X, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf playedBlocks.Count = 8 * 7 Then
MessageBox.Show("Kein Gewinner!")
Else
Exit Sub
End If
End If
Me.restart()
End Sub
Private Sub DrawStones(e As PaintEventArgs)
With e.Graphics
For i = 0 To playedBlocks.Count - 1
If Math.IEEERemainder(i, 2) = 0 Then
.DrawEllipse(Pens.Black, playedBlocks(i))
.FillEllipse(Brushes.Black, playedBlocks(i))
Else
.FillEllipse(Brushes.Red, playedBlocks(i))
.DrawEllipse(Pens.Red, playedBlocks(i))
End If
Next
End With
End Sub
Private Sub Spielfeld_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
ClickDrawingField(e)
End Sub
Private Sub Spielfeld_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
Me.DoubleBuffered = True
DrawField(e)
DrawStones(e)
End Sub
Public Sub restart()
playedBlocks.RemoveRange(0, playedBlocks.Count)
redblockCoords.RemoveRange(0, redblockCoords.Count)
blackblockCoords.RemoveRange(0, blackblockCoords.Count)
_nextPlayer = Playermove.Spieler2
Me.Invalidate()
End Sub
Private falling As Boolean = False
Private Sub animation_Tick(sender As Object, e As EventArgs)
If newRec.Y = moreBlock Then
RemoveHandler animation.Tick, AddressOf animation_Tick
animation.Stop()
falling = False
LookForWin()
Return
End If
newRec.Y += _height
playedBlocks.Add(newRec)
playedBlocks.RemoveAt(playedBlocks.Count - 2)
Me.Invalidate()
End Sub
End Class
|
|
|
11/03/2013, 16:32
|
#2
|
elite*gold: 0
Join Date: Oct 2010
Posts: 2,506
Received Thanks: 257
|
Quote:
Originally Posted by DeinMud
Hab ein kleines 4-Gewinnt Spiel gemacht mit Gdi+. (in C#)
Schicke euch den Source per Anfrage.
Download

|
Bitte mach noch einen Virustotal Link von der Exe Datei in deinen Post.
|
|
|
11/03/2013, 16:39
|
#3
|
elite*gold: 0
Join Date: Jan 2010
Posts: 990
Received Thanks: 127
|
Ich kann euch die Source auch so geben, wer die .exe nicht runterladen will, aber nagut:
Virustotal
|
|
|
11/03/2013, 18:20
|
#4
|
elite*gold: 0
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
|
Warum stellst du die nicht einfach in den thread rein?
|
|
|
11/03/2013, 18:47
|
#5
|
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
|
Quote:
Originally Posted by -Rainbow
Warum stellst du die nicht einfach in den thread rein?
|
^this
So Geheim kann dadran ja nichts sein, ist ja nur ein 4-Gewinnt Spiel.
Und wo Source drauf steht muss auch Source drin sein.
|
|
|
11/03/2013, 19:07
|
#6
|
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
|
Entschuldigung, aber wenn das nicht  rein gehört, dann versteh ich die Welt nicht mehr.
|
|
|
11/03/2013, 19:22
|
#7
|
elite*gold: 0
Join Date: Jan 2010
Posts: 990
Received Thanks: 127
|
weil der Startpost dann so lang wäre, deswegen dacht ich, dass leute die's interessiert mich einfach anschreiben könnten. Hat wohl weniger mit Geheimhaltung zu tun, denn das kann man eh decompilen.
@xXKonaXx
Wenn lausige Acc Creator Bots & dergleichen einen eigenen Thread kriegen,
dann wohl auch sowas.
Hier die Source:
Code:
Public Class Form1
Private gamePoints As New Point(50, 50)
Private WithEvents Spielfeld As New Spielfeld(gamePoints.X, gamePoints.Y) With {.Width = gamePoints.X * 12, .Height = gamePoints.Y * 12}
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DoubleBuffered = True
Me.SetStyle(ControlStyles.UserPaint, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.Controls.Add(Spielfeld)
End Sub
Private Sub Spielfeld_MouseDown(sender As Object, e As MouseEventArgs) Handles Spielfeld.MouseDown
Label1.Text = String.Format("{0} ist an der Reihe", Spielfeld.nextPlayer.ToString)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Not MessageBox.Show("Möchtest du ein neues Spiel starten?", "Neustart", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Exit Sub
End If
Spielfeld.restart()
Label1.Text = String.Format("{0} ist an der Reihe", Spielfeld.nextPlayer.ToString)
End Sub
End Class
Public Class Spielfeld
Inherits Control
Enum Playermove
Spieler1 = -1
Spieler2 = 0
End Enum
Private _nextPlayer As Playermove = Playermove.Spieler1
Public ReadOnly Property nextPlayer As Playermove
Get
Return _nextPlayer
End Get
End Property
Public Property _width As Integer
Public Property _height As Integer
Public Sub New(width As Integer, height As Integer)
Me._width = width
Me._height = height
End Sub
Private startBlocks As New List(Of Rectangle)
Private Sub DrawField(e As PaintEventArgs)
startBlocks.RemoveRange(0, startBlocks.Count)
With e.Graphics
For wid = 0 To _width * 6 Step _width
For hei = 0 To _height * 7 Step _height
startBlocks.Add(New Rectangle(wid, hei, _width, _height))
.FillEllipse(Brushes.WhiteSmoke, startBlocks(startBlocks.Count - 1))
Next
Next
End With
End Sub
Private playedBlocks As New List(Of Rectangle)
Private blackblockCoords As New List(Of Point)
Private redblockCoords As New List(Of Point)
Private animation As New Timer With {.Interval = 75}
Private moreBlock As Integer
Private newRec As Rectangle
Private firstBlock As Rectangle
Private Sub ClickDrawingField(e As MouseEventArgs)
If Not e.Button = MouseButtons.Left OrElse falling OrElse Not playedBlocks.Where(Function(item) item.Contains(e.Location)).Count = 0 Then
Return
End If
Dim clickedblocks = startBlocks.Where(Function(item) item.Contains(e.Location) AndAlso playedBlocks.Where(Function(items) items.IntersectsWith(item)).Count = 0)
If clickedblocks.Count = 0 Then
Return
End If
firstBlock = clickedblocks.First
moreBlock = _height * 7 - playedBlocks.Where(Function(item) item.Location.X = firstBlock.X).Count * _height
newRec = New Rectangle(firstBlock.X, firstBlock.Y, firstBlock.Width, firstBlock.Height)
falling = True
_nextPlayer = Not _nextPlayer
playedBlocks.Add(newRec)
AddHandler animation.Tick, AddressOf animation_Tick
animation.Start()
Me.Invalidate()
End Sub
Private Sub LookForWin()
If Not Math.IEEERemainder(playedBlocks.Count, 2) = 0 Then
blackblockCoords.Add(newRec.Location)
If blackblockCoords.Contains(New Point(newRec.X, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf blackblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso blackblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso blackblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 1 gewinnt")
ElseIf playedBlocks.Count = 8 * 7 Then
MessageBox.Show("Kein Gewinner!")
Else
Exit Sub
End If
Else
redblockCoords.Add(newRec.Location)
If redblockCoords.Contains(New Point(newRec.X, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X, newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y - (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 3), newRec.Y + (_height * 3))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y - (_height * 2))) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X - (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf redblockCoords.Contains(New Point(newRec.X + (_width * 2), newRec.Y + (_height * 2))) AndAlso redblockCoords.Contains(New Point(newRec.X + _width, newRec.Y + _height)) AndAlso redblockCoords.Contains(New Point(newRec.X - _width, newRec.Y - _height)) Then
MessageBox.Show("Spieler 2 gewinnt")
ElseIf playedBlocks.Count = 8 * 7 Then
MessageBox.Show("Kein Gewinner!")
Else
Exit Sub
End If
End If
Me.restart()
End Sub
Private Sub DrawStones(e As PaintEventArgs)
With e.Graphics
For i = 0 To playedBlocks.Count - 1
If Math.IEEERemainder(i, 2) = 0 Then
.DrawEllipse(Pens.Black, playedBlocks(i))
.FillEllipse(Brushes.Black, playedBlocks(i))
Else
.FillEllipse(Brushes.Red, playedBlocks(i))
.DrawEllipse(Pens.Red, playedBlocks(i))
End If
Next
End With
End Sub
Private Sub Spielfeld_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
ClickDrawingField(e)
End Sub
Private Sub Spielfeld_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
Me.DoubleBuffered = True
DrawField(e)
DrawStones(e)
End Sub
Public Sub restart()
playedBlocks.RemoveRange(0, playedBlocks.Count)
redblockCoords.RemoveRange(0, redblockCoords.Count)
blackblockCoords.RemoveRange(0, blackblockCoords.Count)
_nextPlayer = Playermove.Spieler2
Me.Invalidate()
End Sub
Private falling As Boolean = False
Private Sub animation_Tick(sender As Object, e As EventArgs)
If newRec.Y = moreBlock Then
RemoveHandler animation.Tick, AddressOf animation_Tick
animation.Stop()
falling = False
LookForWin()
Return
End If
newRec.Y += _height
playedBlocks.Add(newRec)
playedBlocks.RemoveAt(playedBlocks.Count - 2)
Me.Invalidate()
End Sub
End Class
Ihr könnt jedoch nicht im Designer das Spielfeld bearbeiten bzw eins auf die Form ziehen da der Konstruktor parameter erwartet.
|
|
|
11/04/2013, 07:19
|
#8
|
elite*gold: 0
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
|
Quote:
Originally Posted by DeinMud
weil der Startpost dann so lang wäre
|
[*SPOILER] DEIN TEXT IM SPOILER [*/SPOILER] (Ohne die Sternchen in den tags)
|
|
|
11/06/2013, 00:23
|
#9
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,907
Received Thanks: 25,408
|
Quote:
|
Wenn lausige Acc Creator Bots & dergleichen einen eigenen Thread kriegen
|
Wäre mir neu.
|
|
|
 |
Similar Threads
|
Wer gewinnt die CL 2013?
05/03/2013 - Off Topic - 91 Replies
Jedes Jahr aufs Neue :)
Hoffe wieder auf Bayern, jedoch gegen Barca wird es schwer aber machbar.
Für wen seid ihr?
MFG
|
Wer gewinnt?
04/08/2013 - Off Topic - 1 Replies
Die klatschen sich ja alle bald mit Bomben und Nordkorea und so.
Aber das wird nen harter Krampf.
Nord Korea hat Atombomben.
Amerika hat Chuck Norris.
Russland hat FPS-Russia.
Das wird ein Kopf and Knopf rennen.
Wer gewinnt?
|
[How²]4 Gewinnt
03/13/2012 - Minecraft Guides & Strategies - 20 Replies
Hey Leute,
da mir grade langweilig war/ist dachte ich mir ich mache einfach mal "schnell" ein Tutorial wie man 4Gewinnt baut.
Dazu muss ich sagen dies ist eine einfache Version und kann auch erweitert werden z.b Reset, Player anzeige ect.
Mehr brauch ich nicht dazu schreiben also fangen wir einfach an :)
Normal:
Zu nächst bauen wir eine Wand die 9Breit ist 1lang und 2hoch ist, an dem rechten und linken Block bauen wir nichts dran an den anderen bauen wir 7Buttons.
Diese Wand wird die...
|
Deutschland gewinnt!
06/27/2010 - World of Warcraft Trading - 0 Replies
Na ihr Würstchen ;)
Deutschland hat gewonnen!
Zu diesem tollen Ereignis gibt es 50 % Rabatt auf ALLES was ich anbiete (ausser Keys / GC), einfach in meine Signatur schauen!
Angebot nur heute und morgen.
Nur 3 Stück!
Status: 0 / 3 besetzt.
Glückwunsch Deutschland! ;)
|
Suche Ref, ihr GEWINNT!
03/28/2010 - Off Topic - 9 Replies
Hallo.
Ich suche Refs.
Ihr Registriert euch auf einer Seite und Bestätigt die Anmeldung durch eine Email die ihr bekommt.
Also ihr bekommt eine Email und bestätigt den darin enthaltenden Link.
Kostet mich die Registration etwas?
Nein das wäre ja natürlich auch Doof, es ist kostenlos, ihr bekommt keine Email etc.
|
All times are GMT +1. The time now is 07:52.
|
|