Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Coding Releases
You last visited: Today at 07:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Source]4-Gewinnt

Discussion on [Source]4-Gewinnt within the Coding Releases forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
DeinMud's Avatar
 
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
DeinMud is offline  
Thanks
1 User
Old 11/03/2013, 16:32   #2
 
Skriptum's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 2,506
Received Thanks: 257
Quote:
Originally Posted by DeinMud View Post
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.
Skriptum is offline  
Old 11/03/2013, 16:39   #3
 
DeinMud's Avatar
 
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

DeinMud is offline  
Thanks
1 User
Old 11/03/2013, 18:20   #4
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Warum stellst du die nicht einfach in den thread rein?
Acin™ is offline  
Old 11/03/2013, 18:47   #5
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Quote:
Originally Posted by -Rainbow View Post
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.
​Tension is offline  
Old 11/03/2013, 19:07   #6
 
xXKonaXx's Avatar
 
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.
xXKonaXx is offline  
Old 11/03/2013, 19:22   #7
 
DeinMud's Avatar
 
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.
DeinMud is offline  
Old 11/04/2013, 07:19   #8
 
elite*gold: 0
The Black Market: 134/0/2
Join Date: Dec 2012
Posts: 1,140
Received Thanks: 229
Quote:
Originally Posted by DeinMud View Post
weil der Startpost dann so lang wäre
[*SPOILER] DEIN TEXT IM SPOILER [*/SPOILER] (Ohne die Sternchen in den tags)
Acin™ is offline  
Old 11/06/2013, 00:23   #9


 
MrSm!th's Avatar
 
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.
MrSm!th is offline  
Thanks
1 User
Closed Thread

Tags
4-gewinnt, minigame, programmieren, release


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.