From 0b29406cb5865c1b43adbb204fd8c42d449610e0 Mon Sep 17 00:00:00 2001 From: Pablo Facciano <43592231+PabloFac@users.noreply.github.com> Date: Sun, 5 Jan 2020 10:34:00 -0300 Subject: [PATCH] Subir Proyecto --- IoGame.sln | 31 + IoGame/Ajustes.Designer.vb | 297 ++++ IoGame/Ajustes.resx | 120 ++ IoGame/Ajustes.vb | 88 ++ IoGame/App.config | 6 + IoGame/ApplicationEvents.vb | 20 + IoGame/Clases/Data_Get.vb | 273 ++++ IoGame/Clases/Data_InOut.vb | 55 + IoGame/Clases/Data_Red.vb | 44 + IoGame/Clases/Player.Designer.vb | 46 + IoGame/Clases/Player.vb | 308 ++++ IoGame/Form1.Designer.vb | 261 ++++ IoGame/Form1.resx | 141 ++ IoGame/Form1.vb | 1172 ++++++++++++++ IoGame/IoGame.vbproj | 167 ++ IoGame/IoGame.vbproj.user | 3 + IoGame/My Project/Application.Designer.vb | 38 + IoGame/My Project/Application.myapp | 11 + IoGame/My Project/AssemblyInfo.vb | 35 + IoGame/My Project/Resources.Designer.vb | 123 ++ IoGame/My Project/Resources.resx | 139 ++ IoGame/My Project/Settings.Designer.vb | 73 + IoGame/My Project/Settings.settings | 7 + IoGame/My Project/app.manifest | 55 + .../icons8-Ametralladora Gatling-48.png | Bin 0 -> 1477 bytes .../Resources/icons8-Fusil de asalto-48.png | Bin 0 -> 1583 bytes IoGame/Resources/icons8-Pistola-48.png | Bin 0 -> 1049 bytes IoGame/Resources/icons8-RPG-48.png | Bin 0 -> 1387 bytes .../icons8-Rifle de francotirador-48.png | Bin 0 -> 1639 bytes .../icons8-Subfusil ametrallador-48.png | Bin 0 -> 1355 bytes IoGame/bin/Debug/IoGame.exe | Bin 0 -> 78848 bytes IoGame/bin/Debug/IoGame.exe.config | 6 + IoGame/bin/Debug/IoGame.pdb | Bin 0 -> 95744 bytes IoGame/bin/Debug/IoGame.xml | 56 + IoGame/bin/Debug/Winsock Orcas.dll | Bin 0 -> 108032 bytes IoGame/bin/Debug/Winsock Orcas.xml | 1354 +++++++++++++++++ .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 13648 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7667 bytes IoGame/obj/Debug/IoGame.Ajustes.resources | Bin 0 -> 180 bytes IoGame/obj/Debug/IoGame.Form1.resources | Bin 0 -> 180 bytes IoGame/obj/Debug/IoGame.Resources.resources | Bin 0 -> 7135 bytes IoGame/obj/Debug/IoGame.exe | Bin 0 -> 78848 bytes IoGame/obj/Debug/IoGame.pdb | Bin 0 -> 95744 bytes .../IoGame.vbproj.CoreCompileInputs.cache | 1 + .../Debug/IoGame.vbproj.FileListAbsolute.txt | 42 + .../IoGame.vbproj.GenerateResource.Cache | Bin 0 -> 1425 bytes ...oGame.vbprojResolveAssemblyReference.cache | Bin 0 -> 8990 bytes IoGame/obj/Debug/IoGame.xml | 56 + .../My Project.Resources.Designer.vb.dll | Bin 0 -> 7168 bytes Server/App.config | 6 + Server/ApplicationEvents.vb | 18 + Server/CC.Designer.vb | 29 + Server/CC.vb | 52 + Server/Clases/Data_Get.vb | 273 ++++ Server/Clases/Data_InOut.vb | 55 + Server/Clases/Data_Red.vb | 44 + Server/Clases/Player.Designer.vb | 46 + Server/Clases/Player.vb | 278 ++++ Server/My Project/Application.Designer.vb | 38 + Server/My Project/Application.myapp | 11 + Server/My Project/AssemblyInfo.vb | 35 + Server/My Project/Resources.Designer.vb | 62 + Server/My Project/Resources.resx | 117 ++ Server/My Project/Settings.Designer.vb | 73 + Server/My Project/Settings.settings | 7 + Server/Server.Designer.vb | 195 +++ Server/Server.resx | 129 ++ Server/Server.vb | 258 ++++ Server/Server.vbproj | 148 ++ Server/bin/Debug/Server.exe | Bin 0 -> 49152 bytes Server/bin/Debug/Server.exe.config | 6 + Server/bin/Debug/Server.pdb | Bin 0 -> 73216 bytes Server/bin/Debug/Server.vshost.exe | Bin 0 -> 22984 bytes Server/bin/Debug/Server.vshost.exe.config | 6 + Server/bin/Debug/Server.vshost.exe.manifest | 11 + Server/bin/Debug/Server.xml | 26 + Server/bin/Debug/Winsock Orcas.dll | Bin 0 -> 108032 bytes Server/bin/Debug/vs4541.tmp | 41 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 17498 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6816 bytes Server/obj/Debug/Server.Resources.resources | Bin 0 -> 180 bytes Server/obj/Debug/Server.Server.resources | Bin 0 -> 180 bytes Server/obj/Debug/Server.exe | Bin 0 -> 49152 bytes Server/obj/Debug/Server.pdb | Bin 0 -> 73216 bytes Server/obj/Debug/Server.vPlayer.resources | Bin 0 -> 180 bytes .../Server.vbproj.CoreCompileInputs.cache | 1 + .../Debug/Server.vbproj.FileListAbsolute.txt | 44 + .../Server.vbproj.GenerateResource.Cache | Bin 0 -> 1073 bytes ...erver.vbprojResolveAssemblyReference.cache | Bin 0 -> 13200 bytes Server/obj/Debug/Server.xml | 26 + .../My Project.Resources.Designer.vb.dll | Bin 0 -> 6144 bytes Server/vPlayer.Designer.vb | 92 ++ Server/vPlayer.resx | 123 ++ Server/vPlayer.vb | 87 ++ 94 files changed, 7365 insertions(+) create mode 100644 IoGame.sln create mode 100644 IoGame/Ajustes.Designer.vb create mode 100644 IoGame/Ajustes.resx create mode 100644 IoGame/Ajustes.vb create mode 100644 IoGame/App.config create mode 100644 IoGame/ApplicationEvents.vb create mode 100644 IoGame/Clases/Data_Get.vb create mode 100644 IoGame/Clases/Data_InOut.vb create mode 100644 IoGame/Clases/Data_Red.vb create mode 100644 IoGame/Clases/Player.Designer.vb create mode 100644 IoGame/Clases/Player.vb create mode 100644 IoGame/Form1.Designer.vb create mode 100644 IoGame/Form1.resx create mode 100644 IoGame/Form1.vb create mode 100644 IoGame/IoGame.vbproj create mode 100644 IoGame/IoGame.vbproj.user create mode 100644 IoGame/My Project/Application.Designer.vb create mode 100644 IoGame/My Project/Application.myapp create mode 100644 IoGame/My Project/AssemblyInfo.vb create mode 100644 IoGame/My Project/Resources.Designer.vb create mode 100644 IoGame/My Project/Resources.resx create mode 100644 IoGame/My Project/Settings.Designer.vb create mode 100644 IoGame/My Project/Settings.settings create mode 100644 IoGame/My Project/app.manifest create mode 100644 IoGame/Resources/icons8-Ametralladora Gatling-48.png create mode 100644 IoGame/Resources/icons8-Fusil de asalto-48.png create mode 100644 IoGame/Resources/icons8-Pistola-48.png create mode 100644 IoGame/Resources/icons8-RPG-48.png create mode 100644 IoGame/Resources/icons8-Rifle de francotirador-48.png create mode 100644 IoGame/Resources/icons8-Subfusil ametrallador-48.png create mode 100644 IoGame/bin/Debug/IoGame.exe create mode 100644 IoGame/bin/Debug/IoGame.exe.config create mode 100644 IoGame/bin/Debug/IoGame.pdb create mode 100644 IoGame/bin/Debug/IoGame.xml create mode 100644 IoGame/bin/Debug/Winsock Orcas.dll create mode 100644 IoGame/bin/Debug/Winsock Orcas.xml create mode 100644 IoGame/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 IoGame/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 IoGame/obj/Debug/IoGame.Ajustes.resources create mode 100644 IoGame/obj/Debug/IoGame.Form1.resources create mode 100644 IoGame/obj/Debug/IoGame.Resources.resources create mode 100644 IoGame/obj/Debug/IoGame.exe create mode 100644 IoGame/obj/Debug/IoGame.pdb create mode 100644 IoGame/obj/Debug/IoGame.vbproj.CoreCompileInputs.cache create mode 100644 IoGame/obj/Debug/IoGame.vbproj.FileListAbsolute.txt create mode 100644 IoGame/obj/Debug/IoGame.vbproj.GenerateResource.Cache create mode 100644 IoGame/obj/Debug/IoGame.vbprojResolveAssemblyReference.cache create mode 100644 IoGame/obj/Debug/IoGame.xml create mode 100644 IoGame/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll create mode 100644 Server/App.config create mode 100644 Server/ApplicationEvents.vb create mode 100644 Server/CC.Designer.vb create mode 100644 Server/CC.vb create mode 100644 Server/Clases/Data_Get.vb create mode 100644 Server/Clases/Data_InOut.vb create mode 100644 Server/Clases/Data_Red.vb create mode 100644 Server/Clases/Player.Designer.vb create mode 100644 Server/Clases/Player.vb create mode 100644 Server/My Project/Application.Designer.vb create mode 100644 Server/My Project/Application.myapp create mode 100644 Server/My Project/AssemblyInfo.vb create mode 100644 Server/My Project/Resources.Designer.vb create mode 100644 Server/My Project/Resources.resx create mode 100644 Server/My Project/Settings.Designer.vb create mode 100644 Server/My Project/Settings.settings create mode 100644 Server/Server.Designer.vb create mode 100644 Server/Server.resx create mode 100644 Server/Server.vb create mode 100644 Server/Server.vbproj create mode 100644 Server/bin/Debug/Server.exe create mode 100644 Server/bin/Debug/Server.exe.config create mode 100644 Server/bin/Debug/Server.pdb create mode 100644 Server/bin/Debug/Server.vshost.exe create mode 100644 Server/bin/Debug/Server.vshost.exe.config create mode 100644 Server/bin/Debug/Server.vshost.exe.manifest create mode 100644 Server/bin/Debug/Server.xml create mode 100644 Server/bin/Debug/Winsock Orcas.dll create mode 100644 Server/bin/Debug/vs4541.tmp create mode 100644 Server/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 Server/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Server/obj/Debug/Server.Resources.resources create mode 100644 Server/obj/Debug/Server.Server.resources create mode 100644 Server/obj/Debug/Server.exe create mode 100644 Server/obj/Debug/Server.pdb create mode 100644 Server/obj/Debug/Server.vPlayer.resources create mode 100644 Server/obj/Debug/Server.vbproj.CoreCompileInputs.cache create mode 100644 Server/obj/Debug/Server.vbproj.FileListAbsolute.txt create mode 100644 Server/obj/Debug/Server.vbproj.GenerateResource.Cache create mode 100644 Server/obj/Debug/Server.vbprojResolveAssemblyReference.cache create mode 100644 Server/obj/Debug/Server.xml create mode 100644 Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll create mode 100644 Server/vPlayer.Designer.vb create mode 100644 Server/vPlayer.resx create mode 100644 Server/vPlayer.vb diff --git a/IoGame.sln b/IoGame.sln new file mode 100644 index 0000000..2c5a88e --- /dev/null +++ b/IoGame.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.16 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Server", "Server\Server.vbproj", "{22113D2C-63BE-429C-9695-BCA8B45C138E}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "IoGame", "IoGame\IoGame.vbproj", "{3E3D59B5-D73F-4EB3-AAE7-7469E0B948D2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {22113D2C-63BE-429C-9695-BCA8B45C138E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {22113D2C-63BE-429C-9695-BCA8B45C138E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {22113D2C-63BE-429C-9695-BCA8B45C138E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {22113D2C-63BE-429C-9695-BCA8B45C138E}.Release|Any CPU.Build.0 = Release|Any CPU + {3E3D59B5-D73F-4EB3-AAE7-7469E0B948D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3E3D59B5-D73F-4EB3-AAE7-7469E0B948D2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E3D59B5-D73F-4EB3-AAE7-7469E0B948D2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3E3D59B5-D73F-4EB3-AAE7-7469E0B948D2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {590D6609-0A62-4058-9A91-0809E34BDFD4} + EndGlobalSection +EndGlobal diff --git a/IoGame/Ajustes.Designer.vb b/IoGame/Ajustes.Designer.vb new file mode 100644 index 0000000..c043092 --- /dev/null +++ b/IoGame/Ajustes.Designer.vb @@ -0,0 +1,297 @@ + _ +Partial Class Ajustes + Inherits System.Windows.Forms.Form + + 'Form reemplaza a Dispose para limpiar la lista de componentes. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de Windows Forms + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento + 'Se puede modificar usando el Diseñador de Windows Forms. + 'No lo modifique con el editor de código. + _ + Private Sub InitializeComponent() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.Button4 = New System.Windows.Forms.Button() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.Button5 = New System.Windows.Forms.Button() + Me.Label5 = New System.Windows.Forms.Label() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.LinkLabel2 = New System.Windows.Forms.LinkLabel() + Me.LinkLabel1 = New System.Windows.Forms.LinkLabel() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.LinkLabel4 = New System.Windows.Forms.LinkLabel() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.GroupBox1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.SuspendLayout() + ' + 'Button1 + ' + Me.Button1.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button1.Location = New System.Drawing.Point(102, 21) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 75) + Me.Button1.TabIndex = 0 + Me.Button1.Tag = "1" + Me.Button1.Text = "W" + Me.Button1.UseVisualStyleBackColor = True + ' + 'Button2 + ' + Me.Button2.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button2.Location = New System.Drawing.Point(21, 102) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(75, 75) + Me.Button2.TabIndex = 1 + Me.Button2.Tag = "3" + Me.Button2.Text = "A" + Me.Button2.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button3.Location = New System.Drawing.Point(102, 102) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(75, 75) + Me.Button3.TabIndex = 2 + Me.Button3.Tag = "2" + Me.Button3.Text = "S" + Me.Button3.UseVisualStyleBackColor = True + ' + 'Button4 + ' + Me.Button4.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button4.Location = New System.Drawing.Point(183, 102) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(75, 75) + Me.Button4.TabIndex = 3 + Me.Button4.Tag = "4" + Me.Button4.Text = "D" + Me.Button4.UseVisualStyleBackColor = True + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.Button5) + Me.GroupBox1.Controls.Add(Me.Label5) + Me.GroupBox1.Controls.Add(Me.Button4) + Me.GroupBox1.Controls.Add(Me.Button3) + Me.GroupBox1.Controls.Add(Me.Button2) + Me.GroupBox1.Controls.Add(Me.Button1) + Me.GroupBox1.Location = New System.Drawing.Point(12, 12) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(278, 228) + Me.GroupBox1.TabIndex = 4 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Control" + ' + 'Button5 + ' + Me.Button5.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button5.Location = New System.Drawing.Point(208, 21) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(50, 50) + Me.Button5.TabIndex = 7 + Me.Button5.Tag = "5" + Me.Button5.Text = "R" + Me.Button5.UseVisualStyleBackColor = True + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label5.Location = New System.Drawing.Point(62, 194) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(155, 17) + Me.Label5.TabIndex = 6 + Me.Label5.Text = "Presiona una nueva tecla." + Me.Label5.Visible = False + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.LinkLabel2) + Me.GroupBox2.Controls.Add(Me.LinkLabel1) + Me.GroupBox2.Location = New System.Drawing.Point(12, 246) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(278, 84) + Me.GroupBox2.TabIndex = 5 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Jugador" + ' + 'LinkLabel2 + ' + Me.LinkLabel2.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel2.AutoSize = True + Me.LinkLabel2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel2.LinkArea = New System.Windows.Forms.LinkArea(7, 100) + Me.LinkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel2.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel2.Location = New System.Drawing.Point(6, 48) + Me.LinkLabel2.Name = "LinkLabel2" + Me.LinkLabel2.Size = New System.Drawing.Size(131, 27) + Me.LinkLabel2.TabIndex = 3 + Me.LinkLabel2.TabStop = True + Me.LinkLabel2.Text = "Color: 0, 122, 204" + Me.LinkLabel2.UseCompatibleTextRendering = True + ' + 'LinkLabel1 + ' + Me.LinkLabel1.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel1.AutoSize = True + Me.LinkLabel1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel1.LinkArea = New System.Windows.Forms.LinkArea(8, 100) + Me.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel1.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel1.Location = New System.Drawing.Point(6, 21) + Me.LinkLabel1.Name = "LinkLabel1" + Me.LinkLabel1.Size = New System.Drawing.Size(122, 27) + Me.LinkLabel1.TabIndex = 2 + Me.LinkLabel1.TabStop = True + Me.LinkLabel1.Text = "Nombre: Admin" + Me.LinkLabel1.UseCompatibleTextRendering = True + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.Label4) + Me.GroupBox3.Controls.Add(Me.LinkLabel4) + Me.GroupBox3.Controls.Add(Me.Label3) + Me.GroupBox3.Controls.Add(Me.Label2) + Me.GroupBox3.Controls.Add(Me.Label1) + Me.GroupBox3.Location = New System.Drawing.Point(296, 12) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(278, 318) + Me.GroupBox3.TabIndex = 6 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Info" + ' + 'Label4 + ' + Me.Label4.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label4.Location = New System.Drawing.Point(20, 118) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(244, 110) + Me.Label4.TabIndex = 5 + Me.Label4.Text = "Juego de disparos para jugar en LAN o por Internet." + ' + 'LinkLabel4 + ' + Me.LinkLabel4.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel4.AutoSize = True + Me.LinkLabel4.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel4.LinkArea = New System.Windows.Forms.LinkArea(8, 100) + Me.LinkLabel4.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel4.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel4.Location = New System.Drawing.Point(23, 282) + Me.LinkLabel4.Name = "LinkLabel4" + Me.LinkLabel4.Size = New System.Drawing.Size(182, 27) + Me.LinkLabel4.TabIndex = 4 + Me.LinkLabel4.TabStop = True + Me.LinkLabel4.Text = "Iconos: www.icons8.com" + Me.LinkLabel4.UseCompatibleTextRendering = True + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label3.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.Label3.Location = New System.Drawing.Point(121, 51) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(39, 21) + Me.Label3.TabIndex = 2 + Me.Label3.Text = "v1.1" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.Label2.Location = New System.Drawing.Point(19, 75) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(157, 21) + Me.Label2.TabIndex = 1 + Me.Label2.Text = "Pablo Facha Software" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Font = New System.Drawing.Font("Segoe UI", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.Label1.Location = New System.Drawing.Point(16, 38) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(110, 37) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "IoGame" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label6.ForeColor = System.Drawing.SystemColors.ControlDark + Me.Label6.Location = New System.Drawing.Point(35, 177) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(209, 17) + Me.Label6.TabIndex = 8 + Me.Label6.Text = "Presiona una tecla para cambiarla." + Me.Label6.Visible = False + ' + 'Ajustes + ' + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.ClientSize = New System.Drawing.Size(582, 340) + Me.Controls.Add(Me.GroupBox3) + Me.Controls.Add(Me.GroupBox2) + Me.Controls.Add(Me.GroupBox1) + Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle + Me.KeyPreview = True + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "Ajustes" + Me.Text = "Ajustes" + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button + Friend WithEvents Button3 As Button + Friend WithEvents Button4 As Button + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents LinkLabel1 As LinkLabel + Friend WithEvents LinkLabel2 As LinkLabel + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents Label3 As Label + Friend WithEvents Label2 As Label + Friend WithEvents Label1 As Label + Friend WithEvents LinkLabel4 As LinkLabel + Friend WithEvents Label4 As Label + Friend WithEvents Label5 As Label + Friend WithEvents Button5 As Button + Friend WithEvents Label6 As Label +End Class diff --git a/IoGame/Ajustes.resx b/IoGame/Ajustes.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/IoGame/Ajustes.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/IoGame/Ajustes.vb b/IoGame/Ajustes.vb new file mode 100644 index 0000000..1894d3a --- /dev/null +++ b/IoGame/Ajustes.vb @@ -0,0 +1,88 @@ +Public Class Ajustes + + + Enum Key + None + Up + Down + Left + Right + Rec + End Enum + Dim thisKey As Key = Key.None + + Private Sub Button1_Click(sender As Button, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click + thisKey = sender.Tag + sender.Text = "" + Label5.Visible = True + + GroupBox1.Enabled = False + Me.Focus() + + End Sub + + Private Sub Ajustes_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp + + ' No se está cambiando de tecla, salir. + If thisKey = Key.None Then Exit Sub + ' Es una tecla reservada, salir. + If e.KeyData = Keys.Escape Or e.KeyData = Keys.F11 Then Exit Sub + + + Dim s = [Enum].GetName(GetType(Keys), e.KeyData) + Select Case thisKey + Case Key.Up + Button1.Text = s + Form1.Player1.KeyUp = e.KeyData + Case Key.Down + Button3.Text = s + Form1.Player1.KeyDown = e.KeyData + Case Key.Left + Button2.Text = s + Form1.Player1.KeyLeft = e.KeyData + Case Key.Right + Button4.Text = s + Form1.Player1.KeyRight = e.KeyData + Case Key.Rec + Button5.Text = s + Form1.Player1.KeyRec = e.KeyData + End Select + + Label5.Visible = False + GroupBox1.Enabled = True + + End Sub + + Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked + Dim ip = InputBox("Ingresa tu Nombre: " & vbCrLf & "Ejemplo: Admin", "Nombre", Form1.Player1.Nombre) + If ip = Nothing Then Exit Sub + + + Form1.Player1.Nombre = ip + Form1.Label2.Text = "¡Hola, " & ip & "!" + Form1.Label2.Left = Form1.Box.Width / 2 - Form1.Label2.Width / 2 + + LinkLabel1.Text = "Nombre: " & ip + + End Sub + + Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked + Dim dg As New ColorDialog + dg.Color = Form1.Player1.Color + If dg.ShowDialog = DialogResult.OK Then + Form1.Player1.Color = dg.Color + End If + Form1.LinkLabel4.LinkColor = Form1.Player1.Color + + + LinkLabel2.Text = "Color: " & dg.Color.R & ", " & dg.Color.G & ", " & dg.Color.B + + dg.Dispose() + + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button4.Click, Button3.Click, Button2.Click, Button1.Click, Button5.Click + + End Sub +End Class + diff --git a/IoGame/App.config b/IoGame/App.config new file mode 100644 index 0000000..49c50e0 --- /dev/null +++ b/IoGame/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/IoGame/ApplicationEvents.vb b/IoGame/ApplicationEvents.vb new file mode 100644 index 0000000..def5a6f --- /dev/null +++ b/IoGame/ApplicationEvents.vb @@ -0,0 +1,20 @@ +Namespace My + + ' Los siguientes eventos están disponibles para MyApplication: + ' + ' Inicio: se desencadena cuando se inicia la aplicación, antes de que se cree el formulario de inicio. + ' Apagado: generado después de cerrar todos los formularios de la aplicación. Este evento no se genera si la aplicación termina de forma anómala. + ' UnhandledException: generado si la aplicación detecta una excepción no controlada. + ' StartupNextInstance: se desencadena cuando se inicia una aplicación de instancia única y la aplicación ya está activa. + ' NetworkAvailabilityChanged: se desencadena cuando la conexión de red está conectada o desconectada. + Partial Friend Class MyApplication + + Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException + 'MsgBox("Shit! Unhandled exception:" & vbCrLf & e.Exception.Message, MsgBoxStyle.Critical, "Error en Jugador Local") + e.ExitApplication = False + End Sub + End Class + + +End Namespace + diff --git a/IoGame/Clases/Data_Get.vb b/IoGame/Clases/Data_Get.vb new file mode 100644 index 0000000..90f71a7 --- /dev/null +++ b/IoGame/Clases/Data_Get.vb @@ -0,0 +1,273 @@ + + + +Public Class Data_Get + + Public Property TipoDato As TipoDato + Public Property Value As Object + +End Class + +Public Enum TipoDato + Location + ChangeAngle + + Muerte + Mensaje + Pausa + + Disparo + Nombre + NewPlayer + + Gun + ResetGuns + +End Enum + +Public Enum TipoArma + x99x + M14 + M9 + Rifle + R49 + Sub55 + + +End Enum + +Public Module DataGet_Converter + + Public Function dataToString(ByRef dt As Data_Get) As String + Dim values As New List(Of String) ' Valores a enviar + values.Add(dt.TipoDato) + + Select Case dt.TipoDato + Case TipoDato.Location + Dim k As S_Location = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.X) + .Add(k.Y) + End With + k = Nothing + + Case TipoDato.ChangeAngle + Dim k As S_ChangeAngle = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Angle) + End With + k = Nothing + + Case TipoDato.Muerte + Dim k As S_Muerte = dt.Value + With values + .Add(k.Asesino.ToArgb) + .Add(k.Victima.ToArgb) + End With + k = Nothing + + Case TipoDato.Mensaje + Dim k As S_Mensaje = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Msg) + End With + k = Nothing + + Case TipoDato.Pausa + Dim k As S_Pausa = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(IIf(k.Pausa, 1, 0)) + End With + k = Nothing + + Case TipoDato.Disparo + Dim k As R_Disparo = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.X) + .Add(k.Y) + .Add(k.W) + .Add(k.H) + .Add(k.xVel) + .Add(k.yVel) + .Add(IIf(k.Used, 1, 0)) + .Add(k.Daño) + End With + k = Nothing + + Case TipoDato.Nombre + Dim k As S_Nombre = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Nombre) + End With + k = Nothing + + Case TipoDato.NewPlayer + Dim k As R_MiniPlayer = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Nombre) + .Add(k.Puntaje) + .Add(k.X) + .Add(k.Y) + .Add(k.W) + .Add(k.H) + .Add(k.Angle) + .Add(k.Precision) + .Add(k.Vel) + .Add(k.Vida) + End With + k = Nothing + + + + Case TipoDato.Gun + Dim k As S_Gun = dt.Value + With values + .Add(k.X) + .Add(k.Y) + .Add(k.Gun) + End With + k = Nothing + + Case TipoDato.ResetGuns + ' Do not nothing + + + + End Select + + Dim x As String = String.Join("|", values) + values = Nothing + Return x + End Function + + Public Function dataFromString(ByRef str As String) As Data_Get + Dim values = str.Split("|") + Dim x As New Data_Get + + + x.TipoDato = CType(values(0), TipoDato) + Select Case x.TipoDato + + Case TipoDato.Location + Dim k As New S_Location + With k + .Color = Color.FromArgb(values(1)) + .X = values(2) + .Y = values(3) + End With + x.Value = k + k = Nothing + + Case TipoDato.ChangeAngle + Dim k As New S_ChangeAngle + With k + .Color = Color.FromArgb(values(1)) + .Angle = values(2) + End With + x.Value = k + k = Nothing + + + + Case TipoDato.Muerte + Dim k As New S_Muerte + With k + .Asesino = Color.FromArgb(values(1)) + .Victima = Color.FromArgb(values(2)) + End With + x.Value = k + k = Nothing + + Case TipoDato.Mensaje + Dim k As New S_Mensaje + With k + .Color = Color.FromArgb(values(1)) + .Msg = values(2) + End With + x.Value = k + k = Nothing + + Case TipoDato.Pausa + Dim k As New S_Pausa + With k + .Color = Color.FromArgb(values(1)) + .Pausa = values(2) + End With + x.Value = k + k = Nothing + + Case TipoDato.Disparo + Dim k As New R_Disparo + With k + .Color = Color.FromArgb(values(1)) + .X = values(2) + .Y = values(3) + .W = values(4) + .H = values(5) + .xVel = values(6) + .yVel = values(7) + .Used = values(8) + .Daño = values(9) + End With + x.Value = k + k = Nothing + + Case TipoDato.Nombre + Dim k As New S_Nombre + With k + .Color = Color.FromArgb(values(1)) + .Nombre = values(2) + End With + x.Value = k + k = Nothing + + Case TipoDato.NewPlayer + Dim k As New R_MiniPlayer + With k + .Color = Color.FromArgb(values(1)) + .Nombre = values(2) + .Puntaje = values(3) + .X = values(4) + .Y = values(5) + .W = values(6) + .H = values(7) + .Angle = values(8) + .Precision = values(9) + .Vel = values(10) + .Vida = values(11) + End With + x.Value = k + k = Nothing + + Case TipoDato.Gun + Dim k As New S_Gun + With k + .X = values(1) + .Y = values(2) + .Gun = values(3) + End With + x.Value = k + k = Nothing + + Case TipoDato.ResetGuns + ' Do not nothing + + + End Select + + + + values = Nothing + Return x + End Function + + +End Module + diff --git a/IoGame/Clases/Data_InOut.vb b/IoGame/Clases/Data_InOut.vb new file mode 100644 index 0000000..816b56d --- /dev/null +++ b/IoGame/Clases/Data_InOut.vb @@ -0,0 +1,55 @@ + + +' Clases para +' Enviar y recibir informacion + +Public Class S_Location + + Public Property Color As Color + Public Property X As Short + Public Property Y As Short + +End Class + +Public Class S_ChangeAngle + + Public Property Color As Color + Public Property Angle As Short + +End Class + +Public Class S_Muerte + + Public Property Asesino As Color + Public Property Victima As Color + +End Class + +Public Class S_Pausa + + Public Property Color As Color + Public Property Pausa As Boolean + +End Class + +Public Class S_Mensaje + + Public Property Color As Color + Public Property Msg As String + +End Class + +Public Class S_Nombre + + Public Property Color As Color + Public Property Nombre As String + +End Class + +Public Class S_Gun + + Public Property X As Short + Public Property Y As Short + Public Property Gun As TipoArma = TipoArma.M9 + +End Class diff --git a/IoGame/Clases/Data_Red.vb b/IoGame/Clases/Data_Red.vb new file mode 100644 index 0000000..13ff80e --- /dev/null +++ b/IoGame/Clases/Data_Red.vb @@ -0,0 +1,44 @@ + + +' Clases para +' Almacenar datos de red + + + + +Public Class R_MiniPlayer + + Public Property Color As Color = Color.Transparent + Public Property Nombre As String + Public Property Puntaje As UShort + + Public Property X As Short + Public Property Y As Short + Public Property W As UShort = 30 + Public Property H As UShort = 30 + + Public Property Angle As Short + Public Property Precision As Byte = 30 + Public Property Vel As Short + + Public Property Vida As UShort = 100 + +End Class + +Public Class R_Disparo + + Public Property Color As Color + + Public Property X As Short + Public Property Y As Short + Public Property W As Byte = 10 + Public Property H As Byte = 10 + + Public Property xVel As Short + Public Property yVel As Short + + Public Property Used As Boolean = False + Public Property Daño As Byte = 10 + +End Class + diff --git a/IoGame/Clases/Player.Designer.vb b/IoGame/Clases/Player.Designer.vb new file mode 100644 index 0000000..aa42504 --- /dev/null +++ b/IoGame/Clases/Player.Designer.vb @@ -0,0 +1,46 @@ +Partial Class Player + Inherits System.ComponentModel.Component + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Requerido para la compatibilidad con el Diseñador de composiciones de clases Windows.Forms + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + + Public Sub New() + MyBase.New() + + 'El Diseñador de componentes requiere esta llamada. + InitializeComponent() + End Sub + + 'Component reemplaza a Dispose para limpiar la lista de componentes. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de componentes + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de componentes requiere el siguiente procedimiento + 'Se puede modificar usando el Diseñador de componentes. + 'No lo modifique con el editor de código. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/IoGame/Clases/Player.vb b/IoGame/Clases/Player.vb new file mode 100644 index 0000000..74c0feb --- /dev/null +++ b/IoGame/Clases/Player.vb @@ -0,0 +1,308 @@ + +Public Class Player + + Public R As Random + +#Region " MiniPlayer " + + Public Property Color As Color + Public Property Nombre As String + Public Property Puntaje As UShort + + Public Property X As Short + Public Property Y As Short + Public Property W As UShort = 30 + Public Property H As UShort = 30 + + Public Property Angle As Short + Public Property Precision As Byte = 30 + + Public Property Vida As UShort = 100 + + Public Function GetMiniPlayer() As R_MiniPlayer + Dim k As New R_MiniPlayer With { + .Nombre = Nombre, + .Color = Color, + .Puntaje = Puntaje, + .X = X, + .Y = Y, + .W = W, + .H = H, + .Angle = Angle, + .vel = Vel, + .Precision = Precision, + .Vida = Vida + } + Return k + End Function + +#End Region + +#Region " Propiedades " + + Public Disparos As New List(Of R_Disparo) + +#Region " Disparos " + + + Public Property Gun As TipoArma = TipoArma.M9 + + + Public Property D_Presicion As Byte = 4 + + Public Property D_MinVel As Byte = MaxVel + Public Property D_MaxVel As Byte = 25 + + Public Property D_MaxW As Byte = 15 + Public Property D_MaxH As Byte = 15 + Public Property D_MinW As Byte = 3 + Public Property D_MinH As Byte = 3 + + Public Property D_CantidadPer As Byte = 1 + Public Property D_Actual As Byte = 10 + Public Property D_Max As Byte = 10 + + Public Property D_MinDaño As Byte = 5 + Public Property D_MaxDaño As Byte = 10 + + + + Public Property D_LastTime As TimeSpan + Public Property D_TimeForShot As New TimeSpan(0, 0, 0, 0, 500) + Public Property D_TimeForRecharge As New TimeSpan(0, 0, 0, 2, 0) + + + Public Property D_Disparar As Boolean = False + +#End Region + +#Region " Area de Juego " + + ' Area de Juego + Public Property GameLocation As New Point + Public Property GameSize As Size = New Size(800, 600) + + +#End Region + +#Region " Control " + + ' Teclas + Public Property UseMouseControls As Boolean = True + Public Property KeyUp As Keys = Keys.W + Public Property KeyLeft As Keys = Keys.A + Public Property KeyRight As Keys = Keys.D + Public Property KeyDown As Keys = Keys.S + Public Property KeyRec As Keys = Keys.R + + ' Velocidad + Public Property RotVel As Short = 5 + Public Property Vel As Short = 0 + Public Property MaxVel As Short = 10 + Public Property MinVel As Short = -10 + Public Property Aceleracion As Short = 2 + Public Property Desaceleracion As Short = 1 + Public Property Freno As Short = 5 + +#End Region + +#End Region + +#Region " Eventos " + + Public Event Refresh(ByRef sender As Player) + Public Event Disparo(ByRef sender As Player, ByRef e As R_Disparo) + + Public Event StartMove(ByRef sender As Player) + Public Event StopMove(ByRef sender As Player) + Public Event ChangeAngle(ByRef sender As Player) + + +#End Region + +#Region " Procedimientos " + +#Region " Teclado " + Dim Tecla(4) As Boolean + Public Sub KeysDown(e As KeyEventArgs) + Select Case e.KeyData + Case KeyUp : Tecla(0) = True + Case KeyLeft : Tecla(1) = True + Case KeyRight : Tecla(2) = True + Case KeyDown : Tecla(3) = True + End Select + End Sub + Public Sub KeysUp(e As KeyEventArgs) + Select Case e.KeyData + Case KeyUp : Tecla(0) = False + Case KeyLeft : Tecla(1) = False + Case KeyRight : Tecla(2) = False + Case KeyDown : Tecla(3) = False + Case KeyRec + D_Actual = 0 + + + End Select + End Sub +#End Region + +#Region " Disparos " + + Public Sub MoverDisparos() + If Disparos.Count = 0 Then Exit Sub + + + Dim z As R_Disparo + For i = Disparos.Count - 1 To 0 Step -1 + z = Disparos(i) + z.X += z.xVel + z.Y += z.yVel + + If z.X < z.W Or + z.X > GameSize.Width Or + z.Y < z.H Or + z.Y > GameSize.Height Then + + Disparos.RemoveAt(i) + + End If + Next + + + + End Sub + + Public Sub GoTime() + ' Si no hay balas, recargar. + If D_Actual = 0 Then + If ((Now.TimeOfDay - D_LastTime) >= D_TimeForRecharge) Then + D_Actual = D_Max + D_LastTime = Now.TimeOfDay + Else + Exit Sub + End If + End If + + + End Sub + Public Sub Disparar() + If D_Actual = 0 Then Exit Sub + If ((Now.TimeOfDay - D_LastTime) < D_TimeForShot) Then Exit Sub + ' Disparar la cantidad de balas que se permita por vez + For i = 1 To D_CantidadPer + + ' Si ya no hay mas balas que tirar, salir. + If D_Actual = 0 Then Exit Sub + D_Actual -= 1 + + ' Crear Bala a Disparar + Dim k As New R_Disparo + k.Color = Me.Color + k.Daño = R.Next(D_MinDaño, D_MaxDaño) + k.W = R.Next(D_MinW, D_MaxW) + k.H = k.W + k.X = (X + (W / 2)) - (k.W / 2) + k.Y = (Y + (H / 2)) - (k.H / 2) + k.Used = False + k.xVel = R.Next(D_MinVel, D_MaxVel) * Math.Cos((R.Next(Angle - (D_Presicion / 2), Angle + (D_Presicion / 2))) * (Math.PI / 180)) + k.yVel = R.Next(D_MinVel, D_MaxVel) * Math.Sin((R.Next(Angle - (D_Presicion / 2), Angle + (D_Presicion / 2))) * (Math.PI / 180)) + + + Disparos.Add(k) + RaiseEvent Disparo(Me, k) + k = Nothing + + Next + D_LastTime = Now.TimeOfDay + + Vel = Math.Max(Vel - (Freno * 3), MinVel) + End Sub + +#End Region + +#Region " Movimiento " + + + Private Sub SetFromTeclas() + + ' Left + If Tecla(1) Then + Angle -= RotVel '((Vel * RotVel) / MaxVel) 'For Car Physics + If Angle < 0 Then Angle = Angle - 360 + End If + ' Rigth + If Tecla(2) Then + Angle += RotVel '((Vel * RotVel) / MaxVel) 'For Car Physics + If Angle >= 360 Then Angle -= 360 + End If + + + ' Up + If Tecla(0) Then + If Vel < 0 Then : Vel = Math.Min(Vel + Freno, 0) + Else : Vel = Math.Min(Vel + Aceleracion, MaxVel) : End If + End If + ' Down + If Tecla(3) Then + If Vel > 0 Then : Vel = Math.Max(Vel - Freno, 0) + Else : Vel = Math.Max(Vel - Aceleracion, MinVel) : End If + End If + + + End Sub + Private Sub MoveThis() + + X += Vel * Math.Cos((Angle) * (Math.PI / 180)) + Y += Vel * Math.Sin((Angle) * (Math.PI / 180)) + + If Tecla(0) = False And Tecla(3) = False Then + + If Vel < 0 Then + Vel = Math.Min(Vel + Desaceleracion, 0) + Else + Vel = Math.Max(Vel - Desaceleracion, 0) + End If + End If + + + X = Math.Max(GameLocation.X, X) + X = Math.Min(X, GameSize.Width - W) + Y = Math.Max(GameLocation.Y, Y) + Y = Math.Min(Y, GameSize.Height - H) + + + End Sub + + + Public Sub Move() + + Dim tempVel = Vel + Dim tempAngle = Angle + Dim refr As Boolean = False + + SetFromTeclas() + If Vel <> 0 Then MoveThis() + + + If tempAngle <> Angle Then + RaiseEvent ChangeAngle(Me) + refr = True + End If + If tempVel <> Vel Then + + If Vel = 0 Then : RaiseEvent StopMove(Me) + ElseIf tempVel = 0 Then : RaiseEvent StartMove(Me) : End If + refr = True + End If + + If refr Then RaiseEvent Refresh(Me) + + End Sub + + +#End Region + +#End Region + + +End Class diff --git a/IoGame/Form1.Designer.vb b/IoGame/Form1.Designer.vb new file mode 100644 index 0000000..fb5b479 --- /dev/null +++ b/IoGame/Form1.Designer.vb @@ -0,0 +1,261 @@ + +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Form reemplaza a Dispose para limpiar la lista de componentes. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de Windows Forms + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento + 'Se puede modificar usando el Diseñador de Windows Forms. + 'No lo modifique con el editor de código. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.wsk = New Winsock_Orcas.Winsock() + Me.T = New System.Windows.Forms.Timer(Me.components) + Me.DG = New System.Windows.Forms.ColorDialog() + Me.Box = New System.Windows.Forms.Panel() + Me.LinkLabel4 = New System.Windows.Forms.LinkLabel() + Me.Label1 = New System.Windows.Forms.Label() + Me.LinkLabel3 = New System.Windows.Forms.LinkLabel() + Me.Label2 = New System.Windows.Forms.Label() + Me.Button5 = New System.Windows.Forms.Button() + Me.LinkLabel2 = New System.Windows.Forms.LinkLabel() + Me.LinkLabel1 = New System.Windows.Forms.LinkLabel() + Me.RedCheck = New System.Windows.Forms.Timer(Me.components) + Me.RegularData = New System.Windows.Forms.Timer(Me.components) + Me.Player1 = New IoGame.Player(Me.components) + Me.Box.SuspendLayout() + Me.SuspendLayout() + ' + 'wsk + ' + Me.wsk.BufferSize = 8192 + Me.wsk.LegacySupport = False + Me.wsk.LocalPort = 8080 + Me.wsk.MaxPendingConnections = 5 + Me.wsk.Protocol = Winsock_Orcas.WinsockProtocol.Tcp + Me.wsk.RemoteHost = "localhost" + Me.wsk.RemotePort = 8080 + ' + 'T + ' + Me.T.Enabled = True + Me.T.Interval = 50 + ' + 'DG + ' + Me.DG.AnyColor = True + Me.DG.Color = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.DG.FullOpen = True + Me.DG.SolidColorOnly = True + ' + 'Box + ' + Me.Box.Anchor = System.Windows.Forms.AnchorStyles.None + Me.Box.BackColor = System.Drawing.Color.FromArgb(CType(CType(50, Byte), Integer), CType(CType(50, Byte), Integer), CType(CType(50, Byte), Integer)) + Me.Box.Controls.Add(Me.LinkLabel4) + Me.Box.Controls.Add(Me.Label1) + Me.Box.Controls.Add(Me.LinkLabel3) + Me.Box.Controls.Add(Me.Label2) + Me.Box.Controls.Add(Me.Button5) + Me.Box.Controls.Add(Me.LinkLabel2) + Me.Box.Controls.Add(Me.LinkLabel1) + Me.Box.Location = New System.Drawing.Point(72, 40) + Me.Box.Name = "Box" + Me.Box.Size = New System.Drawing.Size(640, 480) + Me.Box.TabIndex = 2 + ' + 'LinkLabel4 + ' + Me.LinkLabel4.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel4.AutoSize = True + Me.LinkLabel4.Font = New System.Drawing.Font("Segoe UI", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel4.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel4.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel4.Location = New System.Drawing.Point(297, 234) + Me.LinkLabel4.Name = "LinkLabel4" + Me.LinkLabel4.Size = New System.Drawing.Size(46, 20) + Me.LinkLabel4.TabIndex = 8 + Me.LinkLabel4.TabStop = True + Me.LinkLabel4.Text = "Color" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(100, Byte), Integer), CType(CType(100, Byte), Integer), CType(CType(100, Byte), Integer)) + Me.Label1.Location = New System.Drawing.Point(193, 456) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(254, 13) + Me.Label1.TabIndex = 7 + Me.Label1.Text = "Diseño y Programación by Pablo Facha Software" + ' + 'LinkLabel3 + ' + Me.LinkLabel3.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel3.AutoSize = True + Me.LinkLabel3.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel3.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel3.Location = New System.Drawing.Point(268, 424) + Me.LinkLabel3.Name = "LinkLabel3" + Me.LinkLabel3.Size = New System.Drawing.Size(109, 13) + Me.LinkLabel3.TabIndex = 6 + Me.LinkLabel3.TabStop = True + Me.LinkLabel3.Text = "Abrir Configuración" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("Segoe UI", 27.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.Location = New System.Drawing.Point(197, 61) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(246, 50) + Me.Label2.TabIndex = 5 + Me.Label2.Text = "¡Hola, Admin!" + ' + 'Button5 + ' + Me.Button5.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.Button5.Cursor = System.Windows.Forms.Cursors.Hand + Me.Button5.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(60, Byte), Integer), CType(CType(60, Byte), Integer)) + Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button5.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button5.Location = New System.Drawing.Point(186, 277) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(269, 139) + Me.Button5.TabIndex = 4 + Me.Button5.Text = "Jugar" + Me.Button5.UseVisualStyleBackColor = False + ' + 'LinkLabel2 + ' + Me.LinkLabel2.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel2.AutoSize = True + Me.LinkLabel2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel2.LinkArea = New System.Windows.Forms.LinkArea(8, 10) + Me.LinkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel2.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel2.Location = New System.Drawing.Point(271, 196) + Me.LinkLabel2.Name = "LinkLabel2" + Me.LinkLabel2.Size = New System.Drawing.Size(98, 27) + Me.LinkLabel2.TabIndex = 2 + Me.LinkLabel2.TabStop = True + Me.LinkLabel2.Text = "Puerto: 8080" + Me.LinkLabel2.UseCompatibleTextRendering = True + ' + 'LinkLabel1 + ' + Me.LinkLabel1.ActiveLinkColor = System.Drawing.Color.FromArgb(CType(CType(20, Byte), Integer), CType(CType(155, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.LinkLabel1.AutoSize = True + Me.LinkLabel1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel1.LinkArea = New System.Windows.Forms.LinkArea(16, 20) + Me.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline + Me.LinkLabel1.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel1.Location = New System.Drawing.Point(228, 169) + Me.LinkLabel1.Name = "LinkLabel1" + Me.LinkLabel1.Size = New System.Drawing.Size(184, 27) + Me.LinkLabel1.TabIndex = 1 + Me.LinkLabel1.TabStop = True + Me.LinkLabel1.Text = "IP de Servidor: Localhost" + Me.LinkLabel1.UseCompatibleTextRendering = True + ' + 'RedCheck + ' + Me.RedCheck.Enabled = True + ' + 'RegularData + ' + Me.RegularData.Enabled = True + Me.RegularData.Interval = 2000 + ' + 'Player1 + ' + Me.Player1.Aceleracion = CType(2, Short) + Me.Player1.Angle = CType(45, Short) + Me.Player1.Color = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.Player1.D_Actual = CType(15, Byte) + Me.Player1.D_CantidadPer = CType(1, Byte) + Me.Player1.D_Disparar = False + Me.Player1.D_LastTime = System.TimeSpan.Parse("00:00:00") + Me.Player1.D_Max = CType(15, Byte) + Me.Player1.D_MaxDaño = CType(10, Byte) + Me.Player1.D_MaxH = CType(15, Byte) + Me.Player1.D_MaxVel = CType(25, Byte) + Me.Player1.D_MaxW = CType(15, Byte) + Me.Player1.D_MinDaño = CType(5, Byte) + Me.Player1.D_MinH = CType(7, Byte) + Me.Player1.D_MinVel = CType(15, Byte) + Me.Player1.D_MinW = CType(7, Byte) + Me.Player1.D_Presicion = CType(1, Byte) + Me.Player1.D_TimeForRecharge = System.TimeSpan.Parse("00:00:02") + Me.Player1.D_TimeForShot = System.TimeSpan.Parse("00:00:00.5000000") + Me.Player1.Desaceleracion = CType(1, Short) + Me.Player1.Freno = CType(5, Short) + Me.Player1.GameLocation = New System.Drawing.Point(30, 50) + Me.Player1.GameSize = New System.Drawing.Size(800, 600) + Me.Player1.Gun = IoGame.TipoArma.M9 + Me.Player1.H = CType(30US, UShort) + Me.Player1.KeyDown = System.Windows.Forms.Keys.S + Me.Player1.KeyLeft = System.Windows.Forms.Keys.A + Me.Player1.KeyRec = System.Windows.Forms.Keys.R + Me.Player1.KeyRight = System.Windows.Forms.Keys.D + Me.Player1.KeyUp = System.Windows.Forms.Keys.W + Me.Player1.MaxVel = CType(10, Short) + Me.Player1.MinVel = CType(-10, Short) + Me.Player1.Nombre = "" + Me.Player1.Precision = CType(30, Byte) + Me.Player1.Puntaje = CType(0US, UShort) + Me.Player1.RotVel = CType(5, Short) + Me.Player1.UseMouseControls = True + Me.Player1.Vel = CType(0, Short) + Me.Player1.Vida = CType(100US, UShort) + Me.Player1.W = CType(30US, UShort) + Me.Player1.X = CType(185, Short) + Me.Player1.Y = CType(185, Short) + ' + 'Form1 + ' + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(30, Byte), Integer), CType(CType(30, Byte), Integer), CType(CType(30, Byte), Integer)) + Me.ClientSize = New System.Drawing.Size(784, 561) + Me.Controls.Add(Me.Box) + Me.DoubleBuffered = True + Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ForeColor = System.Drawing.Color.White + Me.KeyPreview = True + Me.Name = "Form1" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "IoGame - Pablo Facha Software" + Me.Box.ResumeLayout(False) + Me.Box.PerformLayout() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents wsk As Winsock_Orcas.Winsock + Friend WithEvents T As Timer + Friend WithEvents DG As ColorDialog + Friend WithEvents Player1 As IoGame.Player + Friend WithEvents Box As Panel + Friend WithEvents LinkLabel2 As LinkLabel + Friend WithEvents LinkLabel1 As LinkLabel + Friend WithEvents Button5 As Button + Friend WithEvents Label2 As Label + Friend WithEvents LinkLabel3 As LinkLabel + Friend WithEvents Label1 As Label + Friend WithEvents RedCheck As Timer + Friend WithEvents RegularData As Timer + Friend WithEvents LinkLabel4 As LinkLabel +End Class diff --git a/IoGame/Form1.resx b/IoGame/Form1.resx new file mode 100644 index 0000000..0d7d8ba --- /dev/null +++ b/IoGame/Form1.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 87, 6 + + + 5, 6 + + + 250, 6 + + + 319, 6 + + + 425, 6 + + + 154, 9 + + + 34 + + \ No newline at end of file diff --git a/IoGame/Form1.vb b/IoGame/Form1.vb new file mode 100644 index 0000000..e6f4a51 --- /dev/null +++ b/IoGame/Form1.vb @@ -0,0 +1,1172 @@ +Imports Winsock_Orcas + + +Public Class Form1 + + Dim r As New Random + +#Region " Form.Paint - Dibujo " + + Dim ColorNonClientArea As Color = Color.Black + ' Form.Paint + Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint + + If wsk.State <> WinsockStates.Connected Then Exit Sub + + + With e.Graphics + + ' ------------------- Gráficos al Máximo ---------------- + .CompositingMode = Drawing2D.CompositingMode.SourceOver + .CompositingQuality = Drawing2D.CompositingQuality.HighQuality + .InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic + .PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality + .SmoothingMode = Drawing2D.SmoothingMode.AntiAlias + .TextRenderingHint = Drawing.Text.TextRenderingHint.ClearTypeGridFit + + End With + + + + ' Area Cliente, No Cliente y Jugadores Remotos + DrawNonClientArea(e.Graphics) + + ' Chat + DrawChat(e.Graphics) + + ' Jugador Local + PaintPlayer(Player1, e.Graphics) + + ' Info de Arma Local + PaintIngoGun(e.Graphics) + + ' Draw PauseSignal + If Pausa Then e.Graphics.DrawString("Juego en Pausa", New Font(Me.Font.FontFamily, 16), Brushes.Red, 10, 10) + + + + + End Sub + + ' Dibujar Chat + Sub DrawChat(ByRef g As Graphics) + With g + + g.ResetTransform() + + Dim s As String = "" + For Each v As String In Chat + s &= v & vbCrLf + Next + Dim sF = g.MeasureString(s, New Font(Me.Font.FontFamily, 12)) + Dim p As New Point + p.X = 10 + p.Y = ClientSize.Height - 10 - sF.Height + + g.DrawString(s, New Font(Me.Font.FontFamily, 12), Brushes.White, p) + + 'p = Nothing + 's = Nothing + 'sF = Nothing + + End With + End Sub + ' Dibujar Bordes + Sub DrawNonClientArea(ByRef g As Graphics) + With g + + ' Zona No Cliente + g.Clear(ColorNonClientArea) + + + Dim p As New Pen(Me.BackColor, 5) + .TranslateTransform(ClientSize.Width / 2, ClientSize.Height / 2) + + ' Zona Cliente + .FillRectangle(p.Brush, -Player1.X, -Player1.Y, Player1.GameSize.Width, Player1.GameSize.Height) + + + + + ' Jugadores Remotos + If Jugadores.Count <> 0 Then + For Each z As R_MiniPlayer In Jugadores + PaintMiniPlayer(z, g) + Next + End If + + .TranslateTransform(-(ClientSize.Width / 2), -(ClientSize.Height / 2)) + + + + p = Nothing + End With + End Sub + ' Player.Paint + Sub PaintPlayer(ByRef P As Player, ByRef G As Graphics) + With G + + + .TranslateTransform(ClientSize.Width / 2, ClientSize.Height / 2) + Using pp As New Pen(P.Color, 1) + + If P.Angle > 180 Then + .DrawRectangle(pp, CSng(-P.W / 2) - 10, CSng(P.H / 2) + 30, P.W + 20, 10) + .FillRectangle(pp.Brush, CSng(-P.W / 2) - 10, CSng(P.H / 2) + 30, CSng((P.Vida * (P.W + 20)) / 100), 10) + Else + .DrawRectangle(pp, CSng(-P.W / 2) - 10, CSng(-P.H / 2) - 30, P.W + 20, 10) + .FillRectangle(pp.Brush, CSng(-P.W / 2) - 10, CSng(-P.H / 2) - 30, CSng((P.Vida * (P.W + 20)) / 100), 10) + End If + + pp.Width = 4 + .FillEllipse(pp.Brush, CSng(-P.W / 2), CSng(-P.H / 2), P.W, P.H) + .DrawArc(pp, CSng(-P.W / 2) - 10, CSng(-P.H / 2) - 10, P.W + 20, P.H + 20, CSng(Player1.Angle - (Player1.Precision / 2)), Player1.Precision) ' CSng(P.Angle - (P.Precision / 2)), P.Precision) + + End Using + + + .TranslateTransform(-Player1.X - (Player1.W / 2), -Player1.Y - (Player1.H / 2)) + PaintGun(G) + PaintDisparos(Player1.Disparos, G) + .TranslateTransform(Player1.X + (Player1.W / 2), Player1.Y + (Player1.H / 2)) + + + + .TranslateTransform(-(ClientSize.Width / 2), -(ClientSize.Height / 2)) + + + + + + + End With + End Sub + Sub PaintMiniPlayer(ByRef P As R_MiniPlayer, ByRef G As Graphics) + With G + + .TranslateTransform(-Player1.X - 15, -Player1.Y - 15) + + Using pp As New Pen(P.Color, 4) + + + ' If P.Enabled = False Then pp.Color = ControlPaint.Light(Me.BackColor, 75) + .FillEllipse(pp.Brush, P.X, P.Y, P.W, P.H) 'CSng(-P.W / 2), CSng(-P.H / 2), P.W, P.H) + .DrawArc(pp, P.X - 10, P.Y - 10, P.W + 20, P.H + 20, CSng(P.Angle - (P.Precision / 2)), P.Precision) + + End Using + + + ' Disparos Remotos + PaintDisparos(Disparos, G) + + + .TranslateTransform(Player1.X + 15, Player1.Y + 15) + + End With + End Sub + ' Disparos + Sub PaintDisparos(ByRef L As List(Of R_Disparo), ByRef G As Graphics) + If L.Count = 0 Then Exit Sub + Try + Dim p As New Pen(Color.Black) + With G + For Each D In L + + p.Color = D.Color + .FillRectangle(p.Brush, D.X, D.Y, D.W, D.H) + + Next + End With + p = Nothing + Catch ex As Exception + 'MsgBox("Error en Dibujo de Disparos. " & ex.Message) + End Try + End Sub + ' Gun + Sub PaintGun(ByRef G As Graphics) + If GunOk = False Then Exit Sub + + Dim bmp As Bitmap = Nothing + Select Case Gun.Gun + Case TipoArma.M14 : bmp = My.Resources.M14 + Case TipoArma.M9 : bmp = My.Resources.M9 + Case TipoArma.R49 : bmp = My.Resources.R49 + Case TipoArma.Rifle : bmp = My.Resources.Rifle + Case TipoArma.Sub55 : bmp = My.Resources.Sub55 + Case TipoArma.x99x : bmp = My.Resources.x99x + End Select + + + G.DrawImage(bmp, Gun.X, Gun.Y, 48, 48) + ControlPaint.DrawBorder(G, New Rectangle(Gun.X - 5, Gun.Y - 5, 58, 58), Color.CadetBlue, ButtonBorderStyle.Solid) + + + End Sub + + ' Info of Gun + Sub PaintIngoGun(ByRef g As Graphics) + + Dim p As New Pen(Me.BackColor) + + g.ResetTransform() + + Dim x = ClientSize.Width - 200 + Dim y = ClientSize.Height - 100 + + ' Mini-Fondo + g.FillRectangle(p.Brush, x, y, 200, 100) + + + + Dim bmp As Bitmap = Nothing + Select Case Player1.Gun + Case TipoArma.M14 : bmp = My.Resources.M14 + Case TipoArma.M9 : bmp = My.Resources.M9 + Case TipoArma.R49 : bmp = My.Resources.R49 + Case TipoArma.Rifle : bmp = My.Resources.Rifle + Case TipoArma.Sub55 : bmp = My.Resources.Sub55 + Case TipoArma.x99x : bmp = My.Resources.x99x + End Select + + + g.DrawImage(bmp, x + 25, y + 25, 48, 48) + + Dim s As String = "None" + Select Case Player1.Gun + Case TipoArma.M14 : s = "AK74" + Case TipoArma.M9 : s = "Classic" + Case TipoArma.R49 : s = "B-49" + Case TipoArma.Rifle : s = "R23" + Case TipoArma.Sub55 : s = "Sub 55" + Case TipoArma.x99x : s = "x99x" + End Select + + g.DrawString(s, New Font(Me.Font.FontFamily, 12), Brushes.WhiteSmoke, x + 75 + 10, y + 10) + + + + Dim percent As Integer + percent = ((Now.TimeOfDay - Player1.D_LastTime).TotalSeconds * 100) / Player1.D_TimeForRecharge.TotalSeconds + + + If Player1.D_Actual = 0 Then + g.DrawString(percent & "%", New Font(Me.Font.FontFamily, 9), Brushes.WhiteSmoke, x + 75 + 10, y + 35) + Else + g.DrawString(Player1.D_Actual & " / " & Player1.D_Max & vbCrLf & + "Daño: " & Player1.D_MinDaño & "-" & Player1.D_MaxDaño, New Font(Me.Font.FontFamily, 9), Brushes.WhiteSmoke, x + 75 + 10, y + 35) + End If + + + + + ControlPaint.DrawBorder(g, New Rectangle(x, y, 202, 102), Color.WhiteSmoke, style:=ButtonBorderStyle.Dashed) + + + End Sub + + + + +#End Region + + +#Region " Logica de Jugador Local " + + + ' Click para Disparar + Dim bfCursor As Point + Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown + Player1.D_Disparar = True + End Sub + Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.MouseUp + Player1.D_Disparar = False + End Sub + + ' Timer - Movimiento / Disparos / Colision + Dim tempX, tempY As Short + Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles T.Tick + + If wsk.State = WinsockStates.Closed Then HayDesconexion() : Exit Sub + +#Region " Mouse Angle " + + Try + + If Player1.UseMouseControls = False Or Me.Focused = False Then Exit Try + + Dim FINX As Integer = Cursor.Position.X + Dim FINY As Integer = Cursor.Position.Y + Dim CEROX As Integer = Me.Left + 8 + ClientSize.Width / 2 + Dim CEROY As Integer = Me.Top + 30 + ClientSize.Height / 2 + Dim ATAN As Single = Math.Round(Math.Atan((CEROY - FINY) / (FINX - CEROX)) * (180 / Math.PI), 1) + If FINX = CEROX And FINY > CEROY Then : ATAN = 270 + ElseIf FINX < CEROX And FINY = CEROY Then : ATAN = 180 + ElseIf FINX > CEROX And FINY > CEROY Then : ATAN += 360 + ElseIf FINX < CEROX And FINY > CEROY Then : ATAN += 180 + ElseIf FINX < CEROX And FINY < CEROY Then : ATAN += 180 + End If + + + + + If bfCursor <> Cursor.Position Then + bfCursor = Cursor.Position + Player1.Angle = 360 - ATAN + Player1_ChangeAngle(Player1) + End If + + + + + Catch ex As Exception + End Try + +#End Region + +#Region " Disparos" + + Player1.GoTime() + If Player1.D_Disparar Then Player1.Disparar() + + ' Enemigos + If Disparos.Count <> 0 Then + + Dim z As R_Disparo + For i = Disparos.Count - 1 To 0 Step -1 + z = Disparos(i) + z.X += z.xVel + z.Y += z.yVel + + If z.X < z.W Or + z.X > Player1.GameSize.Width Or + z.Y < z.H Or + z.Y > Player1.GameSize.Height Then + + Disparos.RemoveAt(i) + + End If + Next + End If + ' Locales + Player1.MoverDisparos() + + + Colision() + MEcolision() + + +#End Region + +#Region " Movimiento " + + ' Jugador Local + Player1.Move() + If tempX <> Player1.X Or tempY <> Player1.Y Then + tempX = Player1.X + tempY = Player1.Y + + Send_Location() + End If + + ' Jugador Remoto + For Each x As R_MiniPlayer In Jugadores + If x.Vel <> 0 Then + + x.X += x.Vel * Math.Cos((x.Angle) * (Math.PI / 180)) + x.Y += x.Vel * Math.Sin((x.Angle) * (Math.PI / 180)) + x.X = Math.Max(Player1.GameLocation.X, x.X) + x.X = Math.Min(x.X, Player1.GameSize.Width - x.W) + x.Y = Math.Max(Player1.GameLocation.Y, x.Y) + x.Y = Math.Min(x.Y, Player1.GameSize.Height - x.H) + + End If + Next + + + + + + +#End Region + +#Region " Arma " + + ChangeGun() + +#End Region + + Invalidate() + + End Sub + + + Sub Colision() + + + ' Colision de disparos locales contra jugador remoto + For Each v As R_Disparo In Player1.Disparos + If v.Used Then Continue For + Dim a As New Rectangle(v.X, v.Y, v.W, v.H) + + + + + + + For Each i As R_MiniPlayer In Jugadores + Dim b As New Rectangle(i.X, i.Y, i.W, i.H) + + If a.IntersectsWith(b) Then + v.Used = True + i.Vida = Math.Max(0, CInt(i.Vida) - CInt(v.Daño)) + If i.Vida = 0 Then + i.Vida = 100 + i.X = ClientSize.Width / 2 - i.W / 2 + i.Y = ClientSize.Height / 2 - i.H / 2 + Send_Muerte(Player1.Color, i.Color) + Chat.Add("Asesinaste a " & i.Nombre) + End If + Exit For + End If + Next + Next + + + End Sub + Sub MEcolision() + + Dim a, b As Rectangle + b = New Rectangle(Player1.X, Player1.Y, Player1.W, Player1.H) + For Each z As R_Disparo In Disparos + If z.Used Then Continue For + a = New Rectangle(z.X, z.Y, z.W, z.H) + + If a.IntersectsWith(b) Then + + z.Used = True + Player1.Vida = Math.Max(0, CInt(Player1.Vida) - CInt(z.Daño)) + + End If + + Next + + End Sub + + Sub ChangeGun() + If GunOk = False Then Exit Sub + + Dim a As New Rectangle(Gun.X, Gun.Y, 48, 48) + Dim b As New Rectangle(Player1.X, Player1.Y, Player1.W, Player1.H) + If a.IntersectsWith(b) Then + + Player1.Gun = Gun.Gun + + Select Case Gun.Gun + Case TipoArma.M14 + With Player1 + .D_Actual = 0 + .D_CantidadPer = 1 + .D_Max = 20 + .D_MaxDaño = 25 + .D_MaxH = 10 + .D_MaxVel = 10 + .D_MaxW = 10 + .D_MinDaño = 20 + .D_MinH = 7 + .D_MinVel = 7 + .D_MinW = 7 + .D_Presicion = 4 + .D_TimeForRecharge = New TimeSpan(0, 0, 0, 3, 0) + .D_TimeForShot = New TimeSpan(0, 0, 0, 0, 500) + End With + + Case TipoArma.M9 + + With Player1 + .D_Actual = 0 + .D_CantidadPer = 1 + .D_Max = 8 + .D_MaxDaño = 7 + .D_MinDaño = 5 + .D_MaxH = 7 + .D_MaxW = 7 + .D_MinH = 5 + .D_MinW = 5 + .D_MaxVel = 15 + .D_MinVel = 10 + .D_Presicion = 3 + .D_TimeForRecharge = New TimeSpan(0, 0, 0, 1, 0) + .D_TimeForShot = New TimeSpan(0, 0, 0, 0, 250) + End With + + + Case TipoArma.R49 + + With Player1 + .D_Actual = 0 + .D_CantidadPer = 1 + .D_Max = 2 + .D_MaxDaño = 50 + .D_MinDaño = 25 + .D_MaxH = 25 + .D_MaxW = 25 + .D_MinH = 20 + .D_MinW = 20 + .D_MaxVel = 25 + .D_MinVel = 15 + .D_Presicion = 1 + .D_TimeForRecharge = New TimeSpan(0, 0, 0, 2, 0) + .D_TimeForShot = New TimeSpan(0, 0, 0, 0, 500) + End With + + Case TipoArma.Rifle + + With Player1 + .D_Actual = 0 + .D_CantidadPer = 1 + .D_Max = 16 + .D_MaxDaño = 15 + .D_MinDaño = 10 + .D_MaxH = 7 + .D_MaxW = 7 + .D_MinH = 5 + .D_MinW = 5 + .D_MaxVel = 15 + .D_MinVel = 10 + .D_Presicion = 1 + .D_TimeForRecharge = New TimeSpan(0, 0, 0, 3, 0) + .D_TimeForShot = New TimeSpan(0, 0, 0, 0, 250) + End With + + Case TipoArma.Sub55 + + With Player1 + .D_Actual = 0 + .D_CantidadPer = 3 + .D_Max = 50 + .D_MaxDaño = 7 + .D_MinDaño = 5 + .D_MaxH = 5 + .D_MaxW = 5 + .D_MinH = 2 + .D_MinW = 2 + .D_MaxVel = 20 + .D_MinVel = 15 + .D_Presicion = 3 + .D_TimeForRecharge = New TimeSpan(0, 0, 0, 3, 0) + .D_TimeForShot = New TimeSpan(0, 0, 0, 0, 200) + End With + + Case TipoArma.x99x + + With Player1 + .D_Actual = 0 + .D_CantidadPer = 5 + .D_Max = 120 + .D_MaxDaño = 20 + .D_MinDaño = 10 + .D_MaxH = 15 + .D_MaxW = 15 + .D_MinH = 7 + .D_MinW = 7 + .D_MaxVel = 25 + .D_MinVel = 20 + .D_Presicion = 7 + .D_TimeForRecharge = New TimeSpan(0, 0, 0, 5, 0) + .D_TimeForShot = New TimeSpan(0, 0, 0, 0, 100) + End With + + + End Select + + Gun = Nothing + GunOk = False + + Send_ResetGun() + + End If + + + End Sub + + +#End Region + + +#Region " Form Events - Controls" + + ' Play Pausa + Dim Pausa As Boolean = False + Sub PlayPause() + If wsk.State <> WinsockStates.Connected Then Exit Sub + + Pausa = Not Pausa + T.Enabled = Not Pausa + + Send_PlayPausa() + + Invalidate() + + End Sub + ' Pantalla Completa + Dim full As Boolean = False + Sub PantallaCompleta() + If wsk.State <> WinsockStates.Connected Then Exit Sub + full = Not full + If full Then + Me.WindowState = FormWindowState.Normal + Me.FormBorderStyle = FormBorderStyle.None + Me.WindowState = FormWindowState.Maximized + Else + Me.FormBorderStyle = FormBorderStyle.Sizable + Me.WindowState = FormWindowState.Normal + End If + Me.BringToFront() + End Sub + ' Color + Private Sub LinkLabel4_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel4.LinkClicked + DG.Color = Player1.Color + If DG.ShowDialog = DialogResult.OK Then + Player1.Color = DG.Color + LinkLabel4.LinkColor = Player1.Color + End If + End Sub + + + ' Conectar + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button5.Click + Try + Box.Enabled = False + wsk.Connect() + Catch ex As Exception + MsgBox("Error: " & ex.Message, MsgBoxStyle.Critical, "Error") + End Try + End Sub + + ' Cambio de IP Remota de Servidor + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles LinkLabel1.LinkClicked + Dim ip = InputBox("Ingresa la IP Remota: " & vbCrLf & "Ejemplo: 192.168.0.1", "IP Remota", wsk.RemoteHost) + If ip <> Nothing Then wsk.RemoteHost = ip + + LinkLabel1.Text = "IP de Servidor: " & ip + LinkLabel1.Left = Box.Width / 2 - LinkLabel1.Width / 2 + + End Sub + ' Cambio de Puerto de Servidor + Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked + Dim ip = InputBox("Ingresa el Puerto de Servidor: " & vbCrLf & "Ejemplo: 8080", "Puerto", wsk.RemotePort) + If (ip <> Nothing) And IsNumeric(ip) Then wsk.RemotePort = ip + + + LinkLabel2.Text = "Puerto: " & ip + LinkLabel2.Left = Box.Width / 2 - LinkLabel2.Width / 2 + End Sub + ' Cambio de Nombre de Jugador + Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click + Dim ip = InputBox("Ingresa tu Nombre: " & vbCrLf & "Ejemplo: Admin", "Nombre", Player1.Nombre) + If ip = Nothing Then Exit Sub + + + Player1.Nombre = ip + Label2.Text = "¡Hola, " & ip & "!" + Label2.Left = Box.Width / 2 - Label2.Width / 2 + + + End Sub + + + + ' Form Load, Form Close + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load + ResizeRedraw = True + + Randomize() + + Player1.R = r + Player1.Color = Color.FromArgb(255, r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)) + + LinkLabel4.LinkColor = Player1.Color + + End Sub + Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If wsk.State <> WinsockStates.Closed Then wsk.Close() + End Sub + + ' Form.KeyDown - Form.KeyUp + Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown + Player1.KeysDown(e) + End Sub + Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp + Player1.KeysUp(e) + + If e.KeyData = Keys.Escape Then PlayPause() + If e.KeyData = Keys.F11 Then PantallaCompleta() + + End Sub + + + + +#End Region + + +#Region " -- Red -- " + + Dim Red As New List(Of String) + + Dim Jugadores As New List(Of R_MiniPlayer) + Dim Disparos As New List(Of R_Disparo) + Dim Chat As New List(Of String) + + Dim Gun As New S_Gun + Dim GunOk As Boolean = False + +#Region " Connected - Disconnected - Error " + + ' Conectado + Private Sub wsk_Connected(sender As Object, e As WinsockConnectedEventArgs) Handles wsk.Connected + + HayConexion() + + End Sub + ' Desconectado + Private Sub wsk_Disconnected(sender As Object, e As EventArgs) Handles wsk.Disconnected + + HayDesconexion() + + End Sub + ' Error + Private Sub wsk_ErrorReceived(sender As Object, e As WinsockErrorReceivedEventArgs) Handles wsk.ErrorReceived + + If wsk.State = WinsockStates.Closed Then HayDesconexion() + + End Sub + +#End Region + +#Region " Receive Data " + + ' DataArrival + Private Sub wsk_DataArrival(sender As Winsock, e As WinsockDataArrivalEventArgs) Handles wsk.DataArrival + + Red.Add(sender.Get(Of String)()) + + End Sub + + + + ' Checkear datos de red. + Private Sub RedCheck_Tick() Handles RedCheck.Tick + + If Red.Count = 0 Then Exit Sub + + For Each ww As String In Red + Dim Converted = DataGet_Converter.dataFromString(ww) + Select Case Converted.TipoDato + Case TipoDato.Location : R_Location(Converted) + Case TipoDato.ChangeAngle : R_ChangeAngle(Converted) + + Case TipoDato.Mensaje : R_Message(Converted) + Case TipoDato.Pausa : R_Pausa(Converted) + Case TipoDato.Muerte : R_Muerte(Converted) + Case TipoDato.Nombre : R_Nombre(Converted) + Case TipoDato.NewPlayer : R_NewPlayer(Converted) + + Case TipoDato.Disparo : R_Disparo(Converted) + + Case TipoDato.Gun : R_Gun(Converted) + Case TipoDato.ResetGuns : R_ResetGuns(Converted) + + + End Select + Converted = Nothing + + + Next + + Red.Clear() + + + End Sub + + + ' Usar datos de red + Private Sub R_Gun(c As Data_Get) + + Gun = c.Value + GunOk = True + Invalidate() + + End Sub + Private Sub R_ResetGuns(c As Data_Get) + + Gun = Nothing + GunOk = False + Invalidate() + + End Sub + Private Sub R_Location(c As Data_Get) + Dim encontrado As Boolean = False + Dim k As S_Location = c.Value + For Each z As R_MiniPlayer In Jugadores + If k.Color = z.Color Then + z.X = k.X + z.Y = k.Y + encontrado = True + Exit For + End If + Next + If Not encontrado Then + Jugadores.Add(New R_MiniPlayer) + Jugadores.Last.X = k.X + Jugadores.Last.Y = k.Y + End If + k = Nothing + End Sub + Private Sub R_ChangeAngle(c As Data_Get) + Dim encontrado As Boolean = False + Dim k As S_ChangeAngle = c.Value + For Each z As R_MiniPlayer In Jugadores + If k.Color = z.Color Then + z.Angle = k.Angle + encontrado = True + Exit For + End If + Next + If Not encontrado Then + Jugadores.Add(New R_MiniPlayer) + Jugadores.Last.Color = k.Color + Jugadores.Last.Angle = k.Angle + End If + k = Nothing + End Sub + Private Sub R_Muerte(C As Data_Get) + Disparos.Clear() + Player1.Disparos.Clear() + + + + Dim k As S_Muerte = C.Value + Dim s As String = "" + + If k.Victima = Player1.Color Then + For Each v In Jugadores + If v.Color = k.Asesino Then + s = v.Nombre & " te asesinó." + + Player1.X = Player1.GameSize.Width / 2 - Player1.W / 2 + Player1.Y = Player1.GameSize.Height / 2 - Player1.H / 2 + Player1.Vida = 100 + + Exit For + End If + Next + + Else + + For Each v In Jugadores + If v.Color = k.Asesino Then + s = v.Nombre & " asesinó a " + Exit For + End If + Next + For Each v In Jugadores + If v.Color = k.Victima Then + s &= v.Nombre & "." + + v.X = Player1.GameSize.Width / 2 - v.W / 2 + v.Y = Player1.GameSize.Height / 2 - v.H / 2 + v.Vida = 100 + + Exit For + End If + Next + + + End If + + k = Nothing + + Chat.Add(s) + Invalidate() + End Sub + Private Sub R_Message(c As Data_Get) + Dim k As S_Mensaje = c.Value + For Each z As R_MiniPlayer In Jugadores + If k.Color = z.Color Then + + Chat.Add(z.Nombre & ": " & k.Msg) + + Exit For + End If + Next + k = Nothing + Invalidate() + End Sub + Private Sub R_Pausa(c As Data_Get) + Dim k As S_Pausa = c.Value + Pausa = k.Pausa + For Each z As R_MiniPlayer In Jugadores + + + If k.Color = z.Color Then + If Pausa Then + Chat.Add(z.Nombre & " detuvo el Juego.") + Else + Chat.Add(z.Nombre & " renaudó el Juego.") + End If + Exit For + End If + Next + k = Nothing + T.Enabled = Not Pausa + Invalidate() + End Sub + Private Sub R_Nombre(c As Data_Get) + Dim k As S_Nombre = c.Value + For Each z As R_MiniPlayer In Jugadores + If k.Color = z.Color Then + z.Nombre = k.Nombre + Exit For + End If + Next + k = Nothing + End Sub + Private Sub R_NewPlayer(c As Data_Get) + Jugadores.Add(CType(c.Value, R_MiniPlayer)) + Invalidate() + End Sub + Private Sub R_Disparo(c As Data_Get) + Dim z = CType(c.Value, R_Disparo) + + Disparos.Add(z) + + For Each i As R_MiniPlayer In Jugadores + If i.Color = z.Color Then + i.X = z.X + i.Y = z.Y + End If + Next + + Invalidate() + End Sub + + +#End Region + +#Region " Send Data" + + Private Sub Player1_Disparo(ByRef sender As Player, ByRef e As R_Disparo) Handles Player1.Disparo + + If wsk.State = WinsockStates.Connected Then + + ' Create data to send + Dim k As New Data_Get + k.TipoDato = TipoDato.Disparo + k.Value = e + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + + End If + + End Sub + + Private Sub Player1_ChangeAngle(ByRef sender As Player) Handles Player1.ChangeAngle + + If wsk.State = WinsockStates.Connected Then + + ' Create data to send + Dim z As New S_ChangeAngle + z.Angle = Player1.Angle + z.Color = Player1.Color + Dim k As New Data_Get + k.TipoDato = TipoDato.ChangeAngle + k.Value = z + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + z = Nothing + + End If + + End Sub + + Private Sub Send_PlayPausa() + If wsk.State = WinsockStates.Connected Then + + ' Create data to send + Dim z As New S_Pausa + z.Color = Player1.Color + z.Pausa = Pausa + Dim k As New Data_Get + k.TipoDato = TipoDato.Pausa + k.Value = z + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + z = Nothing + + End If + End Sub + + Private Sub Send_Nombre() + If wsk.State = WinsockStates.Connected Then + + ' Create data to send + Dim z As New S_Nombre + z.Color = Player1.Color + z.Nombre = Player1.Nombre + Dim k As New Data_Get + k.TipoDato = TipoDato.Nombre + k.Value = z + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + z = Nothing + + End If + End Sub + + Private Sub Send_Location() + If wsk.State = WinsockStates.Connected Then + + ' Create data to send + Dim z As New S_Location + z.Color = Player1.Color + z.X = Player1.X + z.Y = Player1.Y + Dim k As New Data_Get + k.TipoDato = TipoDato.Location + k.Value = z + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + z = Nothing + + End If + End Sub + + Private Sub Send_Muerte(ase As Color, vic As Color) + If wsk.State = WinsockStates.Connected Then + + ' Create data to send + Dim z As New S_Muerte + z.Asesino = ase + z.Victima = vic + Dim k As New Data_Get + k.TipoDato = TipoDato.Muerte + k.Value = z + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + z = Nothing + + End If + End Sub + + Private Sub Send_ResetGun() + + If wsk.State = WinsockStates.Connected Then + + Dim k As New Data_Get + k.TipoDato = TipoDato.ResetGuns + k.Value = Nothing + + ' Send + wsk.Send(DataGet_Converter.dataToString(k)) + + ' Clear + k = Nothing + + End If + + End Sub + + + + +#End Region + + Private Sub RegularData_Tick(sender As Object, e As EventArgs) Handles RegularData.Tick + Send_Nombre() + Send_Location() + End Sub + + + Sub HayConexion() + + + Jugadores.Clear() + Disparos.Clear() + Chat.Clear() + + + Box.Visible = False + T.Start() + + If full = False Then PantallaCompleta() + + Send_Nombre() + + Me.Focus() + Invalidate() + + + + End Sub + + Private Sub LinkLabel3_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked + Ajustes.ShowDialog() + End Sub + + Sub HayDesconexion() + + + Jugadores.Clear() + Disparos.Clear() + Chat.Clear() + + Box.Enabled = True + Box.Visible = True + + If full Then PantallaCompleta() + + Invalidate() + + End Sub + + + + + + + + + +#End Region + + + + + + +End Class diff --git a/IoGame/IoGame.vbproj b/IoGame/IoGame.vbproj new file mode 100644 index 0000000..acb76f8 --- /dev/null +++ b/IoGame/IoGame.vbproj @@ -0,0 +1,167 @@ + + + + + Debug + AnyCPU + {3E3D59B5-D73F-4EB3-AAE7-7469E0B948D2} + WinExe + IoGame.My.MyApplication + IoGame + IoGame + 512 + WindowsForms + v4.5 + + + AnyCPU + true + full + true + true + bin\Debug\ + IoGame.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + IoGame.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + My Project\app.manifest + + + + + + + + + + + + + + + + D:\Descargas 2016-2017\Antiguo\Winsock_Orcas\Winsock Orcas\bin\Release\Winsock Orcas.dll + + + + + + + + + + + + + + + + + + Ajustes.vb + + + Form + + + + + + + Form + + + Form1.vb + Form + + + Player.vb + + + Component + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + Ajustes.vb + + + Form1.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IoGame/IoGame.vbproj.user b/IoGame/IoGame.vbproj.user new file mode 100644 index 0000000..6cdac35 --- /dev/null +++ b/IoGame/IoGame.vbproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/IoGame/My Project/Application.Designer.vb b/IoGame/My Project/Application.Designer.vb new file mode 100644 index 0000000..c64b42f --- /dev/null +++ b/IoGame/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.IoGame.Form1 + End Sub + End Class +End Namespace diff --git a/IoGame/My Project/Application.myapp b/IoGame/My Project/Application.myapp new file mode 100644 index 0000000..7b0c597 --- /dev/null +++ b/IoGame/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + 0 + true + diff --git a/IoGame/My Project/AssemblyInfo.vb b/IoGame/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..f1175c9 --- /dev/null +++ b/IoGame/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' La información general de un ensamblado se controla mediante el siguiente +' conjunto de atributos. Cambie estos valores de atributo para modificar la información +' asociada con un ensamblado. + +' Revisar los valores de los atributos del ensamblado + + + + + + + + + + +'El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. + + +' La información de versión de un ensamblado consta de los cuatro valores siguientes: +' +' Versión principal +' Versión secundaria +' Número de compilación +' Revisión +' +' Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados +' mediante el carácter '*', como se muestra a continuación: +' + + + diff --git a/IoGame/My Project/Resources.Designer.vb b/IoGame/My Project/Resources.Designer.vb new file mode 100644 index 0000000..290fdfb --- /dev/null +++ b/IoGame/My Project/Resources.Designer.vb @@ -0,0 +1,123 @@ +'------------------------------------------------------------------------------ +' +' Este código fue generado por una herramienta. +' Versión de runtime:4.0.30319.42000 +' +' Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si +' se vuelve a generar el código. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'StronglyTypedResourceBuilder generó automáticamente esta clase + 'a través de una herramienta como ResGen o Visual Studio. + 'Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen + 'con la opción /str o recompile su proyecto de VS. + ''' + ''' Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("IoGame.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las + ''' búsquedas de recursos mediante esta clase de recurso fuertemente tipado. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' Busca un recurso adaptado de tipo System.Drawing.Bitmap. + ''' + Friend ReadOnly Property M14() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("M14", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Busca un recurso adaptado de tipo System.Drawing.Bitmap. + ''' + Friend ReadOnly Property M9() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("M9", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Busca un recurso adaptado de tipo System.Drawing.Bitmap. + ''' + Friend ReadOnly Property R49() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("R49", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Busca un recurso adaptado de tipo System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Rifle() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Rifle", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Busca un recurso adaptado de tipo System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Sub55() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Sub55", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Busca un recurso adaptado de tipo System.Drawing.Bitmap. + ''' + Friend ReadOnly Property x99x() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("x99x", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + End Module +End Namespace diff --git a/IoGame/My Project/Resources.resx b/IoGame/My Project/Resources.resx new file mode 100644 index 0000000..a258b6f --- /dev/null +++ b/IoGame/My Project/Resources.resx @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\icons8-Fusil de asalto-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-Pistola-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-RPG-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-Rifle de francotirador-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-Subfusil ametrallador-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-Ametralladora Gatling-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/IoGame/My Project/Settings.Designer.vb b/IoGame/My Project/Settings.Designer.vb new file mode 100644 index 0000000..e3df39e --- /dev/null +++ b/IoGame/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.IoGame.My.MySettings + Get + Return Global.IoGame.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/IoGame/My Project/Settings.settings b/IoGame/My Project/Settings.settings new file mode 100644 index 0000000..377f56d --- /dev/null +++ b/IoGame/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/IoGame/My Project/app.manifest b/IoGame/My Project/app.manifest new file mode 100644 index 0000000..7e6e111 --- /dev/null +++ b/IoGame/My Project/app.manifest @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IoGame/Resources/icons8-Ametralladora Gatling-48.png b/IoGame/Resources/icons8-Ametralladora Gatling-48.png new file mode 100644 index 0000000000000000000000000000000000000000..3813fe6f4139108f1bee4c6d81586f98c97ece7c GIT binary patch literal 1477 zcmV;$1v>hPP)Cy?gJn3kwPR!iJfh`}?2s zpEGAJ!YcpZD(8na0in*|S_alK;3Wb(-mT6`&)p_7g?&CNMeMTGA9v^lYQop;@dN)j;|U4Z@jm=l~TouM1sWBw6^aX&Q|)e>59pKunncqHTq;o zo|+g3#=yZCmZs-!%O?m&W{IU#Yo`?#na_|KCe5OxX=kE%@B zviS_3BkUAX0RkQYWNw>*dw1;IN*r)qaw^2i>wq$-8M=R`gxd*`C>t`eB}+uaI7(RZ zP5r4`Arqj5Z$5MSAO|nmv;UlPa^hqDJt{W7!QOn~5Vy_P;DZO#lM{)EgvH46zH1j7 zFY!462`DJ5&PQZjh+ymKXsI!KD(k`TK3sQ@+h)=+2EtB&(x>UK<$eMH`6G`9|8+i} z2KuFeBuZ_Ypq~RqA{Gk|jJa(y*mu|QYrBoxb-^d#42Tu=L<9=YOXafl zLIq{kZbC@0c%Ve2)|6LscZxbMN~NeaV#5m03)_gu8^H%$h18J|{S0G__b{HJ=y(|t zQ&P__1$@v12zb#3kTB_eplpwJV+S+xK`Enr5iNYy_PkrXw|O?uKQiNdks}@yW{K!d z$%X}rz{VjHhjXzo-!#s>+(qk6mEn{7no1w8jW|KHPr{=d{BxSiH*ObZ(PJPQ?; zSK1Nr?K!~yo{pAmU%Ou~@&aD`Rx1Jkno_pDesnP#)@K2|XPxx+T^uyq<{2 z*!a;`($W+CsWy7S^gwC_AY!&R8~F>bCn7pN!IhM@smM&JG<6OXmRC6tAwf)55KGlf zldlb{wT<2b7utz^(bLgd>kH6m%##7l9sq#(i!V0vilVp~BuR4r9Ul1mp3CXnItTWs zr=umy2+~vr)PUj#jL}`!ue8|~3-6kqhT(ySK!^m9F)^@yW2(Eid35(qEdW+Ch9$k7 zHlMA6k+^vqRnyjm8aap01Ie}tL@3j{9D-C{G;UZi!GYP`;+9)!{mL&3q z84wd*_W3aGt?Y3TLx0}CNtM|J!B}c|(;46!n^MxGSF_*wsAlh^!*LN9^(0_9;7toK zv$@xfO>8Cup_;QMAXJezT}DFlL70#yV}q00000NkvXXu0mjf6W7C% literal 0 HcmV?d00001 diff --git a/IoGame/Resources/icons8-Fusil de asalto-48.png b/IoGame/Resources/icons8-Fusil de asalto-48.png new file mode 100644 index 0000000000000000000000000000000000000000..36a59fca762130d1b09426be0eb2a2f35f92c11f GIT binary patch literal 1583 zcmV+~2GIG5P)V6vzM1Ep3suv;yN@tuN8V4Y`oTMEziAmMqbku|=6nCNEnu_0w=)w&^x;37UOz zm}!tK8D%fY1Q%;!V)l~3GJ$O|a&cx^oEtb1P|%i95L$ZA^4zwpO5Z3IYT`{uO8Y$b z`Tx#2&w0*0m*FA5*h8)#j{xS|g9+t*M;&_IB7cVl1W{SXNW;Dac7rXbYbCrtxcrZK2!OQ_B352J+eK*wRx zGCAR1eg3z><7xUNu5Fkxx8-%~pcE-h&pSX{O>s42IKYMW_B&wzcRXtG^BO`Ohefk2 zv(t<*G0@7lhK6^P9Qo^HB+Jih2(=#)ONdwlW6U&7DBnMG~Lw*JX}Hu zq{j98IxC_TKc^woRwIglV)c7M#xIsYT`4ZI6je)(gal}>DXs;>8^OfID*l0Zpnhjg z6$y&a9)V5nEm)Oj`tYPAsiALqb+g%J)N9rTLd-^dTmc#?OePmCXaHCV&*K1$xsMqp z($jR>t2aizIomeyY_eJye(gE)O|@FJ(g!h2BwIG@mm=o-P+=99bAXq-0tu%9n26A& z6~-*Nd3hHMI_+}*!X1}}+J5=Nz99f2YqsL!;(-%oIkk*2Z)_79^9^)hVP3WsV3zx> z)^+txU(3bY-)&i!ab!ilQJ9V8XMGOTRb-oeR`+HVLgU(HnN?$I))FeyfC$(6ou^+u z_UDT;$u!}{#uP%nhYVh)dk-SQ!6#Q`+QOwtuL$A{=-)tI2x!K1Mqx5A*ZxvW#|jDGW6lSPdIw+ z=f2@hPi4KYRja1Pc3!dLM`_Bqmy8V*1M1;wp zHrlst$U%N)3MSkhe0sJA6K;9_0NQJcdcfF{U<$avUw^;d`PRwaV*Y!nXyBcMasr*% zRFp9`=x~)>?jBhXm3jbi_W)0!x)kl(%NM8TFox7XAzXZOORo~!&WRDTPOG;uFp+>^ z72M)i(s&Q|h#LB82H)Wqfh4W~yioJ^X;O9St4s3JS18$?=*&&~xa0c^x5~MAQt~DJ z!yqi?;sM!m|AyQlCYvXrDq&#!Z(}HqxB=9cn^rijISr2~bK9rW}&2FfIVW#Pfo!((1TJSU|ihobsfz z@axOC6m7i6GA?Wu@|MUcEdc(1iXt@b`m8VLV_&Ig;H5OLO1%J(_nwkQYhw`>?VOMR zLB#{u)z}wu4i5zl4ECuo14+%2vnX0Iv5X5U#`fm&mkj!pFT1bbQF&ygVLWw(1Muzx zCG+r;TDb^vQ8XuNEaH88W%|?~stbCPHR`;(<1Tbxx5GW@spKtgJ~9%3x5qCi9c6De z!XN|Mnk457v5E{gFQ^B2`@;^;wPcMt)$Q>}8{g|HsxQw~)ICuCvZm)Ixx2LWq z$r-d8FBoOZobw)w%qzHpmM;Zb|QKd}8!aTN&WnKWMK0w^jE%!QCx*LVaFtL5S~ h?~w=MWyx6Y^B>+$VNWcMnFjy>002ovPDHLkV1iO~{bT?D literal 0 HcmV?d00001 diff --git a/IoGame/Resources/icons8-Pistola-48.png b/IoGame/Resources/icons8-Pistola-48.png new file mode 100644 index 0000000000000000000000000000000000000000..62045b997cc77329a25375cbb547972d98a77577 GIT binary patch literal 1049 zcmV+!1m^pRP)? z@yPLG$MnL**>{{i8546N0!vxf=X2E)cs4MAP$(3~x~QlK2kPqdWkbd~?G-Q_p$dRz z0+&18Nl7SO1j;s)h|vEJf!{4GT{+cW1s@0lk$lu*1JChPl;`-)RTTZ??z`*P?Q+}vZD#6oPhK9)5+OL~d$3#*kwkvZEC&b+k*fZ?p79kS z@TcR6;a9Rg?Ys7f&%^VP;{F~_aQ~4e9-Lhu>U`nry~y7kZfS2eF?Jsbh8g8Uer8E#mDv+FWlYdLqh&5E%45sCBfoa|vBYrF=NPDuG6)>na1Td=1Xx z(}(vlNy@VpVEyJTu;k|cs=y!8SR&yeqTryfx5m-Z9^egu1T^&Bb@wNeZMie5m)K%8 zzXW5IA121|W8qs2MtSv4G&CFnV*uZQ__`eyqSxf~EwyDyW-CHK%Km)l3udO?#rc#7 z@D~HmIRQ<-fZyw`)nuu`NU;J-Ep&{5*(OI{BN_?E!Ab2?gP-3fD|Lw*TU;HC;kumm zrDzI^OHi_@oZr-;Fh!eF)f)9AM6m*m&h~LWz?8Djooue$j@&g?2t+3ycX##Zahxh! zSpw4VQqsQIzDy=;+qpZY|EDS_Jvg!i8lA2l1~h$~oWR1@Ia$2?A{#cASBUaa+Eerd zlB{hU0cr9^qY+Gw3@hR;FKK9v?Xeuz(CzW=0pF-zt? z#7k)DZ^Ws$BM2}4h{Lqx=ApcLhxk0zi&;ttNEJ{6<6mEW-ENzjUAo`PRN#CKf%ppD zr0AUR6pVHFy|)7C4p0qW^?N`KAk*)&1hN${n1QT>3?|U<@oWVQr_dn4s;|IL)=;8A T2|uuL00000NkvXXu0mjfAq4QZ literal 0 HcmV?d00001 diff --git a/IoGame/Resources/icons8-RPG-48.png b/IoGame/Resources/icons8-RPG-48.png new file mode 100644 index 0000000000000000000000000000000000000000..909d1a40d4913ae8a226c377750d15a722dd1ea3 GIT binary patch literal 1387 zcmV-x1(f=UP)4HBQ8;(#u-gaHZUa--NfPr)p0oflQ z=pV*JS)x(nHp)iKV1EEQK)_|4nMRhNFd_?uNDDangLjX4h1Zq#F0s&GK+CH#R^ovyX`r`sILhy5dnLu z>L+!Z0-(BVyN)p|MdY3p1QW1Xa=6lrjaF+!1AJJPR74ElK}4;$MUgr4D^Jd}uNVuL zhvme1>(zv&_=K1jV%4ghzVjKeAC2`>?v;p00K;pVrn!0kI3mD~9coa=s8$L^KDV-N zx;r8PjAfd1wiso$Se%J27lA(nU9I}qvcgUgwFgeTpKLoub1hV3)x~Uc^ z8*X?R6)Fvps!J5-3z3|xzFE^a?YAc)W(CCTduP`hA~qJAKmBs{?bV7vNLOHAUO_hi zCOVy%Ywk9AYPTpx@IFWCzoo?SJU?r*EuL!p!n&$>;kl3lAYu*?n0+Ct-%HjL&?|(f z2f!$AAq3P$=rkDXtfOm{-;e@mb$U%q4C_Y3OmB#il8o&5n3?t{a3;6~67hhj5`=Te z8l}qRhFC}lDnbB2X3Ul?x9+^QUnNM>?0x z3 z!?pswA8EA!*wr`x;O_(fJ#=tI;AQcG=Y{coc?B)r5QyNmlU%Vu@5G{bM09(&cWzIw z2qAcWdSd+CPp#h;dI$D~SRP*&gyK!?D_#`Y_3!R$mlyUtvbn&E`H7)~!J{jmZX9(0ziU9g*vV@yfjzlmU5z`&~z-*S2WuG}? z108MYAqVKM)#`{i&n4U|phvtoCKmz#^+c!}x@huzw3Q1I@Cx+SWSJ2#)7Lg)=6wVE zLnyP#YCr)2^wngw04&w=+dt|-q@n}m=2Z`5!LZ7@0er<1&{Yn}aG>1m_qk6hm;kXJ zt0)F|^sru+8fSmAbgv~35tc6DK&PIlxKbq7r=grDX`$tdcp)Mh0l-}ucEvk}4Ox~H zL~4x`@q(@u07s6OcN5XQ|BMW4h_O`P%%yC#pD~^7I1M^z74L9=h?0O%)M%6nllz?C9#{>6F;=|Zqpw_1 zfy|TK#J&(W|GFM$U!V-7*SoOc%>oY|I&^*<_$flvC*n4tgw002ovPDHLkV1j>hjidko literal 0 HcmV?d00001 diff --git a/IoGame/Resources/icons8-Rifle de francotirador-48.png b/IoGame/Resources/icons8-Rifle de francotirador-48.png new file mode 100644 index 0000000000000000000000000000000000000000..58bccaf23c962c185b9d3dfd40694c655b2fff45 GIT binary patch literal 1639 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 TE0!nD|0{*~|1yHV literal 0 HcmV?d00001 diff --git a/IoGame/bin/Debug/IoGame.exe.config b/IoGame/bin/Debug/IoGame.exe.config new file mode 100644 index 0000000..49c50e0 --- /dev/null +++ b/IoGame/bin/Debug/IoGame.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/IoGame/bin/Debug/IoGame.pdb b/IoGame/bin/Debug/IoGame.pdb new file mode 100644 index 0000000000000000000000000000000000000000..ff54e1bb5fab3c6c0c8637549fde8c8fbe537a4c GIT binary patch literal 95744 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 literal 0 HcmV?d00001 diff --git a/IoGame/bin/Debug/IoGame.xml b/IoGame/bin/Debug/IoGame.xml new file mode 100644 index 0000000..fa81881 --- /dev/null +++ b/IoGame/bin/Debug/IoGame.xml @@ -0,0 +1,56 @@ + + + + +IoGame + + + + +

+ Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. + + + + + Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las + búsquedas de recursos mediante esta clase de recurso fuertemente tipado. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + diff --git a/IoGame/bin/Debug/Winsock Orcas.dll b/IoGame/bin/Debug/Winsock Orcas.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c27636bcf4358cdedc0c5399bc15c7ae59dfe5a GIT binary patch literal 108032 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
ZUHd?OEli75W;W?EGsuo$9$ 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 literal 0 HcmV?d00001 diff --git a/IoGame/bin/Debug/Winsock Orcas.xml b/IoGame/bin/Debug/Winsock Orcas.xml new file mode 100644 index 0000000..e522c11 --- /dev/null +++ b/IoGame/bin/Debug/Winsock Orcas.xml @@ -0,0 +1,1354 @@ + + + + +WinsockOrcas + + + + + + Raises an error on the parent Winsock object. + + The parent Winsock object to raise the error on. + A String containing a message describing the error being raised. + + + Raises an error on the parent Winsock object. + + The parent Winsock object to raise the error on. + A String containing a message describing the error being raised. + A String containing extra details describing the error being raised. + + + Raises an error on the parent Winsock object. + + The parent Winsock object to raise the error on. + A String containing a message describing the error being raised. + A String containing extra details describing the error being raised. + A value containing the socket's error code. + + + Removes items from the beginning of an array. + + + + This call contains shared methods that any class can use. + + + + Initializes a new instance of the WinsockFileData class. + + + + Gets or sets the name of the file. + + + + Gets or sets the contents of the file. + + + + Saves the file to the specified path. + + The full path of the file to save to. + Whether you want to append the data to the end of an existing file or not. + + + Reads a file into the WinsockFileData class. + + The full path of the file you want to read. + + + A class that wraps a file allowing you to serialize it for transport. + + + + Creates a new instance of the WinsockDesigner class. + + + + + Initializes this instance of the WinsockDesigner class. + + The base component of the designer. + + + Gets the Verb collection. + + + The Verb collection is used to display links at the + bottom of the description in the Properties pane. + + + + Gets the Action list collection. + + + The Action list collection is used for the Smart Tag + popup to provide easy access to various properties/actions. + + + + Winsock designer class provides designer time support for the Winsock component. + + + + Initializes a new instance of the WinsockActionList class. + + The component used in initialization. + + + Gets or sets a value indicating if Legacy support should be used or not. + + Legacy support is to support older winsock style connections. + + + Gets or sets the winsock protocol to use when communicating with the remote computer. + + + + Builds and retrieves the Action list itself. + + + + Gets the property information by the given name. + + The name of the property to get. + + + Shows the about box. + + + + Launches the author's website. + + + + Provides the action list for the Winsock component during design time. + + + + Occurs when connection is achieved (client and server). + + + + Occurs on the server when a client is attempting to connect. + + Client registers connected at this point. Server must Accept in order for it to be connected. + + + Occurs when data arrives on the socket. + + Raised only after all parts of the data have been collected. + + + Occurs when disconnected from the remote computer (client and server). + + + + Occurs when an error is detected in the socket. + + May also be raised on disconnected (depending on disconnect circumstance). + + + Occurs while the receive buffer is being filled with data. + + + + Occurs when sending of data is completed. + + + + Occurs when the send buffer has been sent but not all the data has been sent yet. + + + + Occurs when the state of the socket changes. + + + + Raises the Connected event. + + + + Raises the ConnectionRequest event. + + + + Raises the DataArrival event. + + + + Raises the Disconnected event. + + + + Raises the ErrorReceived event. + + + + Raises the ReceiveProgress event. + + + + Raises the SendComplete event. + + + + Raises the SendProgress event. + + + + Gets the state of the Winsock control. + + + + Encapsulates the OnStateChanged methods so the AsyncSocket + doesn't have to build the EventArgs parameter all the time. + + The new state of the Winsock. + + + When the port is set dynamically by using port 0, the socket can now update the property of the component. + + The port we are now listening on. + + + Serializes an object to a byte array. + + The object to be serialized. + + + Deserializes an object from a byte array. + + The byte array from which to obtain the object. + + + Contains function for serializing/deserializing an object to and from a byte array. + + + + Triggers an event declared at module level within a class, form, or document in a thread-safe manner. + + The event to be raised. + The arguements for the event. + + + Occurs when connection is achieved (client and server). + + + + Occurs on the server when a client is attempting to connect. + + Client registers connected at this point. Server must Accept in order for it to be connected. + + + Occurs when data arrives on the socket. + + Raised only after all parts of the data have been collected. + + + Occurs when disconnected from the remote computer (client and server). + + + + Occurs when an error is detected in the socket. + + May also be raised on disconnected (depending on disconnect circumstance). + + + Occurs while the receive buffer is being filled with data. + + + + Occurs when sending of data is completed. + + + + Occurs when the send buffer has been sent but not all the data has been sent yet. + + + + Occurs when the state of the socket changes. + + + + Raises the Connected event. + + + + Raises the ConnectionRequest event. + + + + Raises the DataArrival event. + + + + Raises the Disconnected event. + + + + Raises the ErrorReceived event. + + + + Raises the ReceiveProgress event. + + + + Raises the SendComplete event. + + + + Raises the SendProgress event. + + + + Raises the StateChanged event. + + + + Encapsulates the OnStateChanged methods so the AsyncSocket + doesn't have to build the EventArgs parameter all the time. + + The new state of the Winsock. + + + When the port is set dynamically by using port 0, the socket can now update the property of the component. + + The port we are now listening on. + + + Gets or sets a value indicating the interal size of the byte buffers. + + + + Gets a value indicating whether the buffer has data for retrieval. + + + + Gets or sets a value indicating if Legacy support should be used or not. + + Legacy support is to support older winsock style connections. + + + Gets the local machine's IP address(es). + + + + Gets or sets a value indicating the port the control should listen on. + + Cannot change while listening, connected, or connecting - but can change while closing. + + + Gets or sets a value that control the length of the maximum length of the pending connections queue. + + Cannot change while listening. + + + Gets a NetworkStream that this Winsock object is based on. + + + + Gets or sets the winsock protocol to use when communicating with the remote computer. + + + + Gets or sets a value that determines what remote computer to connect to, or is currently connected to. + + Can only change if closed or listening. + + + Gets or sets a value that determines which port on the remote computer to connect on, or is currently connected on. + + Can only change if closed or listening. + + + Gets the state of the Winsock control. + + + + Places a Winsock in a listening state. + + + + Places a Winsock in a listening state. + + The port Winsock should listen on. + + + Places a Winsock in a listening state. + + The IP address the Winsock should listen on. This must be an ip address. + + + Places a Winsock in a listening state. + + The IP address the Winsock should listen on. + The port Winsock should listen on. + + + Accepts a client connect as valid and begins to monitor it for incoming data. + + A System.Net.Sockets.Socket that represents the client being accepted. + + + Creates an new Winsock and accepts the client connection on it. + + A System.Net.Sockets.Socket that represents the client being accepted. + + This was created to be used by the listener, to keep the listener listening while + also accepting a connection. + + + + Closes an open Winsock connection. + + + + Establishes a connection to a remote host. + + + + Establishes a connection to a remote host. + + A System.String containing the Hostname or IP address of the remote host. + A value indicating the port on the remote host to connect to. + + + Sends an object to a connected socket on a remote computer. + + The object to send. + + The object is first serialized using a BinaryFormatter - unless + it is already a byte array, in which case it just sends the byte array. + + + + Sends a file to a connected socket on a remote computer. + + The full path to the file you want to send. + + Creates a special file object to send, so the receiving end knows what to do with it. + + + + Gets the next object from the buffer, removing it from the buffer. + + + A Deserialized object or if it can't be deserialized the byte array. + + + + Gets the next object from the buffer as the supplied type, removing it from the buffer. + + The System.Type you wish to have the data returned as. + + A Deserialized object converted to the data type you wish. + + + This function was added to make it easier for Option Strict users. + It allows for easier conversion instead of the user using CType, DirectCast, or the like. + Can throw an error if you specify the wrong type. + + + + Gets the next object from the buffer, leaving it ing the buffer. + + + A Deserialized object or if it can't be deserialized the byte array. + + + + Gets the next object from the buffer as the supplied type, leaving it in the buffer. + + The System.Type you wish to have the data returned as. + + A Deserialized object converted to the data type you wish. + + + This function was added to make it easier for Option Strict users. + It allows for easier conversion instead of the user using CType, DirectCast, or the like. + Can throw an error if you specify the wrong type. + + + + Gets a value containing the remote IP address. + + + + Gets a value containing the remote port number. + + + + Gets a value containing the local port number. + + + + Accepts an incoming connection and starts the data listener. + + The client to accept. + + + Closes the socket if its already open or listening. + + + + Starts Listening for incoming connections. For UDP sockets it starts listening for incoming data. + + The port to start listening on. + The maximum length of the pending connections queue. + + + Starts Listening for incoming connections on the specified IP address. For UDP sockets it starts listening for incoming data. + + The port to start listening on. + The maximum length of the pending connections queue. + The IP address on which to listen. + + + Gets the first object in the buffer without removing it. + + + + Gets and removes the first object in the buffer. + + + + Attemps to connect to a remote computer. + + The remote host or IP address of the remote computer. + The port number on which to connect to the remote computer. + + + Attempts to connect to a remote computer. + + The IP address of the remote computer. + The port number on which to connect to the remote computer. + + + Sends data to the remote computer. + + The byte array of data to send. + + + The callback for the listener - only used for a TCP listener. + + This routine starts again when finished making it loop to continuously receive connections. + + + The callback method for the Receive method (UDP only) - used when there is incoming data. + + + + The callback for the Connect method - used on the client to start looking for data. + + + + The callback method for the Receive method (TCP only) - used when there is incoming data. + + + + The callback method for the Send method (TCP only) - loops if not all the data was sent. + + + + The callback method for the Send method (UDP only) - loops if not all the data was sent. + + + + The callback method for resolving the address given - starts the socket on connecting. + + + + Processes raw data that was received from the socket and places it into the appropriate buffer. + + The raw byte buffer containing the data received from the socket. + The size of the data received from the socket (reported from the EndReceive). + The IP address the data came from, used for event raising. + The Port the data arrived on, used for event raising. + + + Resizes an array to the desired length - preserving the data at the begining of the array. + + The array to be resized. + The size to resize the array to. + + + Starts listening for incoming packets on the socket. + + The is private because, the user should never have to call this. + + + Starts the sending of an object in the send buffer. + + + + A Boolean value to determine if the class has found a delimiter yet. + + + + A Boolean value to determine if the class has found the size or not. + + + + A Boolean value to determine if the header processing has been completed or not. + + Based on HasDelimiter and HasSize + + + The determined Size that was contained within the header. + + + + The delimiter found within the header (typically the first byte). + + + + Processes a received byte array for possible header information to decode the length of the data received. + + The byte array to process. + A temporary byte buffer to stored data in. + The parameters must be passed ByRef to allow the other routines to work with the exact same data (and modified data). + + + Resets the packet processor for another run. + + + + Adds a packet header to the byte array given. + + The byte array to prepend with a packet header. + + + Determines which byte value was not used in the byte array. + + The byte array to check. + + + Encloses a byte array with another byte. + + A byte to enclose around a byte array. + The byte array that needs a byte enclosed around it. + + + Combines two byte arrays. + + + + A class that decodes and stores the packet header information. + + + + The incoming socket information - allows UDP to determine the sender. + + + + The EndPoint on which the data was received (server side). + + + + A class that allows a state to be transfered from the calling method to the asyncrounous callback method. + This class is used for receiving data via UDP. + + + + Initializes a new instance of the SendQueueData class. + + An IPEndPoint containing the IP address that you will be sending to. + The data that needs to be sent. + + + The IPEndPoint that contains the IP address information needed to send the data. + + + + The data that needs to be sent. + + + + A class that helps store data waiting to be sent in the SendQueue + + + This class was borne out of necessity - not for TCP, but for UDP. + I realized that if you are sending large data chunks out via UDP + to different remote addresses, you could end up sending data to + the wrong remote host. This class allows the component to recognize + that it needs to send to a different remote host. + + + + The total length of the original byte array to be sent. (Includes packet header) + + + + The error code as reported by the socket - used during the callback method. + + + + The index at which to start sending - usefull when sending packets larger than the buffer size. + + + + The number of bytes to send during this time - usefull when sending packets larger than the buffer size. + + + + The total number of bytes actually transmitted. + + + + The socket that is doing the sending - used for UDP statistic information during the callback method. + + + + The IP address of the computer you are sending to - used for UDP statistic information during the callback method. + + + + Builds and returns an instance of the SendState class. + + The UpperBound of the byte array that will be sent. + The socket to assign to the SendState. + The socket's buffer size. + + + Returns a boolean indicating whether the object being sent has completed or not. + + + + A class that allows a state to be transfered from the calling method to the asyncrounous callback method. + This class is used when sending data. + + + + A class that encapsulates all the raw functions of the System.Net.Sockets.Socket + + + + Adds a byte to the byte buffer. + + The byte to add to the buffer. + + + Adds a byte array to the byte buffer. + + The byte array to add to the buffer. + Adds all the bytes in the array individually - not the array itself. + + + Combines all the bytes in the buffer into one byte array. + + + + A special collection class to act as a byte buffer. + + + + Transmission Control Protocol - a connection oriented protocol. + + + + User Datagram Protocol - a connection-less protocol. + + + + Enumeration containing the various supported network protocols. + + + + The Winsock is closed. + + + + The Winsock is listening (TCP for connections, UDP for data). + + + + The Winsock is attempting the resolve the remote host. + + + + The remote host has been resolved to IP address. + + + + The Winsock is attempting to connect to the remote host. + + + + The Winsock is connected to a remote source (client or server). + + + + The Winsock is attempting to close the connection. + + + + Enumeration containing the various Winsock states. + + + + Stores the list of items within this instance. + + + + Initializes a new instance of the Deque class that is empty and has the default initial capacity. + + + + Initializes a new instance of the Deque class that contains elements copied from the specified collection and has sufficient capacity to accommodate the number of elements copied. + + The collection whose elements are copied to the new Deque. + + + Copies the entire Deque to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional Array that is the destination of the elements copied from Deque. The Array must have zero-based indexing. + The zero-based index in array at which copying begins. + + + Gets the number of elements actually contained in the Deque. + + The number of elements actually contained in the Deque. + + + Gets a value indicating whether access to the ICollection is synchronized (thread safe). + + true if access to the ICollection is synchronized (thread safe); otherwise, false. In the default implementation of List, this property always returns false. + + + Gets an object that can be used to synchronize access to the ICollection. + + An object that can be used to synchronize access to the ICollection. In the default implementation of List, this property always returns the current instance. + + + Returns an enumerator that iterates through the Queue. + + + + Creates a shallow copy of the Queue. + + + + Removes all elements from the Deque. + + + + Determines whether an element is in the Deque. + + The object to locate in the Deque. The value can be a null reference (Nothing in Visual Basic) for reference types. + + + Returns the object at the beginning (top) of the Deque without removing it. + + The object at the beginning (top) of the Deque. + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + Removes and returns the object at the beginning of the Deque. + + The object that is removed from the beginning of the Deque. + Synonymous with Pop(). + + + Adds an object to the end of the Deque. + + The object to add to the Deque. The value can be a null reference (Nothing in Visual Basic). + + + Removes and returns the object at the top of the Deque. + + The Object removed from the top of the Deque. + Synonymous with Dequeue(). + + + Inserts an object at the top of the Deque. + + The Object to push onto the Deque. The value can be a null reference (Nothing in Visual Basic). + + + Represents both a last-in, first-out (LIFO) and a first-in, first-out (FIFO) non-generic collection of objects. + + + While the System.Collections.Stack and the System.Collections.Queue + have seemingly different ways of operating, they can be combined easily + by just manipulating the way in which an item in inserted into the list. + + This allows the removal from the list to remain the same, whether you + are treating this class like a Stack or a Queue. The also allows the + Peek() method to work for both at the same time. + + Helping tidbit - Deque is pronounced like "deck." + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + Initializes a new instance of the WinsockCollection class. + + + Determines if the collection should automatically remove the + connection when the Disconnected event is fired. + + + Enables LegacySupport for connections accepted using the + collections Accept method. + + + + Run when the base class's list is finished clearing. + Triggers clearing of the keys and values - closing + all connections. + + + + Causes the CountChanged event to be triggered when an item is added to the collection. + + + + Causes the CountChanged event to be triggered when an item is removed from the collection. + + + + Run during the Clearing of the collection. + The method actually clears the values safely + so as not to cause exceptions. Triggered via + the last Disconnected event. + + + + Attemps to retrieve the GUID of the item at the index specified. + + The zero-based index of the GUID you are attempting to find. + + + Attempts to retrieve the GUID of the item using the Key given to the item. + + The key whose GUID you are looking for. + + + Removes the given GUID and it's ties from the collections. + + The GUID to remove. + + + Adds a winsock value to the collection. + + The GUID of the object. + The Key of the object (may be nothing). + The Winsock that is to be added to the collection. + Attaches handlers to each Winsock event so the collection can act as a proxy. + + + Method to remove an object automatically - threaded to avoid problems. + + + + Retrieves the GUID assigned to the specified Winsock object in the collection. + + The Winsock object to find the GUID of. + + + Retrieves the Key assigned to the specified Winsock object in the collection. + + The Winsock object to find the Key of. + The key object that was assigned to the Winsock - may be Nothing. + + + Determines if the collection contains the key specified. + + The key to search the collection for. + + + Determines if the collection contains the specified value. + + The value to search the collection for. + + + Removes the value at the specified index. Use this instead of RemoveAt. + + The zero-based index of the item you wish to remove. + + + Removes the value with the specified key. + + The key of the value you wish to remove. + + + Removes the value with the specified Guid. + + The Guid of the value you wish to remove. + + + Adds a value to the collection. + + The Winsock object to add to the collection. + Returns the GUID assigned to the element. + + + Adds a value to the collection. + + The Winsock object to add to the collection. + The Key of the element to add. + Returns the GUID assigned to the element. + + + Accepts an incoming connection and adds it to the collection. + + The client to accept. + Returns the GUID assigned to the element. + + + Accepts an incoming connection and adds it to the collection. + + The client to accept. + The Key of the element to add. + Returns the GUID assigned to the element. + + + Connects to a remote host and adds it to the collection. + + A containing the Hostname or IP address of the remote host. + A value indicating the port on the remote host to connect to. + Return the GUID assigned to the element. + + + Connects to a remote host and adds it to the collection. + + A containing the Hostname or IP address of the remote host. + A value indicating the port on the remote host to connect to. + The Key of the element to add. + Return the GUID assigned to the element. + + + Gets an Array of all the remote IP addresses of each connection in this collection. + + + + Gets a Collection containing all the keys in this collection. + + + + Gets a Collection containing all the values in this collection. + + + + Gets or sets the Winsock at the specified index. + + A zero-based index of the Winsock to get or set. + + + Gets or sets the Winsock associated with the specified key. + + The key whose value to get or set. + + + Gets or sets the Winsock associated with the specified GUID. + + The GUID whose value to get or set. + + + Occurs when connection is achieved (client and server). + + + + Occurs on the server when a client is attempting to connect. + + Client registers connected at this point. Server must Accept in order for it to be connected. + + + Occurs when the number of items in the collection has changed. + + + + Occurs when data arrives on the socket. + + Raised only after all parts of the data have been collected. + + + Occurs when disconnected from the remote computer (client and server). + + + + Occurs when an error is detected in the socket. + + May also be raised on disconnected (depending on disconnect circumstance). + + + Occurs when sending of data is completed. + + + + Occurs when the send buffer has been sent but not all the data has been sent yet. + + + + Occurs when the state of the socket changes. + + + + Triggers an event declared at module level within a class, form, or document in a thread-safe manner. + + The event to be raised. + The arguements for the event. + + + Raises the Connected event. + + + + Raises the ConnectionRequest event, and closes the socket if the ConnectionRequest was rejected. + + + + Raises the DataArrival event. + + + + Raises the Disconnected Event. + + + + Raises the ErrorReceived event. + + + + Raises the SendComplete event. + + + + Raises the SendProgress event. + + + + Raises the StateChanged event. + + + + Raises the count changed event. + + + + A collection of Winsock objects. + + + + Initializes a new instance of the WinsockErrorEventArgs class. + + A String containing the error message. + + + Initializes a new instance of the WinsockErrorEventArgs class. + + A String containing the error message. + A String containing the name of the function that produced the error. + + + Initializes a new instance of the WinsockErrorEventArgs class. + + A String containing the error message. + A String containing the name of the function that produced the error. + A String containing extra details for the error message. + + + Initializes a new instance of the WinsockErrorEventArgs class. + + A String containing the error message. + A String containing the name of the function that produced the error. + A String containing extra details for the error message. + A value containing the socket's ErrorCode. + + + Gets a value containing the error message. + + + + Gets a value containing the name of the function that produced the error. + + + + Gets a value indicating the error code returned by the socket. + + If it wasn't returned by the socket, it defaults to success. + + + Gets a value containing more details than the typical error message. + + + + Provides data for the Winsock.ErrorReceived event. + + + + Initializes a new instance of the WinsockClientReceivedEventArgs class. + + A Socket object containing the new client that needs to be accepted. + + + Gets a value containing the client information. + + Used in accepting the client. + + + Gets a value containing the incoming clients IP address. + + + + Gets or sets a value indicating whether the incoming client request should be cancelled. + + + + Provides data for the Winsock.ConnectionRequest event. + + + + Initializes a new instance of the WinsockStateChangingEventArgs class. + + The old state of the Winsock control. + The state the Winsock control is changing to. + + + Gets a value indicating the previous state of the Winsock control. + + + + Gets a value indicating the new state of the Winsock control. + + + + Provides data for the Winsock.StateChanged event. + + + + Initializes a new instance of the WinsockDataArrivalEventArgs class. + + The number of bytes that were received. + The source address of the bytes. + The source port of the bytes. + + + Gets a value indicating the number of bytes received. + + + + Gets a value indicating the data's originating address. + + + + Gets a value indicating the data's originating port. + + + + Provides data for the Winsock.DataArrival event. + + + + Initializes a new instance of the WinsockConnectedEventArgs class. + + The source address of the connection. + The source port of the connection. + + + Gets a value indicating the remote address of the connection. + + + + Gets a value indicating the remote port of the connection. + + + + Provides data for the Winsock.Connected event. + + + + Initializes a new instance of the WinsockSendEventArgs class. + + The destination of the bytes sent. + The total number of bytes sent. + The total number of bytes that were supposed to be sent. + + + Gets a value indicating the destination of the bytes sent. + + + + Gets a value indicating the number of bytes sent. + + + + Gets a value indicating the total number of bytes that should have been sent. + + + + Gets a value indicating the percentage (0-100) of bytes that where sent. + + + + Provides data for the Winsock.SendComplete event. + + + + Initializes a new instance of the WinsockCollectionCountChangedEventArgs class. + + The old number of items in the collection. + The new number of items in the collection. + + + Gets a value indicating the previous number of items in the collection. + + + + Gets a value indicating the current number of items in the collection. + + + + Provides data for the WinsockCollection.CountChanged event. + + + + Initializes a new instance of the WinsockReceiveProgressEventArgs class. + + The source ip of the bytes received. + The total number of bytes received. + The total number of bytes that were supposed to be received. + + + Gets a value indicating the source of the bytes sent. + + + + Gets a value indicating the number of bytes received. + + + + Gets a value indicating the total number of bytes that should be received. + + + + Gets a value indicating the percentage (0-100) of bytes that where received. + + + + Provides data for the Winsock.ReceiveProgress event. + + + + \ No newline at end of file diff --git a/IoGame/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/IoGame/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..fa4ec1ae4ba7a13413d0fe03a8b98124918d293e GIT binary patch literal 13648 zcmeHN-E$jP71xy|S-X*~q%@F1DGm*^C9Z78cKp$}!I7iHlh{pd*99zBSxHy+#;aX- zcjd(8qv?c?cK9A1fZ>4#n4t{JP=BYt_CS zt%}q4@Qv})kK`A4h1=XL@xE!t;Z<6B?&Rx>o6nIxzi!zZ`ON(Jr5%oJIhyyUH^Uu$ z&CHYyBZ1Z72RM?gUDwSuF;wz^9%{N&;*O&ibwhWz#YhT`R6Mwc%33xTb%|Q5NlitBokX`q}qRzI{|l@cpiv1c+t|~G8kMl}jXm`>D8*r!|Gp_=u>_f-zY!9P z>lDGt89xvRW1qj_aue|ycFXLg!OAL{2y_2w^{>Tif4rz1CxP-|kOzq*P7qPIPLb(H z2ggp0si}{UVAezAe)5E|F>SOodU|MLc!Up*PsFhS{x{Y-_8(d6hkW0$;O)YUzYP&E z>wz0P5z8#>vi!`gZwLm6g5htp2`6?RPc5UR{M50TAU;B8d! z#k2;gnKA@&3S<~$1Z0%R5%?Aq23QN1bDAoNF(Ol50N*nGR)*hu(O)dHP5C=65Fwv}pO%R6pSZPT`J z98#-=3K;{~W?hW+`uOyn1$;x|<3xHw`Mxp@`8gsHH3n4t3*;l~ix)74TBslA(mPdg zvP%{Gqu;Dqv6KQ1O_ZAQWWk?HZvh)*+E}w}%Im7f!YpM*S<7^7%ebdNo7*ziFdUt+ zu4uY_H0VPdrCdLoPZV;7w&tWoM?39VcXxz!iP9a7CL2~{w7!AOioRB}HJlxTZB7|b zP~8qqc7LrNZ1yKjk9KCa^YK?Pv;r*#ko}}so@gRV*6RuFcvYDp+4J;CoF{S?K$;vF z7|2Zy?Bv`7-tG#%DCZs!Irl)QE9Bftjyj3GPWJ};TPOIA?k$|83x!BBc9VAFYt$J! zq+bZ4cc}JnEmU{}aIs%gpSxMVa8txgH4eA;e;EpJAJTNkk<4nFT8WOwkys?zlwq~V zB7+MJc<&^l3yN~d`;IX9^W%_QCL+!_b5vpQ@IpKvh@XHMK3|Bh1mY(lMida@g+ROr zG2(&{F9qVKAV#DR;^jd6G{lG$BItdBDhUtIs`5!<1ol5gmGQk{-|GWMMrDOsvmg05 zjol>Xhdx6;L{#IhY2s`4yR_BBFZ z5L(z*B}QdmA+EkQ}4vVp6M!IgEO6kIg7VeWLD419Fwd?wwvs>%)e z&BN6;)z}v$D6ua{jLJSwTpd@ph}ppvVqi0_5DPoFYGYghHwiEGSCyN@ctCoAYV30o zcGzbnMrEIof%NGRkdQSs0}0tv2S{xUq%V zYt4Ydxvc}JHU`wU$-q6npYs00Kvlj&G7nGRr5dY95Mo?nR92SpR0`n<2mK~IrE$hb zi8371akj+KP%i8$aY*D@Oe5L>UmJt(`($A0K=?AT9`0^ajXfhljjc+I%JMSqRzkSL z-Ao;KSBXK1;f|&Qr8b7rkIBIG#QhawJRtpqYHV4;4tq*sRJJ4oX)y$(GBs@m5^nW6 zKx$(k{hSPZx0{7m={FBozn~hMm!QPvBt~VIWn5hf;R@Hm&A7s~a0gdyjH^3j;JX|M zU!$KqSiMd)mXnag&P$BSW@K1pL$Jc@gl1UbwL%A0Z49g5kb#>Hgl~}01Js*TV~!{I7(!Nao?`cT{7iB?z%miBZ{zjHlrc zp6~{<8BchV*}+pAmQ4p^seBcuOQyUp-rR{>VG(B*WVxs6r~2^iATzy}m$_ zmc72%q>4Ml=Y;-2`vmP4zAM0VT@dfm-$kScL}$yjrOq`Ukvp BA7=mn literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/IoGame/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..d47ba569b8a964eb506be76ea2da98387305f2e5 GIT binary patch literal 7667 zcmeHMZF3Vh5VlDo;s7m9DKDYG(NYT3Ty2sNCk!7#9EY?JGIl0(CeDC-r*lMfCs)#u zm`r|4e?g}|vE4n}mluLdW_%q!_%hzRNZNf?tKGX@DV0v8Qvbk(cf8J@0ph;oj*?n> z#$M+-q@rpVFxwHnq1cYb57 zHMz}#r}g}#H|@=Mg@QYsr;~I9A&Z|tdKPlwBHnUfn3B!ciZ+`}*%hjmgJx*-6=1$b zg^)YUo!6TAbxHQp3609PDV76mK)(a++JYbS9@G}s z9(skJEaJvT?T5K60rS-6n3^T7m}8{kOkZrehN>!~%Gp|_W=mge9BVk&RMGwqBx6Eh4=I01qV8{-hlN02}+kjk6|0=H2l86;y!&H))C=Ygik1t8D%DxGv_t_s=l4ppoc zXRtMUWpOP|40G?N?CD%LtL$Wui@W>eE0FW5JXc%dW-F{e$`@v9%W?@apYBc8-_=U2 z9yWk#NEg>2rKvD2#rrsatuT)%7Cp@XgU0m%Sh}U9{4W7OnlgOg&C$`J7 zXk2V3*MLm+n(WJ#1v%Y2NVsZ{v)eumxCiMgnE=M(XEM$=n^0&_OxbL|1!BncQ*c+A zF_5BZ8}j(*fqVztcY9$2pzTEE1-SuZmwS!Hl?xTDRE-0RE8YVi5dau z52uQDGiZ>TAa3DQ;>sZ`m*p~xYATHE3c3Y?o}5b1D&)9Q(5?Ur1pIm`0Tu2EhMIVa z297jb;S{^_ZiBp;)5%+1>N0;1%%`(5B>P@u83?S{++A@$fVld?Tn#+00rj61m4nv3 z-Qwf>wK%k_PV7R-bSTE-$T=GAH4L9xTplPE1;ib|G0EYSsG&9zaN&d6H$wg~*%?O2 z81i=kXDh)OvZjzNp9LnG)lY!tCW(fx+X(3%AZ;dxgr>U>5G*-}lA`c_ZbY+r08n0X zP%F&X&y8tDSU&^SesWl^dEm+&ZI`9;b>#f*9V-5z{r*SG=0Jt*|4Rh~dOu{Y#S$E^v(f6}(&IJs*Wgw4 PUnh@)S5is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/IoGame.Form1.resources b/IoGame/obj/Debug/IoGame.Form1.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/IoGame.Resources.resources b/IoGame/obj/Debug/IoGame.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..5c0a9356927d4a0f0bd430165a79c76183a879ea GIT binary patch literal 7135 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 Re>fuci0wgT{J(L@e*p==7AOD! literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/IoGame.exe b/IoGame/obj/Debug/IoGame.exe new file mode 100644 index 0000000000000000000000000000000000000000..7ba4f7930978dbc51ac80291cb26c2e3301e9ea0 GIT binary patch literal 78848 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 TE0!nD|0{*~|1yHV literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/IoGame.pdb b/IoGame/obj/Debug/IoGame.pdb new file mode 100644 index 0000000000000000000000000000000000000000..ff54e1bb5fab3c6c0c8637549fde8c8fbe537a4c GIT binary patch literal 95744 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 literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/IoGame.vbproj.CoreCompileInputs.cache b/IoGame/obj/Debug/IoGame.vbproj.CoreCompileInputs.cache new file mode 100644 index 0000000..ac39af9 --- /dev/null +++ b/IoGame/obj/Debug/IoGame.vbproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +e3e33e28d99a5cbf9129580c4d64b3fd7a6849f5 diff --git a/IoGame/obj/Debug/IoGame.vbproj.FileListAbsolute.txt b/IoGame/obj/Debug/IoGame.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..c673ff4 --- /dev/null +++ b/IoGame/obj/Debug/IoGame.vbproj.FileListAbsolute.txt @@ -0,0 +1,42 @@ +F:\Programación\IoGame\IoGame\bin\Debug\IoGame.exe.config +F:\Programación\IoGame\IoGame\bin\Debug\IoGame.exe +F:\Programación\IoGame\IoGame\bin\Debug\IoGame.pdb +F:\Programación\IoGame\IoGame\bin\Debug\IoGame.xml +F:\Programación\IoGame\IoGame\bin\Debug\Winsock Orcas.dll +F:\Programación\IoGame\IoGame\bin\Debug\Winsock Orcas.xml +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.vbprojResolveAssemblyReference.cache +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.Form1.resources +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.Resources.resources +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.vbproj.GenerateResource.Cache +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.vbproj.CoreCompileInputs.cache +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.exe +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.xml +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.pdb +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.Form1.resources +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.Resources.resources +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.vbproj.GenerateResource.Cache +E:\Programación\IoGame\IoGame\bin\Debug\IoGame.exe.config +E:\Programación\IoGame\IoGame\bin\Debug\IoGame.exe +E:\Programación\IoGame\IoGame\bin\Debug\IoGame.pdb +E:\Programación\IoGame\IoGame\bin\Debug\IoGame.xml +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.exe +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.xml +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.pdb +E:\Programación\IoGame\IoGame\bin\Debug\Winsock Orcas.xml +E:\Programación\IoGame\IoGame\obj\Debug\IoGame.vbprojResolveAssemblyReference.cache +F:\Programación\IoGame\IoGame\obj\Debug\IoGame.Ajustes.resources +E:\Programación\Juegos Vb.Net\IoGame\IoGame\bin\Debug\IoGame.exe.config +E:\Programación\Juegos Vb.Net\IoGame\IoGame\bin\Debug\IoGame.exe +E:\Programación\Juegos Vb.Net\IoGame\IoGame\bin\Debug\IoGame.pdb +E:\Programación\Juegos Vb.Net\IoGame\IoGame\bin\Debug\IoGame.xml +E:\Programación\Juegos Vb.Net\IoGame\IoGame\bin\Debug\Winsock Orcas.dll +E:\Programación\Juegos Vb.Net\IoGame\IoGame\bin\Debug\Winsock Orcas.xml +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.vbprojResolveAssemblyReference.cache +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.Ajustes.resources +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.Form1.resources +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.Resources.resources +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.vbproj.GenerateResource.Cache +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.vbproj.CoreCompileInputs.cache +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.exe +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.xml +E:\Programación\Juegos Vb.Net\IoGame\IoGame\obj\Debug\IoGame.pdb diff --git a/IoGame/obj/Debug/IoGame.vbproj.GenerateResource.Cache b/IoGame/obj/Debug/IoGame.vbproj.GenerateResource.Cache new file mode 100644 index 0000000000000000000000000000000000000000..907fb0082f53b88d39f2445223a59d2d468b50cb GIT binary patch literal 1425 zcma)6QBM;=5WchR(QAvgF^C8c7xe)HoNcg?M2SL4kqAkpg!n)-+q*ej*xoj~dxrAn zoA3Sz6aSC#Pxv2n=4i2j#xf7ny_s)j_WO2H%eE}*4;uZFm2RQ?u*U->wTz6vnQ#&M z2TY%8zabSYdxxMjm+^Y7?$`XPUtRVZi7<(R^%xSPm{|5&Nk{PDE%XoMDa7lY>S|Pv zo=3G>Sg*2GmZM>d<7e!H-iCM!dJu;Y2OM-3!L9=RzR3mXN>3`oIs$fiM=^!@*$&hA z6`w*#h%K%lFjDoswqXV+w26SFj~Wzbf}cY;V35t)*2D3)7@bdo+z@t)ux^GN-MWy; z(fJ0&BuFV7A)Q%h_qBm8YAyuwLBX~EhUrf!_jF7SYit^m&U5gPrOa+_?p@|WFi5LBQsVmSIm!_wKMGXcnpJ` zYyE$}TYGhnZdIVWxv9(J$tFU?hXDA4fRv|;N4J2kOi&6rMRbLxRNb17YjWn4@Vm5e zlAwP2A~KDUxxK!JtWHqOBV00>s9=yT)4a6#Z9KSl$d%ERX%<@bfVUQFoFPC8M_5MPY`?!;(=g&Q>37^!34HZ!;y J$AcRb{{lXkl8gWV literal 0 HcmV?d00001 diff --git a/IoGame/obj/Debug/IoGame.vbprojResolveAssemblyReference.cache b/IoGame/obj/Debug/IoGame.vbprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..46aadf451f38ef43cc9f2ce2a5015e1cba2c8354 GIT binary patch literal 8990 zcmeHM-E$jP72hjMvUVfeNogR3Qq(p;OWc(dM{!~rf@9aUY2v1Fa61#Z+iU4c-g>ob z_O6^dGimx#J{}6Z@bLoe3zSEgVTR%35r#)z;GN-_{{hbL?n>HSX&^3W7(Ct?9o>6% z_MUss{hhBXjcJ+aNFAz?v?GzT&vcaZ&j_-m)E`dJ~U_KhY{2M>GOjf;3mT+zI%$Bd}_Hf=CwRU$RaTgK^#C z%@y7VJbyCUPhrXH>~UZCCo$=g*AzE>Z{KbTzkq=a`<}?sj%0q5J6$0)ZDK;p*M{c*`zx2OK7v&lpCzhiL2^V+qBTRGe4fb8(n6h<)b@F&v_e{urDxu{ zbn)5xEzuIba2ukuD5dC-=7p^Hm0MpSesS0HckAZ*3%3Wo{R?KT9xZQK>^a^+N4SC6 zbeudi^xE=5eObr`_uE{S&R41zpCd9~UvvYz-Sz6P+OG5(yVlEogUep86!x}lmsaHn zE=BSeHG6?(zdydc(88MDU1_d(en*~hDx$AKBO1f7=PjA03Vt(&3DYh2n5 zCD9;>%`r&qAE30`;oeS=q+pDaNTEur8zOk&tw6Z&1yb#?NRs*ZB)`^il$a?J(;AZ5lkk5dWK%NA73gl@bIZSnK;0faiM7T*6&d(u)sTN{e(cv<<;Wh1+Et*9h z#<7ESid@B}*b{D(;v0pvBE_R15WWh3(|(s?QAb4ad#cq7ba+k6WHKx>g|tBX{n_{a zVE<{=FpT_J>KYXJD&|~eu6o(XVaxyf#b&d4TI_6EX&XC~k2K9FtSfc&T`qQJ9_EER zTX+SZU%dOrziq$y=T%*08=s>Q{qscf&k!;8&y#X$mHG4Y1_KmunsE(2tC$8FWPnPV z=?iHlKq<|1F3kj}rI}{aOn_pV>A5r$pqgef(@cPJnyH*-0@Tw?l{6DfAJ%7<}?AQU-0aSRbxhq|y zAz;$&PN%C%f}$@vd~Z)QSA4HCfnp;2M6_2*nWGXSVO)%{U$VYB235w3!WBLxa;gpx z!5h^(cMfBDv!yimf47|4+QK=)vh{f)`AbBWqx?L~$OlE+L!YbLbsWrinaCu3ga!@b ztg?qXUA3$QdQJZ#$nzjqK)wWWmB=YLA3RyC{@)xCa?G5CgEp*wl{qtLs)DmyZFQwd}m`XY@zpill9kvCB8FOa!eGpXF$du=?!vLadjm`YcD)XYvPYW+u=OiDm6`)iu>VHBKv6)C=vgZ=)0IyGG63|-C?miQiTkjZITtuU0h zjYyb!H!<)-1^7uk`fB*CF?c4G2CY#8MY{eKA`HGt4ZqYIzK&sdFExClH@uEv_%k*9 za&P!1hT-AV@GHIHTNsAVQ^Om*;oH=hStNodlLbUmz5*9PdFuv$)AQ-ecJZYWYu&mf z_H6_|yj!3Ltnnv@y>WK+%~774^9Lx+Ma-0U|Z6zC#X z{Z%^PLa*{Q^iAr*OB?#DMA^?`K97AE>lo~()PoZQjMz`80q;d^&0sJs_#-@h6U@TI zj-k}MxjlkWe~S+I^dJR}U5y(0>-1ZQD~np}1Hwu#ma_L_9fSRtdVO5|h&lsY!8Z@% z3O@Q6S4S9Ef(|$zCas3vqD}~;HnrFfW7uIoh;>II;!M+{`)Vm2lp^g{^6zYj%KpkN~-KPVdiu@Gaj?h28 zhW<8h8Zdz*Uw1nNF@1_=}j&>=j{Am=a8C-bX&_07jF{PkN5xj(8? z)PV7425FpP{rOev!KuF(3(TSsuwpd+%pg!FXGOpsIV+rRk`+#PBrD7+xd52gNLFYp L$qLPlVm + + + +IoGame + + + + +

+ Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. + + + + + Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las + búsquedas de recursos mediante esta clase de recurso fuertemente tipado. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + + Busca un recurso adaptado de tipo System.Drawing.Bitmap. + + + + diff --git a/IoGame/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/IoGame/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000000000000000000000000000000000000..bcc3f2db3ed24a2d1fb4d84723a6cc6a763e3cdc GIT binary patch literal 7168 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 OpSDY%_5c5iz<&UTdEPAm literal 0 HcmV?d00001 diff --git a/Server/App.config b/Server/App.config new file mode 100644 index 0000000..49c50e0 --- /dev/null +++ b/Server/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Server/ApplicationEvents.vb b/Server/ApplicationEvents.vb new file mode 100644 index 0000000..ba6bd6b --- /dev/null +++ b/Server/ApplicationEvents.vb @@ -0,0 +1,18 @@ +Namespace My + ' Los siguientes eventos están disponibles para MyApplication: + ' + ' Inicio: se desencadena cuando se inicia la aplicación, antes de que se cree el formulario de inicio. + ' Apagado: generado después de cerrar todos los formularios de la aplicación. Este evento no se genera si la aplicación termina de forma anómala. + ' UnhandledException: generado si la aplicación detecta una excepción no controlada. + ' StartupNextInstance: se desencadena cuando se inicia una aplicación de instancia única y la aplicación ya está activa. + ' NetworkAvailabilityChanged: se desencadena cuando la conexión de red está conectada o desconectada. + Partial Friend Class MyApplication + + Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException + MsgBox("Shit! Unhandled exception:" & vbCrLf & e.Exception.Message, MsgBoxStyle.Critical, "Error en Servidor") + e.ExitApplication = False + End Sub + End Class + + +End Namespace \ No newline at end of file diff --git a/Server/CC.Designer.vb b/Server/CC.Designer.vb new file mode 100644 index 0000000..a5121e2 --- /dev/null +++ b/Server/CC.Designer.vb @@ -0,0 +1,29 @@ + _ +Partial Class CC + Inherits System.Windows.Forms.UserControl + + 'UserControl reemplaza a Dispose para limpiar la lista de componentes. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de Windows Forms + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento + 'Se puede modificar usando el Diseñador de Windows Forms. + 'No lo modifique con el editor de código. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + Me.DoubleBuffered = True + End Sub + +End Class diff --git a/Server/CC.vb b/Server/CC.vb new file mode 100644 index 0000000..a19c4b5 --- /dev/null +++ b/Server/CC.vb @@ -0,0 +1,52 @@ +Public Class CC + + + Public Puntos As New List(Of List(Of Integer)) + Public Colors As New List(Of Color) + + Public Property Maximun As Integer = 100 + Public Property AutoMax As Boolean = True + + Public Property LineColor As Color = Color.DimGray + Public Property LineWidth As Integer = 2 + + + Private Sub SetMax() + + Dim max As Integer = Maximun + For Each V As List(Of Integer) In Puntos + For Each b As Integer In V + max = Math.Max(max, b) + Next + Next + If AutoMax Then Maximun = max + + End Sub + + Sub DrawLine(index As Integer, ByRef g As Graphics) + + Dim x = (Width / Puntos(index).Count) + Dim p As New Pen(Colors(index), LineWidth) + For i = 0 To Puntos(index).Count - 2 + + g.DrawLine(p, CSng(i * x), Height - CSng((Puntos(index)(i) * Height) / Maximun), CSng((i + 1) * x), Height - CSng((Puntos(index)(i + 1) * Height) / Maximun)) + + Next + p = Nothing + + End Sub + + Private Sub Chart_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint + + If Puntos(0).Count = 0 Then Exit Sub + + SetMax() + For i = 0 To Puntos.Count - 1 + DrawLine(i, e.Graphics) + Next + + End Sub + + + +End Class diff --git a/Server/Clases/Data_Get.vb b/Server/Clases/Data_Get.vb new file mode 100644 index 0000000..90f71a7 --- /dev/null +++ b/Server/Clases/Data_Get.vb @@ -0,0 +1,273 @@ + + + +Public Class Data_Get + + Public Property TipoDato As TipoDato + Public Property Value As Object + +End Class + +Public Enum TipoDato + Location + ChangeAngle + + Muerte + Mensaje + Pausa + + Disparo + Nombre + NewPlayer + + Gun + ResetGuns + +End Enum + +Public Enum TipoArma + x99x + M14 + M9 + Rifle + R49 + Sub55 + + +End Enum + +Public Module DataGet_Converter + + Public Function dataToString(ByRef dt As Data_Get) As String + Dim values As New List(Of String) ' Valores a enviar + values.Add(dt.TipoDato) + + Select Case dt.TipoDato + Case TipoDato.Location + Dim k As S_Location = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.X) + .Add(k.Y) + End With + k = Nothing + + Case TipoDato.ChangeAngle + Dim k As S_ChangeAngle = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Angle) + End With + k = Nothing + + Case TipoDato.Muerte + Dim k As S_Muerte = dt.Value + With values + .Add(k.Asesino.ToArgb) + .Add(k.Victima.ToArgb) + End With + k = Nothing + + Case TipoDato.Mensaje + Dim k As S_Mensaje = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Msg) + End With + k = Nothing + + Case TipoDato.Pausa + Dim k As S_Pausa = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(IIf(k.Pausa, 1, 0)) + End With + k = Nothing + + Case TipoDato.Disparo + Dim k As R_Disparo = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.X) + .Add(k.Y) + .Add(k.W) + .Add(k.H) + .Add(k.xVel) + .Add(k.yVel) + .Add(IIf(k.Used, 1, 0)) + .Add(k.Daño) + End With + k = Nothing + + Case TipoDato.Nombre + Dim k As S_Nombre = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Nombre) + End With + k = Nothing + + Case TipoDato.NewPlayer + Dim k As R_MiniPlayer = dt.Value + With values + .Add(k.Color.ToArgb) + .Add(k.Nombre) + .Add(k.Puntaje) + .Add(k.X) + .Add(k.Y) + .Add(k.W) + .Add(k.H) + .Add(k.Angle) + .Add(k.Precision) + .Add(k.Vel) + .Add(k.Vida) + End With + k = Nothing + + + + Case TipoDato.Gun + Dim k As S_Gun = dt.Value + With values + .Add(k.X) + .Add(k.Y) + .Add(k.Gun) + End With + k = Nothing + + Case TipoDato.ResetGuns + ' Do not nothing + + + + End Select + + Dim x As String = String.Join("|", values) + values = Nothing + Return x + End Function + + Public Function dataFromString(ByRef str As String) As Data_Get + Dim values = str.Split("|") + Dim x As New Data_Get + + + x.TipoDato = CType(values(0), TipoDato) + Select Case x.TipoDato + + Case TipoDato.Location + Dim k As New S_Location + With k + .Color = Color.FromArgb(values(1)) + .X = values(2) + .Y = values(3) + End With + x.Value = k + k = Nothing + + Case TipoDato.ChangeAngle + Dim k As New S_ChangeAngle + With k + .Color = Color.FromArgb(values(1)) + .Angle = values(2) + End With + x.Value = k + k = Nothing + + + + Case TipoDato.Muerte + Dim k As New S_Muerte + With k + .Asesino = Color.FromArgb(values(1)) + .Victima = Color.FromArgb(values(2)) + End With + x.Value = k + k = Nothing + + Case TipoDato.Mensaje + Dim k As New S_Mensaje + With k + .Color = Color.FromArgb(values(1)) + .Msg = values(2) + End With + x.Value = k + k = Nothing + + Case TipoDato.Pausa + Dim k As New S_Pausa + With k + .Color = Color.FromArgb(values(1)) + .Pausa = values(2) + End With + x.Value = k + k = Nothing + + Case TipoDato.Disparo + Dim k As New R_Disparo + With k + .Color = Color.FromArgb(values(1)) + .X = values(2) + .Y = values(3) + .W = values(4) + .H = values(5) + .xVel = values(6) + .yVel = values(7) + .Used = values(8) + .Daño = values(9) + End With + x.Value = k + k = Nothing + + Case TipoDato.Nombre + Dim k As New S_Nombre + With k + .Color = Color.FromArgb(values(1)) + .Nombre = values(2) + End With + x.Value = k + k = Nothing + + Case TipoDato.NewPlayer + Dim k As New R_MiniPlayer + With k + .Color = Color.FromArgb(values(1)) + .Nombre = values(2) + .Puntaje = values(3) + .X = values(4) + .Y = values(5) + .W = values(6) + .H = values(7) + .Angle = values(8) + .Precision = values(9) + .Vel = values(10) + .Vida = values(11) + End With + x.Value = k + k = Nothing + + Case TipoDato.Gun + Dim k As New S_Gun + With k + .X = values(1) + .Y = values(2) + .Gun = values(3) + End With + x.Value = k + k = Nothing + + Case TipoDato.ResetGuns + ' Do not nothing + + + End Select + + + + values = Nothing + Return x + End Function + + +End Module + diff --git a/Server/Clases/Data_InOut.vb b/Server/Clases/Data_InOut.vb new file mode 100644 index 0000000..816b56d --- /dev/null +++ b/Server/Clases/Data_InOut.vb @@ -0,0 +1,55 @@ + + +' Clases para +' Enviar y recibir informacion + +Public Class S_Location + + Public Property Color As Color + Public Property X As Short + Public Property Y As Short + +End Class + +Public Class S_ChangeAngle + + Public Property Color As Color + Public Property Angle As Short + +End Class + +Public Class S_Muerte + + Public Property Asesino As Color + Public Property Victima As Color + +End Class + +Public Class S_Pausa + + Public Property Color As Color + Public Property Pausa As Boolean + +End Class + +Public Class S_Mensaje + + Public Property Color As Color + Public Property Msg As String + +End Class + +Public Class S_Nombre + + Public Property Color As Color + Public Property Nombre As String + +End Class + +Public Class S_Gun + + Public Property X As Short + Public Property Y As Short + Public Property Gun As TipoArma = TipoArma.M9 + +End Class diff --git a/Server/Clases/Data_Red.vb b/Server/Clases/Data_Red.vb new file mode 100644 index 0000000..13ff80e --- /dev/null +++ b/Server/Clases/Data_Red.vb @@ -0,0 +1,44 @@ + + +' Clases para +' Almacenar datos de red + + + + +Public Class R_MiniPlayer + + Public Property Color As Color = Color.Transparent + Public Property Nombre As String + Public Property Puntaje As UShort + + Public Property X As Short + Public Property Y As Short + Public Property W As UShort = 30 + Public Property H As UShort = 30 + + Public Property Angle As Short + Public Property Precision As Byte = 30 + Public Property Vel As Short + + Public Property Vida As UShort = 100 + +End Class + +Public Class R_Disparo + + Public Property Color As Color + + Public Property X As Short + Public Property Y As Short + Public Property W As Byte = 10 + Public Property H As Byte = 10 + + Public Property xVel As Short + Public Property yVel As Short + + Public Property Used As Boolean = False + Public Property Daño As Byte = 10 + +End Class + diff --git a/Server/Clases/Player.Designer.vb b/Server/Clases/Player.Designer.vb new file mode 100644 index 0000000..aa42504 --- /dev/null +++ b/Server/Clases/Player.Designer.vb @@ -0,0 +1,46 @@ +Partial Class Player + Inherits System.ComponentModel.Component + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Requerido para la compatibilidad con el Diseñador de composiciones de clases Windows.Forms + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + + Public Sub New() + MyBase.New() + + 'El Diseñador de componentes requiere esta llamada. + InitializeComponent() + End Sub + + 'Component reemplaza a Dispose para limpiar la lista de componentes. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de componentes + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de componentes requiere el siguiente procedimiento + 'Se puede modificar usando el Diseñador de componentes. + 'No lo modifique con el editor de código. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/Server/Clases/Player.vb b/Server/Clases/Player.vb new file mode 100644 index 0000000..c084908 --- /dev/null +++ b/Server/Clases/Player.vb @@ -0,0 +1,278 @@ + +Public Class Player + + Public R As Random + +#Region " MiniPlayer " + + Public Property Color As Color + Public Property Nombre As String + Public Property Puntaje As UShort + + Public Property X As Short + Public Property Y As Short + Public Property W As UShort = 30 + Public Property H As UShort = 30 + + Public Property Angle As Short + Public Property Precision As Byte = 30 + + Public Property Vida As UShort = 100 + + Public Function GetMiniPlayer() As R_MiniPlayer + Dim k As New R_MiniPlayer With { + .Nombre = Nombre, + .Color = Color, + .Puntaje = Puntaje, + .X = X, + .Y = Y, + .W = W, + .H = H, + .Angle = Angle, + .vel = Vel, + .Precision = Precision, + .Vida = Vida + } + Return k + End Function + +#End Region + +#Region " Propiedades " + + Public Disparos As New List(Of R_Disparo) + +#Region " Disparos " + + Public Property D_Presicion As Byte = 4 + + Public Property D_MinVel As Byte = MaxVel + Public Property D_MaxVel As Byte = 25 + + Public Property D_MaxW As Byte = 15 + Public Property D_MaxH As Byte = 15 + Public Property D_MinW As Byte = 3 + Public Property D_MinH As Byte = 3 + + Public Property D_CantidadPer As Byte = 1 + Public Property D_Actual As Byte = 10 + Public Property D_Max As Byte = 10 + + Public Property D_MinDaño As Byte = 5 + Public Property D_MaxDaño As Byte = 10 + + +#End Region + +#Region " Area de Juego " + + ' Area de Juego + Public Property GameLocation As New Point + Public Property GameSize As Size = New Size(800, 600) + + +#End Region + +#Region " Control " + + ' Teclas + Public Property UseMouseControls As Boolean = True + Public Property KeyUp As Keys = Keys.Up + Public Property KeyLeft As Keys = Keys.Left + Public Property KeyRight As Keys = Keys.Right + Public Property KeyDown As Keys = Keys.Down + + ' Velocidad + Public Property RotVel As Short = 5 + Public Property Vel As Short = 0 + Public Property MaxVel As Short = 10 + Public Property MinVel As Short = -10 + Public Property Aceleracion As Short = 2 + Public Property Desaceleracion As Short = 1 + Public Property Freno As Short = 5 + +#End Region + +#End Region + +#Region " Eventos " + + Public Event Refresh(ByRef sender As Player) + Public Event Disparo(ByRef sender As Player, ByRef e As R_Disparo) + + Public Event StartMove(ByRef sender As Player) + Public Event StopMove(ByRef sender As Player) + Public Event ChangeAngle(ByRef sender As Player) + + +#End Region + +#Region " Procedimientos " + +#Region " Teclado " + Dim Tecla(4) As Boolean + Public Sub KeysDown(e As KeyEventArgs) + Select Case e.KeyData + Case KeyUp : Tecla(0) = True + Case KeyLeft : Tecla(1) = True + Case KeyRight : Tecla(2) = True + Case KeyDown : Tecla(3) = True + End Select + End Sub + Public Sub KeysUp(e As KeyEventArgs) + Select Case e.KeyData + Case KeyUp : Tecla(0) = False + Case KeyLeft : Tecla(1) = False + Case KeyRight : Tecla(2) = False + Case KeyDown : Tecla(3) = False + End Select + End Sub +#End Region + +#Region " Disparos " + + Public Sub MoverDisparos() + If Disparos.Count = 0 Then Exit Sub + + + Dim z As R_Disparo + For i = Disparos.Count - 1 To 0 Step -1 + z = Disparos(i) + z.X += z.xVel + z.Y += z.yVel + + If z.X < z.W Or + z.X > GameSize.Width Or + z.Y < z.H Or + z.Y > GameSize.Height Then + + Disparos.RemoveAt(i) + + End If + Next + + + + End Sub + Public Sub Disparar() + + ' Si no hay balas, recargar. + If D_Actual = 0 Then D_Actual = D_Max : Exit Sub + + ' Disparar la cantidad de balas que se permita por vez + For i = 1 To D_CantidadPer + + ' Si ya no hay mas balas que tirar, salir. + If D_Actual = 0 Then Exit Sub + D_Actual -= 1 + + ' Crear Bala a Disparar + Dim k As New R_Disparo + k.Color = Me.Color + k.Daño = R.Next(D_MinDaño, D_MaxDaño) + k.W = R.Next(D_MinW, D_MaxW) + k.H = k.W + k.X = (X + (W / 2)) - (k.W / 2) + k.Y = (Y + (H / 2)) - (k.H / 2) + k.Used = False + k.xVel = R.Next(D_MinVel, D_MaxVel) * Math.Cos((R.Next(Angle - (D_Presicion / 2), Angle + (D_Presicion / 2))) * (Math.PI / 180)) + k.yVel = R.Next(D_MinVel, D_MaxVel) * Math.Sin((R.Next(Angle - (D_Presicion / 2), Angle + (D_Presicion / 2))) * (Math.PI / 180)) + + + Disparos.Add(k) + RaiseEvent Disparo(Me, k) + k = Nothing + + Next + + Vel = Math.Max(Vel - (Freno * 3), MinVel) + End Sub + +#End Region + +#Region " Movimiento " + + + Private Sub SetFromTeclas() + + ' Left + If Tecla(1) Then + Angle -= RotVel '((Vel * RotVel) / MaxVel) 'For Car Physics + If Angle < 0 Then Angle = Angle - 360 + End If + ' Rigth + If Tecla(2) Then + Angle += RotVel '((Vel * RotVel) / MaxVel) 'For Car Physics + If Angle >= 360 Then Angle -= 360 + End If + + + ' Up + If Tecla(0) Then + If Vel < 0 Then : Vel = Math.Min(Vel + Freno, 0) + Else : Vel = Math.Min(Vel + Aceleracion, MaxVel) : End If + End If + ' Down + If Tecla(3) Then + If Vel > 0 Then : Vel = Math.Max(Vel - Freno, 0) + Else : Vel = Math.Max(Vel - Aceleracion, MinVel) : End If + End If + + + End Sub + Private Sub MoveThis() + + X += Vel * Math.Cos((Angle) * (Math.PI / 180)) + Y += Vel * Math.Sin((Angle) * (Math.PI / 180)) + + If Tecla(0) = False And Tecla(3) = False Then + + If Vel < 0 Then + Vel = Math.Min(Vel + Desaceleracion, 0) + Else + Vel = Math.Max(Vel - Desaceleracion, 0) + End If + End If + + + X = Math.Max(GameLocation.X, X) + X = Math.Min(X, GameSize.Width - W) + Y = Math.Max(GameLocation.Y, Y) + Y = Math.Min(Y, GameSize.Height - H) + + + End Sub + + + Public Sub Move() + + Dim tempVel = Vel + Dim tempAngle = Angle + Dim refr As Boolean = False + + SetFromTeclas() + If Vel <> 0 Then MoveThis() + + + If tempAngle <> Angle Then + RaiseEvent ChangeAngle(Me) + refr = True + End If + If tempVel <> Vel Then + + If Vel = 0 Then : RaiseEvent StopMove(Me) + ElseIf tempVel = 0 Then : RaiseEvent StartMove(Me) : End If + refr = True + End If + + If refr Then RaiseEvent Refresh(Me) + + End Sub + + +#End Region + +#End Region + + +End Class diff --git a/Server/My Project/Application.Designer.vb b/Server/My Project/Application.Designer.vb new file mode 100644 index 0000000..ff8a5e2 --- /dev/null +++ b/Server/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Server.Server + End Sub + End Class +End Namespace diff --git a/Server/My Project/Application.myapp b/Server/My Project/Application.myapp new file mode 100644 index 0000000..7b0c597 --- /dev/null +++ b/Server/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + 0 + true + diff --git a/Server/My Project/AssemblyInfo.vb b/Server/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..ebf0ed5 --- /dev/null +++ b/Server/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' La información general de un ensamblado se controla mediante el siguiente +' conjunto de atributos. Cambie estos valores de atributo para modificar la información +' asociada con un ensamblado. + +' Revisar los valores de los atributos del ensamblado + + + + + + + + + + +'El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. + + +' La información de versión de un ensamblado consta de los cuatro valores siguientes: +' +' Versión principal +' Versión secundaria +' Número de compilación +' Revisión +' +' Puede especificar todos los valores o utilizar los números de compilación y de revisión predeterminados +' mediante el carácter '*', como se muestra a continuación: +' + + + diff --git a/Server/My Project/Resources.Designer.vb b/Server/My Project/Resources.Designer.vb new file mode 100644 index 0000000..67be913 --- /dev/null +++ b/Server/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Server.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Server/My Project/Resources.resx b/Server/My Project/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/Server/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Server/My Project/Settings.Designer.vb b/Server/My Project/Settings.Designer.vb new file mode 100644 index 0000000..ec8fe82 --- /dev/null +++ b/Server/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Server.My.MySettings + Get + Return Global.Server.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Server/My Project/Settings.settings b/Server/My Project/Settings.settings new file mode 100644 index 0000000..377f56d --- /dev/null +++ b/Server/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Server/Server.Designer.vb b/Server/Server.Designer.vb new file mode 100644 index 0000000..3cf7cc7 --- /dev/null +++ b/Server/Server.Designer.vb @@ -0,0 +1,195 @@ + +Partial Class Server + Inherits System.Windows.Forms.Form + + 'Form reemplaza a Dispose para limpiar la lista de componentes. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de Windows Forms + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento + 'Se puede modificar usando el Diseñador de Windows Forms. + 'No lo modifique con el editor de código. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.wsk = New Winsock_Orcas.Winsock() + Me.upBytes = New System.Windows.Forms.Label() + Me.downBytes = New System.Windows.Forms.Label() + Me.LinkLabel1 = New System.Windows.Forms.LinkLabel() + Me.tData = New System.Windows.Forms.Timer(Me.components) + Me.LinkLabel2 = New System.Windows.Forms.LinkLabel() + Me.LinkLabel4 = New System.Windows.Forms.LinkLabel() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.tGun = New System.Windows.Forms.Timer(Me.components) + Me.Panel1.SuspendLayout() + Me.Panel2.SuspendLayout() + Me.SuspendLayout() + ' + 'wsk + ' + Me.wsk.BufferSize = 8192 + Me.wsk.LegacySupport = False + Me.wsk.LocalPort = 8080 + Me.wsk.MaxPendingConnections = 25 + Me.wsk.Protocol = Winsock_Orcas.WinsockProtocol.Tcp + Me.wsk.RemoteHost = "localhost" + Me.wsk.RemotePort = 8080 + ' + 'upBytes + ' + Me.upBytes.Anchor = System.Windows.Forms.AnchorStyles.Right + Me.upBytes.Location = New System.Drawing.Point(286, 26) + Me.upBytes.Name = "upBytes" + Me.upBytes.Size = New System.Drawing.Size(84, 13) + Me.upBytes.TabIndex = 23 + Me.upBytes.Text = "0 bytes/s" + Me.upBytes.TextAlign = System.Drawing.ContentAlignment.MiddleRight + ' + 'downBytes + ' + Me.downBytes.Anchor = System.Windows.Forms.AnchorStyles.Right + Me.downBytes.Location = New System.Drawing.Point(289, 44) + Me.downBytes.Name = "downBytes" + Me.downBytes.Size = New System.Drawing.Size(81, 13) + Me.downBytes.TabIndex = 22 + Me.downBytes.Text = "0 bytes/s" + Me.downBytes.TextAlign = System.Drawing.ContentAlignment.MiddleRight + ' + 'LinkLabel1 + ' + Me.LinkLabel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.LinkLabel1.AutoSize = True + Me.LinkLabel1.LinkArea = New System.Windows.Forms.LinkArea(8, 3) + Me.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline + Me.LinkLabel1.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel1.Location = New System.Drawing.Point(178, 50) + Me.LinkLabel1.Name = "LinkLabel1" + Me.LinkLabel1.Size = New System.Drawing.Size(60, 20) + Me.LinkLabel1.TabIndex = 19 + Me.LinkLabel1.TabStop = True + Me.LinkLabel1.Text = "Server: OFF" + Me.LinkLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.LinkLabel1.UseCompatibleTextRendering = True + ' + 'tData + ' + Me.tData.Enabled = True + Me.tData.Interval = 1000 + ' + 'LinkLabel2 + ' + Me.LinkLabel2.AutoSize = True + Me.LinkLabel2.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel2.LinkArea = New System.Windows.Forms.LinkArea(4, 20) + Me.LinkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline + Me.LinkLabel2.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel2.Location = New System.Drawing.Point(12, 11) + Me.LinkLabel2.Name = "LinkLabel2" + Me.LinkLabel2.Size = New System.Drawing.Size(110, 31) + Me.LinkLabel2.TabIndex = 31 + Me.LinkLabel2.TabStop = True + Me.LinkLabel2.Text = "IP: localhost" + Me.LinkLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.LinkLabel2.UseCompatibleTextRendering = True + ' + 'LinkLabel4 + ' + Me.LinkLabel4.AutoSize = True + Me.LinkLabel4.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LinkLabel4.LinkArea = New System.Windows.Forms.LinkArea(8, 20) + Me.LinkLabel4.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline + Me.LinkLabel4.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(122, Byte), Integer), CType(CType(204, Byte), Integer)) + Me.LinkLabel4.Location = New System.Drawing.Point(12, 42) + Me.LinkLabel4.Name = "LinkLabel4" + Me.LinkLabel4.Size = New System.Drawing.Size(116, 31) + Me.LinkLabel4.TabIndex = 32 + Me.LinkLabel4.TabStop = True + Me.LinkLabel4.Text = "Puerto: 8080" + Me.LinkLabel4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.LinkLabel4.UseCompatibleTextRendering = True + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(60, Byte), Integer), CType(CType(60, Byte), Integer)) + Me.Panel1.Controls.Add(Me.LinkLabel4) + Me.Panel1.Controls.Add(Me.downBytes) + Me.Panel1.Controls.Add(Me.LinkLabel2) + Me.Panel1.Controls.Add(Me.upBytes) + Me.Panel1.Controls.Add(Me.LinkLabel1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel1.Location = New System.Drawing.Point(0, -2) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(382, 83) + Me.Panel1.TabIndex = 33 + ' + 'Panel2 + ' + Me.Panel2.Controls.Add(Me.Panel3) + Me.Panel2.Dock = System.Windows.Forms.DockStyle.Fill + Me.Panel2.Location = New System.Drawing.Point(0, 0) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(382, 0) + Me.Panel2.TabIndex = 34 + ' + 'Panel3 + ' + Me.Panel3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom), System.Windows.Forms.AnchorStyles) + Me.Panel3.AutoScroll = True + Me.Panel3.AutoScrollMargin = New System.Drawing.Size(0, 5) + Me.Panel3.Location = New System.Drawing.Point(66, 22) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(250, 0) + Me.Panel3.TabIndex = 31 + ' + 'tGun + ' + Me.tGun.Enabled = True + Me.tGun.Interval = 5000 + ' + 'Server + ' + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(50, Byte), Integer), CType(CType(50, Byte), Integer), CType(CType(50, Byte), Integer)) + Me.ClientSize = New System.Drawing.Size(382, 81) + Me.Controls.Add(Me.Panel2) + Me.Controls.Add(Me.Panel1) + Me.DoubleBuffered = True + Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ForeColor = System.Drawing.Color.White + Me.MinimumSize = New System.Drawing.Size(398, 120) + Me.Name = "Server" + Me.ShowIcon = False + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Server - IoGame" + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + Me.Panel2.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents wsk As Winsock_Orcas.Winsock + Friend WithEvents upBytes As Label + Friend WithEvents downBytes As Label + Friend WithEvents LinkLabel1 As LinkLabel + Friend WithEvents tData As Timer + Friend WithEvents LinkLabel2 As LinkLabel + Friend WithEvents LinkLabel4 As LinkLabel + Friend WithEvents Panel1 As Panel + Friend WithEvents Panel2 As Panel + Friend WithEvents Panel3 As Panel + Friend WithEvents tGun As Timer +End Class diff --git a/Server/Server.resx b/Server/Server.resx new file mode 100644 index 0000000..049b5b3 --- /dev/null +++ b/Server/Server.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 89, 17 + + + 170, 17 + + \ No newline at end of file diff --git a/Server/Server.vb b/Server/Server.vb new file mode 100644 index 0000000..bea90f8 --- /dev/null +++ b/Server/Server.vb @@ -0,0 +1,258 @@ +Imports Winsock_Orcas + +Public Class Server + + Dim r As New Random + + +#Region " Data Up/Down - Server ON/OFF" + + + Dim bUp As UInteger = 0 + Dim bDown As UInteger = 0 + + + + ' Data Up/Down - Clientes Conectados - Vaiar buffer antiguo + Private Sub tData_Tick(sender As Object, e As EventArgs) Handles tData.Tick + + 'For Each w As Winsock In Clientes.Values + ' While w.HasData : w.Get() : End While + 'Next + + + ' -- Mode: Show every seconds -- + downBytes.Text = bDown & " bytes/s" + upBytes.Text = bUp & " bytes/s" + bUp = 0 + bDown = 0 + + Application.DoEvents() + + End Sub + + ' Server ON/OFF + Private Sub ServerOnOff() Handles LinkLabel1.LinkClicked + Try + If wsk.State = Winsock_Orcas.WinsockStates.Closed Then + wsk.Listen() + Else + wsk.Close() + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical, "Error") + Finally + If wsk.State = Winsock_Orcas.WinsockStates.Listening Then + LinkLabel1.Text = "Server: ON" + Else + LinkLabel1.Text = "Server: OFF" + End If + End Try + End Sub + + + ' Load: Encender Servidor + Private Sub Server_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Randomize() + ServerOnOff() + End Sub + + +#End Region + +#Region " Game Property " + + Dim GameSize As New Size(800, 600) + +#End Region + + +#Region " Clientes.Eventos " + + Friend WithEvents Clientes As New Winsock_Orcas.WinsockCollection(True) + Dim Jugadores As New List(Of R_MiniPlayer) + + ' -- Intento de Conexion + Private Sub wsk_ConnectionRequest(sender As Object, e As WinsockConnectionRequestEventArgs) Handles wsk.ConnectionRequest + Clientes.Accept(e.Client) + End Sub + + ' -- Conexion + Private Sub Clientes_Connected(sender As Winsock, e As WinsockConnectedEventArgs) Handles Clientes.Connected + + HayConexion(e.SourceIP) + + '' Enviar jugadores remotos al recien ingresado + 'For Each k As R_MiniPlayer In Jugadores + + ' Dim z As New Data_Get + ' z.TipoDato = TipoDato.NewPlayer + ' z.Value = k + + ' ' Send + ' sender.Send(DataGet_Converter.dataToString(z)) + + ' ' Clear + ' z = Nothing + + 'Next + + 'Jugadores.Add(New R_MiniPlayer) + + + End Sub + ' -- Desconexion + Private Sub Clientes_Disconnected(sender As Object, e As EventArgs) Handles Clientes.Disconnected + + HayDesconexion() + + 'For Each J As vPlayer In Panel3.Controls + ' J.En = False + 'Next + 'Panel3.Invalidate(True) + + 'For Each wk As Winsock In Clientes.Values + ' If wk.State = WinsockStates.Connected Then + ' ' Enviar Cambios de MiJugador + ' Dim k As New DataIn With {.TipoDato = TipoDato.ResetPlayers} + ' wk.Send(DataInConverter.dataToString(k)) + ' k = Nothing + ' End If + 'Next + + End Sub + ' -- Error + Private Sub Clientes_ErrorReceived(sender As Object, e As WinsockErrorReceivedEventArgs) Handles Clientes.ErrorReceived + + If wsk.State = WinsockStates.Closed Then HayDesconexion() + ' MsgBox("Error en Servidor" & vbCrLf & e.Message, MsgBoxStyle.Critical, "Error") + + End Sub + + ' -- Enviar Datos + Private Sub Clientes_SendComplete(sender As Object, e As WinsockSendEventArgs) Handles Clientes.SendComplete + bUp += e.BytesSent + + End Sub + ' -- Recibir Datos + Private Sub Clientes_DataArrival(sender As Winsock, e As WinsockDataArrivalEventArgs) Handles Clientes.DataArrival + bDown += e.TotalBytes ' Contador de Bytes + + Dim d = sender.Get(Of String)() + + For Each wk As Winsock In Clientes.Values + If wk IsNot sender Then wk.Send(d) + Next + + + + + + 'Dim dI = DataGet_Converter.dataFromString(d) + 'Select Case dI.TipoDato + ' Case TipoDato.NewPlayer + ' Dim m = CType(dI.Value, R_MiniPlayer) + ' For i = 0 To Jugadores.Count - 1 'Each k As R_MiniPlayer In Jugadores + ' If Jugadores(i).Color = m.Color Then + ' Jugadores(i) = m + ' End If + ' Next + + + + + 'End Select + + + + 'd = Nothing + + + End Sub + + + + Sub HayConexion(ip As String) + + ' Informar al Administrador de Servidor + 'MsgBox("> Servidor <" & vbCrLf & "Conexion: " & ip) + + End Sub + Sub HayDesconexion() + + ' MsgBox("> Servidor <" & vbCrLf & "Desconexion de Jugador.", MsgBoxStyle.Information, "Servidor") + + End Sub + + + + + + Private Sub Send_Gun() + Dim x As New S_Gun + x.X = r.Next(60, GameSize.Width - 60) + x.Y = r.Next(60, GameSize.Height - 60) + x.Gun = r.Next(0, 6) + Dim z As New Data_Get + z.TipoDato = TipoDato.Gun + z.Value = x + Dim data = DataGet_Converter.dataToString(z) + + + For Each w As Winsock In Clientes.Values + w.Send(data) + Next + + x = Nothing + z = Nothing + data = Nothing + + End Sub + Private Sub Send_ResetGun() + Dim z As New Data_Get + z.TipoDato = TipoDato.ResetGuns + z.Value = Nothing + Dim data = DataGet_Converter.dataToString(z) + + + For Each w As Winsock In Clientes.Values + w.Send(data) + Next + + z = Nothing + data = Nothing + End Sub + + + + Sub Desconectar(ip As String) + + For i = Clientes.Values.Count - 1 To 0 Step -1 ' Each w As Winsock In Clientes + Dim w As Winsock = Clientes.Values(i) + If w.State = WinsockStates.Connected Then + If w.RemoteHost = ip Then + Clientes.Remove(index:=i) + End If + End If + w = Nothing + Next + + End Sub + + Dim GunOk As Boolean = False + Private Sub tGun_Tick(sender As Object, e As EventArgs) Handles tGun.Tick + If GunOk Then + Send_ResetGun() + Else + Send_Gun() + End If + + + End Sub + + + +#End Region + + +End Class diff --git a/Server/Server.vbproj b/Server/Server.vbproj new file mode 100644 index 0000000..733c237 --- /dev/null +++ b/Server/Server.vbproj @@ -0,0 +1,148 @@ + + + + + Debug + AnyCPU + {22113D2C-63BE-429C-9695-BCA8B45C138E} + WinExe + Server.My.MyApplication + Server + Server + 512 + WindowsForms + v4.5 + + + AnyCPU + true + full + true + true + bin\Debug\ + Server.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + Server.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + ..\..\Ejemplos Vb.Net\Winsock Orcas.dll + + + + + + + + + + + + + + + + + + + CC.vb + + + UserControl + + + + + + Player.vb + + + Component + + + Form + + + Server.vb + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + vPlayer.vb + + + UserControl + + + + + Server.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + vPlayer.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/Server/bin/Debug/Server.exe b/Server/bin/Debug/Server.exe new file mode 100644 index 0000000000000000000000000000000000000000..44b41f9a6e72130ded7a9b5ec6d6e718b1820305 GIT binary patch literal 49152 zcmdSC34B!L^*4U*oqZ;gWM+~{LbeG44ul=lpjHzIo9rYYaU(-AkVwdlGl_zTCW`w~ zsanOQ1+Dv5_u9IEOVwI`Y8R_iEmZrf`fIJ$YU_sY_nhasvjFzr_y2zW|Ig@$ zpYxn&KhJXSomp_)<>VkDCqCbNL-Z3|`L9vvzbAtTF0B1&AwB4OsqQDn{FmxlySme{ zzLd2ll~@<+Nc8qv{jpWaSZbg**4-OxUepp>XLTmW2ZR0*+VtX?MDq;?y>Vyxadv9E zX*dOp#Y7JR@hkMRU*Q_VXE#2ayBIE}$~QQ2GvU9OAvm)pwVz8=EdR4tEwTdsegwOV znAwedWQ;Ii{~1&Ow&zu%DjWJwt}!BSj-D6toE&+4e{y|4k<;nev5w(v` zrBfXMC2zaIu+fL{$@yzUg^W)ndn_n&UWs%aJRw4cG!jkE2%34F>lJ^THT z-~E(Al6_7qhH$HnqYekDElwQ)IDQcLQO>A^u7lX0kr|DTWY#qIx)I-<9tA0Wut3px zT&`vD(fT?@G8M@A~VkP1mmN zi8+iIXL>SoE^shUk%oPu@8zF|lW zVVtIQ=)Pe{A7Pve>#%H?Nk<|t=+X!Sb(X{%5E$@`txK&$b-n_9Gd>NFbvQ^GRqQYD z4zebx2$_5bV88u6_KmuuKgpZa=OEs3PBCSX7D;L{Wo5 zC0h$PNt6#+al{w0@TSDK$J>aJ5>Cs>OvCs2H?bA7%v#KeUo6~SPpiF+~a9$f&w0Mv2_qk$2%Zdogioy1qFRGAz*qU>c;0$ ze8TXrC*t!2K6k>OeumHA;X99k(S|u79Cswl^`ppU#7Q3RJt3!s)ZGzx*d0$Ig`Bh` zaBP11f{o9|s3hVli8veHMPivWPz*ETK^oqWH{`J}N)Ma{2Ts|~p0_08X}B`i9{Qvi z@xh)yhmuG^ zNhHwl5h^)TX7-SgAWRj83PV8)6UYIxA%W;2?y^fxfnSXZjj!g)Uz2UmI{=nCKwPZX_DkbbVE?XQ zlEC`>1kf06mP^Tzja=l9EWI{`gEa!oQf2Qj|R!iiS$9WA?GZ*!%-v3-dA9jg~}8>m5{2 zlp4Zv$rDEp^B0r^y!O2BqP-Yc7^v{4i_0!eqi>Il)}C>LwHAtj^l(^&gN$AqM>q8I zq7};{uQ<3IZ-(iDZo=np_)J0@uEz&6CZ+IchWRV-Y1jfn>CvzNHx_cTAM=zcyYY2w z9GP?z!18P3=-+;8oR%xJJV6qN-}1u$jbecv*x_P!BE$${%LJKkcCwi9WXxj0iZZ}g zc|&g7jJx3z97S|PKB`H+U z8!E8P6g1R`8Tco6q>w^|k)lvhz8Q=W6sjmwH)wQ`?J7sRh&=4tINXchLRunMY8kFj zYk5G+H9DK8X}Q*?4QyZljZx$c725eOY*>x{L%h~?M~W#_90`R&`T3qD zc0yc%bF>A_SjD!5;)W4oVKG|>Qz#sXgd+JCmWqW4Tfj06nT~i+Xq3lqVT~p-3N8H* zD<_drXpymQ5*dXSee`~jQD~8|1QHpA7X5ZDX9~T_2K-v1(*^?C#A*gmEtrVIcA>)c zODR1U0g)04VOWPsxkQq}Jc(bLX~qRwMu}wDF4E>oy`d7@T#0fEwkyCQXH<6G!z{0R z4$eZ%G8E53%rb;AZ7-OZWeCd?8)B9r3~w7^mZ7m(h*^d(=xr@#85*C3m}LmAz}8}x zA$R~AVwRyvS%_JN;0$anX2(od%Rb(xNF}k(l&lW348dpE(U@fjuEK_x9rH)qQar`( zLHd_jTN9Vw!HjeZW~BLf*CegXwy-d=Z86Ib+>H$}%MeybHpDDL@IN-hEJJV_HpDDL zSku@Lvkbw1*buV}VR2(a%rXS8VnfU_1g~a8%rexNg_s?4k6jbBes)e+hl9b$027Ui z2Vg)(K1YW$v@J5r(DW?CEJN^PvshoKc)iw@h24XS$u~u-R#@W3l6o<3pf@x^n6_PIRUc_!GYQkvkWcFLd-G* zk6~*u%h2L1#4JNgvJkTj!8zCwnPsRY3o*-3YZhXbp=DW!S@cN;bXC5fMed9@b|3SPGNiUtBUX4nRQKScFx_|lhjVI~-2k}ZJz5e|4 zYE^oSB0cAU(%Uzlr1u}hi%NO}`RT<}dW<4H*MZX8H=d;T{}2!Tm&%YH?%G(GTydCg z#_xj_7jbbfe#r zF7N}U3;clTMziVeLV3%%yyix@WT$lo%B=1TxEgjMEC(*zRp1Ra+?)Y@)+VW-k$i_h z4vpLvy0?49L%eNwV-}DA3~aaCLcibu3~2;tWejHbUZ;}G_}!4?Eb&ZO-D|eH<;=-# zVK75Wi#cj%DK*}~k1bT$^jU)dkwIT6&TFGbwtn-?H{u68a+|0^${D{22Gt>L*firP zk6W!y8cxKhG~?R=1j-5;Mv0`A^TU9X1*zpi}5Jl*(m~U1SbF2EKWsVrxcE89_;EV>@L2zUC%-u-c{mh4v**F!v(7~T z1a{ie&x%4Wlly4cVI6^+om3K3NB2kl`s;7LLC4_5h#7wtwBq$$X8cJoa@XY{wFZ^G z=%6K-ZHB2a$L^$T3l{H(AvV{U8GjVC?VzY{rL z@sQdx#LtJ4Dmyx@_Ig|R-qP5NeVp~TJtQRwPc1yWGf5W8CCNNhu*r|R3JJ*amqr}+LJR~l5go^h+ojQM~v53;fXC@RxRo%_pDyJ`)-O*9s-F+KBXwUSuQ1(OE z4ej)G5CRa;nceB@ArwIPBMX?N{Xqy0j`ITu5vMXNj&XFz<+gqZ6!#3QZF2Qm+vV!B zZj>ulM<|&ePXKUs_Ko`^(eYR}%hhY$B3GYvt6UNHHZWtBqB`D0Zk!fY6MpLskWpif zBGYMMEc@f{A_xUW(f=fzl(!Of;+1i^Z!==_W%L}p-sR_vFn-VA&N9;Pp4aQN?tDj^+HbyPtBZ2Y%KkGSN-9p+NGdANyegX8LD{Wc`(sHPeqV|F<0eW5qwt_$R`f z8#!9~2}VB63H@gd|GDCyWSuW__^)&LZ-mdaX7GGvT3;Z*+JUIxzsmA)4Y6~N@vydb zDjf!*)>By_b~zk_g#`&);LzF%>zS++wVurisaM%k|2zw*$j>Q&C!-qc`K%DDG2nKF zrC$JK{UVE};FtfvsQWfMwQ8St*6u>&u$d% z%}bZ@l+Vbf%RudtebN;$YNso4a?_RIOu9UGRoUfbq0D+&<%orviu5axEL0iSEJNki zud+h4_VgG^OL6!&zxA7JKSD6+?ZxEKnth7NSf-dP9I%)ifMSlxD<*@f({hR_TK)SJQ^1&AOqMdm z6a$y$6jST!;i7bPG1+~fAK{7>J$8L%k)h2QXe+XIG6lMOBo&Imt0xX(z`*G@6$h zL#c;yQe!|;i{>T9aP4qAF;1bvb_pz$S$|L^Vj)_oqVCQ@wbN_!(`CKX(>duf5JQnD zKV61vGu<3ZWF)1BEDNyKfr% z)orDpeKqYN;oNuR^J3L+!ONr5#4h6&TCYlu`5I8_Rg^ET{C||Eb6{oh_f*&)xa{u> zFa0fQeUKHb|4}^Gx*ZUWivsTj&ca-q*$W(oIvatt3)b~-Lp_bT4SNC6!Cu{i^&O^h zUb1tnJRH4M9?%?A=J>&0W;unSEW|8BXDdk7ry0lkjI+9b243!e>AuO0m3qBlL5^Rsz{by^|&mFj;Uc0QeD9LH!m^(g8Az>VGjR1b5W9wB>Y3o1ES}oHig5f;JdnFr z(|TStYq!p&)^1%R+*}&5TVX#3pSl$3X%8-wQ|&w{OCNW&LVg*~1q(p3r+~vO773N4#xsyx)An7es;aZNXLxh%>wr&<1i4U%le`6d{Z1Q$}gZi zxju4S!Kkpgx0JQK^{$)w3cbNb{r-oP&||@#y=ah8o{P9W7JRqA_GA33sjab)Dl+Ba z)OOlr4(D&qbTeLpEa9z@C@wiSuGY3GXsrd$uS@h4Vnm-(C9;z!QSY0S*yGm{0{9-i5r=Eo{ z@nE=ayaJ7aP8Y<9-7w_Xng^nfH&6o9G#ZZQ*D0{&&9j9=Rq+xxWClOUp{jrnWkL0< z82T5DMSPWF&T|rVXiPjO!TG>_b|2E-?>UKmHjzJ_}mWeiO|yM)0Y%tHXU13 zM0=ymS(s@3^+s91GwpTgoOvY@#;l4{;>p6l!b<90yK-pamO?c397+?t^aOOAcm=RD zYRZpH)E7{?66_$`P?oZ>ODwDjP=EaDV!i+E{(%^xj~wS56|JvOr`UW7Wx)aXkvtzy z;s(av(5Mt%u^w`@-sRAhj||MALW_TszzE9vwf{Zp5^eWhOc+& zmKcS~R`o0S!@8Q^55)VPBT;}$ic#?@o6CDZPa!^Zus=Iehnl-LWz~woBEo-5Yq&&At2hCnK zw;5q0Adf)PA2hv(A8wOB6W!+6>W6*4T8Lj5Qz**)i0B9Spf}R@@qw?Pw{b;YE3(1wiOMTtD6Hrs6t15C+;ppd#W39a4lteN+gedX z@1rr?bfa&1*i9GtnSLqsIib6Sx`kfm3nSLwyiAu0Qs@6g0p3dVJy+(Zao&51{50UZ zr>KxF^SoE#rdz!2#cn#>zZHCaO?z=64OB7yKGH3uG39rGKI)q^tdL&y9qK5gy=CtK zvHXWR+;q9bZFaA!4%7L?6RO=bEW&v^)WbF(^{yD^r?0(xz>kJCHwB~Xk*f(MhlKrf zhbIQjXRA2H-*_ht3sVIw_~}n&_Y}G5J5=e2(%0o(K{rLc9QQa_cz~v2AVul&imqUk zo-ghShG|O`r~AX=_F_N%sFvfd0UxEV80#bpSm*QV3CQ77qWNdZ+hMhw!*_yAC!?N+ zQGd9vVi>I}?5haVZAGmABcXpNWBwWNZt9M-7k@*`&=bC)wL&)weOPE=89#Nft%~iu zQ_1vep_PJ61jPfH6|1U;Q4dm?ZQKt1FinlJ<)41ybQl<-~Hb$W~{4~Gn zo}w`A3UU3MP_?+1qTVzEo(~sRuSGl-#rb!!J4Bkx(-CRcB@a3rUhosK$ zuU>)H99cXGZLz#!a{(+sKTKCkNhe4Nf&93k&@MF<`YG|Ch z5#Hf>*dIp!UBsZ8|7GY~kU1u6miVkPGLHH+yHVPdXTU8gP<72FOORy_g zNbgl~4NOH(aMRHhOcUUF-17GU@EBL4`1R1Py15xCUcRd?0m%i0VwzmDt8N)2_y{Op zG3>%&%fQ2{A?&A>yXtO$=Pr`4(Zg9YKoM4?jmEt4+aZ;RbW+W{@?|LZaKd_=ZYY^o z{whKa7U@2drCKfd%2{(1OR)0aAtj9#=@K_fqv5|f?0hdv^>m0xKZTWLSVbHz(mz}* zO`xMiI>N)!Bx)AvvIt94h)YbgRMIUG^L#K;057H(&jb0aN z9i-doB61m6=hH$=E6Z@Ne7H!vF!Gnd>(+}j9I3E0*)XB`1;*cB>1vuP(mISQmKsEQ zSBD)b(#u+E6zKz+gxm0k_{gVG=3t^5y4Zw3F$(tE+*U;GH@ znV!c$U9O#=2S=X;Ev$JSTY*1Szvy<;oz<^^?yP}&yf;2>{=RlB=r3v~f?i=B0@_}|_3&BAG|=}WOh-u`nk$b4Usc%z`c{zh z!}W%mFFXdw1(l0Hdxcum3jQ6l4fIRl+YCl7q?15P4W>s3eKf*4%FZ%k3wwm#K^@@# zUf2bCPjR*v<+gh`w$2lx_Z=yZo2HbX3cfdRw0m)kzvm@F?$GIodkG|Vh@XcCJtjRW zlDm8^<~Jw(Q>16`9SR8hbD-|hJzNq3Bhm+=u6!BJ;pYL%}mzEw3T>@#dmcA(4 z0%@C;nybGL=`k(+qT)J8uWQK{-3BSfu81Pu)t*}*9j2v}=PpQ%BB|6}loUzj%q92i zc=>yK zIG)@4YGkY7r7A7Gg$=itMrvt$9T`5FpryO(O0g1c(9*r-+g*N|uBFGzf9~|tJX;EG zH3GCuOE2OSB0%jT8T4o!&t4@XC3Tz&?C=!Odm)Y265Lr7g(nuai}G_-Uy!jO*2i}boO;+GTc6w2sa zEpZBEbeWdcyFc)h(=}Q;+x;P=Tq_l{U570y+3u>KJGFFt$bL3x;&QX%2FoGV_VO(b; z=;yX3@;QQD))MD)B)y>}&gV$_qn7r%_IgIqU$lhhqP(N%Q!R0>52kOl#JN70yu2|) z4RWsI6xI^wI!={Z`qbF#8BHU#^rc~XN7HyMU5&6Y)S#ss5H^OIw8Z_ap5|$Z`&m7; zYU!Gg$2*oz($X!V0Hifq`l9dy&p0|oOJ>oBkWSZ9zq!{lo;GV~lWBU#)1^w18k|6n z>M*Xs3G}p0RM1R-Pr-sKnnZDA}mqq}R zYqF}rs}VMZinMeC!lqEUmKGO%;F(IpwbX_ZO{ID*eGg%W&>>p74q=DTQCfQ5LB^pp zM@z3dO6gEqqNQ6(Jl@0TcrE=HuTmdIok~JYoa=0$OEQw1rqP>xR7lE0PouF@SyCSQ za5`Kh<(CepW-W1@9Zn0h#J%naI#x^E>yDsyEpe|ql1|nV_qrn~ttGDO@6aYKab16h z&eIat^-*-Wmbk8uqODruUUxLzq$TckN7G$e;$GKC4{M2gT_ZiICGK@i^n#YS*EP|v zw8Xt`I=!hS?se1YPg>%hHG}@9CGJ@>=wC{rmF30WX4-ZL*O}Y99#)#^4lP{(E6wzP zmi$E??@W4JOJzj?NI%!oDum6VSF~gyY!{0DhglgTufJMskETdyM(rDX?VeQ=MuU@OJ7!zv6LRvQgL-DEv3h` zWRy;Jw9s=}3Y6A)Tj&)n_0~*ww9+muonBMtZKZd#bP2+i(OWg|mFRGc;$tbIrI{GT$5NG+*q^PSQCebuwt^;T=?uhcqiI??A7O1Y zT}vYnb{x&u(gcJZN6WM{IrM?&cv`8Y>7frHb!llS!cL%+mXZiNf%uhvuK6QMKJc7K z=W1zY$%l|G*V6gHxc4M_UQ1U%T8VE?QSnYG8SibU1}$xZl%PH>{XQ_&yNYhp()*A) zXt$Q02psP1q;fe8b$efgl%&O4y4Kz3T}>Bg=?+M1Xor%>D4Ff;qK3mIb@~EQH~m;k zH{f*UWV+@E6}F_5r4cw|Wq)=i*4`)6W}LLL^l}wT|7c{%O`ir>dbdd=nJrGH_USAc zWEL*;o=neZX+6%edT4Nl3OmuU(Az_oi!>uJwQ{+)m#&8tqZxsw$`c@+(5y7SigkD` zIz>yB&b8iCXh=&f&V}AIU81GSodezhdQeMiyqml@ZP3zFh39%VP|r-Zi3gDJEhHN= z(pmVPnKP(Q!VJ1nr1n`V^(RI8i%2+`EG>p+&ukSo9Oc_Y*NCL%fV1d59mcElLArhs zYt9G^6n@t`NVh@a@@*=-3ex}Runm>hdxz*#9d>Tzjga>0uoDq>Hen!3ytN2Bn?jJ- z=81H>_Z+IyVLfy&q?J1CHS=NbX6n&lyUoWS-K)diN4#_CQ62U##5FLK}*%fZtr(#vq);Uw1xg6 zl4^%7bmUS_LCwYAqZ!Lodb8=@>{iQ@o9>gs9E*`);Ad$0?gL&9LuQS|gHbvD>I$q@SC6s{ZA=jjq&EjccoM zJKZJHIW)yH%y&CIufvvMPjWl$773}B#}M|VmS&fagcLuX(^EF@pgCG%n|D&XNXq7& zbcPONn|IQcBB@;8Nso(U5a;@?yjFFbx_h56PTL`S-_;0H(kw^JUGKX$ zBSqZ}zWX!MNcVK#gIeNxSxpaR!eZ{ZzDF`r)ZOO$SwXToCcKHsj4 z6m@U(y_Jzhx{Kw08_v1puC5v7duJ&=IHw12&lIyu4sueEk?n%-PhYCzxaW#aZme9* z<7?Q$NfrOjPOkp{jr>PtQpSHu(?Na_CHQPsN?&Fv?-{Mq~Uz1-0MU4Bw2 zw}_&-aaDg-Y5kv21LMiWeH%{Y+xUNlC;+Z>2*2QNsM) zQp1W@xS}I5LQQ(c$vVpN$7pK@IqZa{N9~Jt7&{u`-0Ubr}3m-Bhb#Y==%2^}GHtkB!( z^{N-iXSBOt1$7PIMWd1P-89;9tMfywL%58S9N!E4lcq`Ow$L**WK1(2#hz%Iqs$XD znjDVuurXKXd3Z?$kdJGE#uCwAB6yqQu-Hgrs#rTxXt(j#x+Wvxcpi62xMk-`sST(8%|hE858xz!DjimQgE5~@i)}TI z6n+a*zsYEG+)}d@IEP+nxIK45lXbQlmsC7yoFF+Fax4puFi)UU9iz=|BjDI-yl?gw zOfVTgROk^x8_hjtEHo4JzM8XuR7cN)zUjCa{5`Snfj&`uHE2uVdeEC=+Yx$CZIjVv zoa(s6yj^OeQ&QXs{%1hA)b}}xJg=IMI^K1?W!~rbBJisDs_~gQ+0iNa?3A4EG`NgA z4K7P3?Zt!W_ZcVFwKz67o^ZB-Zmni&hT0H|OR>SRxA-E1X*cl4>bf0|8sp5Z#-qkG z(9b0g+fD9cpHr)2i{n1Y+vlLyIC>=1XP#A8jDGu3^(_v={M>Ut=r3_U$}pcod%fT& zt@w%K1&0H7p+ZX2adN>ej!9y3n$RYpbA>Ju`nlnE{>JgSakTUIpc|ck1a0xY4|;Fm zN1$IhICQ*(c1!4V3H>2L+st(BKM^_<``VE(-@+>Y6f;@7)!1MztlVlCW=Bnh^K)ZM zO8v;{t7vXegN%am~Rwa0?T!% zJ;S^Jc$?#_@++K=N{hESJ`P=r7W*3OzBWez&ZOELJMiqC&-``qZBCzgbU`WAIk|6y z%=659ogwq0@`s(=#~ug&DRxgGb82ZRa^(n?QiXXtMoNYGJ3OE{39(*+wcgk+&_6@7 z&GBK?9_L)=sg6H`?L6B!hl`CYP4q9PG z3%58b%pm9zgL_)H@h(RFeNvx~>iVoL9qT&9$vHX2IkI|+YlHLmu4zE7aW%PyoSdH_ zC)e1JlWT0q$vN36X>D=-tYC?2i}PO4A?Kk;Wym=e)MuWGmc7te=sLx9p%EUw9(2HU z7U<7h=YbySx)ii7b|vT~#n-vo9B*Ks`hxSknp<644BoSDF>VarhtO9%kATj1JO%o= z`w?iqiT=+cmp#=koU(sRpV$4%^@ekJ@M{<98*{wc^Kx;tTsRy)^P66$rQ$c%Z zBWNEDg7(w7pzG-(&_Rj2S>j$GaW9d$mrL9$5jRHXAT&l73*AU31xC};^ki^6?tzZ* zkH=l=aiEnnAM_wv23k)E&?$IUZ#+)#e*`*%o&=pINDKWA{PFY_Xa{)$<7q9P_M3tC zy%!hEz!}tH(TmW$iGC)OW8Dt@Z-P$?@-%erD0mvNP71srbhp@fM=ZP}sk|c=-Vy!x zMTZQo6Nm9@(3tR}ji)J6*eHCv&~psV=T3vu-D&)u`T~1|-y^(XGH#fR$4t&)%;Y@O z30^07lkiQ#CxlN3zfJUam|RP{1%JonoREWUIvkQK;SX|ftsdmKlbpduL1qXt1IUTN zc0oD>>A-3B@9@(pY+;+w9YWikj0_6hCUl3;otjFygx}+2-f&5|T+G)AUnhK{@J*U> zXuI$UO&J*!en?YBwh6yoQ$}_Ozf)62b_>5pQ$`H8Y8 z$e{2;nliFo`0ZkIhwwW!<E4hdxYO3Hpwe_(3C@C!q;iaNTcvgnljQZd_q%3hJ+vTGQUmu?V2*O zL-?JVGO}CvJ(@B?IITf%*OZYu;p=?NHwxb_bWrG!rX0FW`0bi9vP1ZtnliFm_&u63 zV)!LRKl3r+>ojGgQTQfJ8EF?jp(!JS!VhW6$Ts1(Ys$zD;dcw&qbcJQkkmD0Bqn^F zri?TS-=rxc?ZPKCWn@tJAx#ogs;<-kw)R0 zG-ae+_=Kj63<^J_DI?p2->xYmJA~hTZ7k#^w| znldsd{E()MY!iOFri|=u5Hri@UbH!f)4>-_86N^(SFlZx?V2*a9r(C{9fIuCl<}Rwn+tXevPVO*wS8@D!2WBD7Ix zyU;DnNL+EayR4V#H8-=zD9Td7v=nkQ~g;G@Xg*FOp z7dj|(o6sFXcMGL5(HGh%v|Z?+&}~9@2;D7|%0*vjqtJGtgF?3n-63?hP^u7pp^ZY@ zg$@ecCUl3;-9l*?>kn2k-6piLTE<{CkFvpP!G-P+x?3pKNGd`bg|-VF6uM354xzh+ zQmyCz?e6;yksS-(H|=gMFZzOZq`S3akhHRp1QJ z``m+|OKLXbRF&U)z_)_o8B`CRHTB}XIv;*XD~LCu3bAu4!q;6D<8{0c&LzWC38Wfl zZ!w_tc(!vYLRKKHPK5R%)PmJ9J-LHCwj0=l?*3+S5_-v8L*?!c3vUkiSi`84<$LKX6en~{|z9P4(I zsls0|*_z_d2|kzMTRhC?+Ib=J;y$5;?pOBFsW%yU$zZBdyd(4*@Y{+w^&tt}KZo@u z>%3$zy;L-RDD<}u&f7;NjH_5GSO0msD#c4A50yo1CoOc8r1-p~SS0WOT==|*kx)#(1T`@ZJV0K;r|*qyS^b z#HR=&s}Pjm^~7tw7&-V#M~oMouwlfMg0FyN;GMKG@RgA8)ITV{uUQGc2GqoPMK$;l zpeCMftpz^{)Wo~5b>QnkO}w{!5cqMRCf;)$34Q`7|Gp!?Q8XEp-;W**ek!PmXD92y z9|mgTv8Hk0r-7Pu1mYQVB&dlu{3d}v3e==V#K!Xmpe9Wxe)nhws7W(n!=PE9Ce4No z18)RO1JBP#8Z-~o#A)|;z%Kwb@tcACZqg!9la|1qf#=kkz_-Ajfit2R;FrNFzR?oY zq+?;#fPa|{zD?d;Iu6vN<6+ytInq4vC&D)F0fU;f61EMTEG+_`Knez}0yS}l(*nK| z)TAU*FlaTXiF2o8!FPk2bTU#faL&^Pz6U87v<}pSS342B1&Vj9k%B>|fZ}cwQZR5P zlK|h36bu>wHR)8OVBn3ZB>466PSplblg>ms2Au_J;zVmL_#se}&PF;0&ac*i-;8t& zIv3QW^N@}~=YyJb0n*{OI?~`TLOOW&1(bga^EB|6f|_(0Z2xx5B`Tp-=J-v zChjI(4E{z?6X#Bsg8vbyNjD>XgKhye=~kqVw|qcN+;zDE{2ibs#_v_&?*cV34_*!a z9#E6+MK16T7O07PN7sSBAJn7=kP8FfTzUiehmZ>cKUn-j@Q)xD2K@vS@0%bO2K^M& zq@N)d2IkhA!9R{%81w|FNlzjd2JHYfG4I|9{wYusCv10ve+JaV?{wY^{^y|l`@;8u ze+$&4zaSR|-dTG9{D;VefuC4=2>eILg@Ny1%3>uiMRRwfWCV^`r1|KA!CgOqt7_QILD|qA25I5_|(75458ocnQa;vR%otpC=C2iR%(9TLH-TSf&%;{rrs=*I(JDL@lCL+< zeVm6e{^K0pFiibIIrIMoz7GuZ4}q^h3d8WJ#HR}DoN9b(@TtWohEE;;W&k|?q4Wu& z6yupAz7oxrYcZ|Vast;+@P6$l^e=qej!&orpOKCejauhgqsO@ppHJwIt|QE1ce8o0 zdlo)Nn6um_#;XG#{3RyR%K3?Pt2z@SR<2w+Y2vs^GoX{`jLuyw5piLu#TrO;Bq8+U z_wI37iiwc%V@2uMtaSy5^$eO=pFx@Bcq=5{3gO#?Z=>e!bf1+@u3R~{H{GA;?EptJ z&};hhp;Hq*102L=mUnk1BzA_GkNRptBx+4|^dz)WM}PM^TTk(=-F;S53SbL5&p=u! zDvon=VYqKl3*^}%w8Uooldu%ExoT!7`!jN9a&=;$Co6aBZcI>`lSp^X zusV}c=}iOuR!c{sCy6nvkd}3pg^|^}CWFkd)?qMo_uClabfF%*I}+T7GHTMceO6Bv zZRr~5@3cI$^opXCnwbmwSdU8#7ujX^+1)8fm7WYTu zD(V+*DdKmpOSW$4OU_C3b|MTl$Py1SjV$e64V*LD#BHSNRk)UwGbDow=MIxA>#mjy z&Fb#yL3e`7VMEOrC@uXPv`M=*6*3DmisBZe*G#w8XZ02))*&iJE(V@d)hfAmB|Fw) zz;M5t54($cm$UQYqS!@(16pXUTa{8}(JWV@X0>mhVQGyS=wSokS;gj4$+WmeL-#~9*o?}dXliG z8!8XW4C_3U^KfieH{zg64kS}x^lAec>+Wdk$K=0ifP-6`R6rKu6rS*aW_6N^WER<}8+s$`+n3-_8jP#{;-{t+^Dm<`&e z9;xUvr;gIdddl~4I;tLWN$WtZ3{gyxjdOl!|7!M7i^e~ zr2DdSYBtD@ht})Bnvb1jHc+*;42Gr2p2T|L(%Eo3GA8-XfsX$D17=u#8&chCx(*lw z_t?838%KLFP7~>@>h9_8&k1en=zxPwcIrw*ihbz0ISQ@T^bP2<+_}YR$cR_mx|O;8 zTVcm`_jk=a6*ELy$+MIFYN4$}o^tFo6mlwiB5FyTnv^v}OTX2(04s;gxU*#$nEia^Ce-rTvXb+U_kF?ZPuEmbw}YnZV1S^uwG)R*k#5H6F=Yd>R)+TZHN8?U<_N8*;i zn6=xpC)tY4g_=k?m<#xCg3%sJwVPJoCuYy5TI$3ylc%>FvDLB#Sr~I7`73?N5@sSv zo3C81rODNp54!Ajv_;PS^waNE6dF*n>zZjlol`}aJ@96f}2vQZuEOQ;ao^{F)UMa zK~7UvSR9GXuj=o`JSWCA%jj|q@l|C4o!bUwD`bb{;F@LqrB=VKtyxCb+n6xgZX$!q zt}SCXi(@ZmqZ@1s!tj59+D zE!e*F^zeMeLk+wPxdgfrCN>4ANlx*~AI<8qPP0R~P~61WH0gzDzGQa+onumiUoy1- z$?yV)7WJx)NCs$4C3@3X5GRFM%{qJ%AuThrS0dwLubCDkdXf5cq@M)0IN2-55x8*M z^9XP1!7AXuRW@EN5wMSg0zRAtiI=Uw1=v&oJjT)?EnU`Wb35?Mfn4;a4lJWmi4M$B zDq4;#?VU^~av&K2`H<=ri&2>FjFsky#4*xuFMYX(v>@7i@b8()`*1?K4rl;M_;jk2u(7pAw) zG&eit+r2Rd(cLNs$?I1+IA;(`pH%;1*<+z@xG&`+Tq_6SR3*M(C|6>5a9ACm0`#Emh}-A92Zsu3r-grT&D90 z#+@_wG*ZCU#428R**zUD`V_*}G$k9cM2Z>JuGpQXB$4KoGZNSxcP2U)CsSf0A6d5& zBR2nt6^AzLhW7*6|6^OUf53tb$0k?tsZ%%BsQX1*ut7GK``~FgWsoeQBgu9Yt`!Fe zDbxcGYUa=hlAUS;pMsy&^AR&L$75je3f5LYjj02pJQU50j(&iEyrZ7HC^?(`JUn+7 znIE7Rzx#lC&6|hn^;I60vxLaQ(QkIBQMxKe#irLN8cCY;os4phc3p1l#l2- zh0|D?JY^u6&JWGF>CR-cwQf9j5Z)Y9D^6ol?0j*?!?QafEzNPq=iY@m7F~(B=(7Pq z6=#-=u!7ywFrQ@Db=dCnxuz&+mdB1}m+~O&R;QhOR+1y>Gf-NXJWYplye1s&S!zUZ zhnk-3N}SpaK&9WKgD?kZ3`$tG*m%B#4z9yE_H-cKiO--2lI$eWSgU>yYUyvo)7l9Qt%d>iuaT4CYQm_N<2Oe%Z`Xey)&^Nk|Yio z!1kKeO&@ml?49_eZ=aJPTVrNVl2`Ce{fkmIG`EQl%h6gmSI-=&zm_d1?CQZe?u|K)kN-2>yr9C3GTFbEg28@F>xpJoF<32{mhL(Z8J`S0I zdmEA~q{^$Qtf#O$=KcXVdb00r=BRTWtDMZiyql9T5nBe*IEw6?pV(jx^z(4V=1vP( z*0081R7*T|7h>CBk4O6+Ki8!cUl_Y~Y5lZmc$^DK%juA$syN2j_rqTZYV+u}HiW&% zT-+&KPq=#os=8iwLKU+ZFnCam?RT#eo?8dal*Skn+&)25dzee$K5_nyVUHAL zD#GxG=K)01TJVfpH=a+c!&58E@GM&wo>%L|lW;wFKCKg263?i0fc8PB8_%8f;=9Cy z{1nbXGx3C53P?({dO=&Dm%{UH-H6FJ)!7K+kNfw?e;2qktWwbcaz8zj0)N5jekn#c z$ETrmIeMk@QIcLfgEt@cRv~vic-E0ZobnoICt+n7o;IWd=uIZ7oQrQy=lmWZM+b;8 z6^|4xM$K?d^}{;HY@mtqq2OX^6`g||3F+iW_}a=~ZoS}#9mO6$amcMS4xhQOJsZ~6 z0W*U6B|B1jz*=1sN5NV)94S>y!n2!`(TEw~1H zej|WpF9vR*T&lG;pkBGp@fhHG=s^j%hj9-{gZAUfZ5l(*wZQR+!!ZvY-AZ@2UElQb zYYT2RA3x%xi{Jhqa>fk9>xhxz0uu_cSjfb5#Z05HP|zk%%n81*(9Jr7kK!3P6A$UL zj$u?ohr&apuueA)(K*1Tqqsq*AnXF^d$)wBYafAo2GVwv;W>uA!jPT&Op`lA9S6e(>itx}D z7jy@=a^TQa_>bIIRpGnNP2}42dR*ahv&xh*;adrj*J4v;_GV5)XZ-d+X?XBHLx|Ta zm(butE_9EorZ&hnEvLG(v$KEtC)TP-qVFBKuzad7Q!U;0s=E z5-+MKLS8Nck|^-UTqwf}1^9y&l*5D1av=wwJ=RlJD7Fd*0Xd5|6}Ql0Hnb|_1^_xa1bel2LFUUj|Tr!(BlcWavQV)+*9E3C?2L) zAYW)lS7Ey z!{c$FWTle+&>mD4x^iiW#~mK32oF_c#@gWBoVU=~E_LzAW$-O^ z*`vUqx`foF)C)(09)nK6F)>6iLJA8)XIF>Lt`jrivnx2?XX|3?6h^D)lhox9FM80> zT;!K!a3U`V4@nNfLkmP+5+0Jo!$WOi@jD(USBKATQbuNqQUamMNWzYEBAiU2^rdGp zc9BP=zd&7RL#TT62%?_ggKkJ~~LO}ug zC_2<;NpLe5{FlzV89lTH{t)IdBr=PIAV(RV-y+1yBMe5O%^311pI@M_UVUAsubukZ<#fa0Gui5J!*^pGxvN;b zn`e@YllCbA)n>ZAPB*R&cPNg}Sd2x}jgIFr-7b#z22VYR7j9*>x0vi<@+X+@!>1pg z_4u5@%7YGfH4^kO|Fs=)F{B}b2^$>Zz@Z?M5R*10CxQ%ahLsKYoZup!JKbFO;WktX z<~R`e4Z`#W(#fO?6(v&}=vEo?gIhhsQ3khjc)1txy~UUVxXpmRgo!c~cky_LL%*;% zJOY>Sh~h#FT{jP15DJYIjj_NyjCsJgm;s^iVi)(hw}h&JH~1&k5BCY}7rI{P8QfRd zH_GLGor&#;YWtzVuN62n&W9YLio!#aG;)Z(PRoRRha=hp(GWq6;~|#_dPw?2(Bm;E zg17`!wl--efnmzkGPF#TWatjb_(E&wprp$CW)FN7&l8@BhGAgN;24AFa($d2MLnS) zh8f}G;_!;_;HOobWnn+&=-`TCP8C{=84e22W>}<;wKfF57%5~8mF~yr{AhX*FOzjl zI+=92K(MM|x|M-)N1VL)n65ax1Se=5Vii7adt zgN`aRC^RIrP3Va*7d`<51Dk&gg#Ylvi+Cr>j2?>vXFSuEIi=&rnodg_(8KSp;1A#P zi;_$^0+4w4gGoQlS91d)gxGmu2S3#!8L^Lb@$wA$vZudzi-!D}V_R%+@Vl=r^=x{65XzIMik%*}h&=Lv zXc-=Q86G=1{G6<_pKl2Zs^7oJ^3cXlUWWJ#AotFuHmDzv!8<$TU$CJyiRU`;P= zrcxUXnqnXD+lTVw`KD=lJRW?q@HFoKYVT@Zn+T%#6beGcOGWVDVOSL}ZPIUR>H66g zmC_bdi%LK@$+nFo*|3{Pz15pX#eYK3gWyrD2XEp*J@x28y!I*x>hJevC%b7XRs^BY zNwOc4**9A|qv_F?|Yo zVz`rjhaH1G+u~`fkELmasSxRgXry;r8|=Z4@vC&`(JJj4qJI3aPuqBiK5fsOSdD!; z_6BfkezOsJl|H?In1pf>kkTT2$7^ok^l5LjI65|XW_ZLO7(a8ovohl_ZtDb}<{SfO zNDCLH_$AN#d=LCrc~ktG&yL>WnkvD|eAUB`_`SsY{c=;e2b&ikJpH~g|9tMirEnwn zg#BrHB9C6bf-5aNqu#!(<>l@W>7_yj)`+~hJLJvPKOYqC=EWu#XJqQ70xR3&>HVjq z0bjYTll}D8W~vP`0 ze;I4ZJ~_TaKFh6h(Uwg4)sDYNMXA|tr5=68Y!VVPDp}aZ-B>LFsl1KlG*H7FkUt{K zx3QiBqAag$P_MhUewf%#L(6O{#HpJE(!y)JE2}BVTN2E228bUKb)t&PzyO&}C?2&4 zB$3ErB*>@5*rkAa(S3|i19&nxDlx-OO5bpDcL9sFpAjIB7&fUpsG$oH^8pZ1qP@gt zfvtlYQOg9S*T6A}t9t0@R|SD4x=oy&NG6d=;+Utvdx9KefQYh3TJ%Yw2Gny7Yu3d? z%(?&yq&0)>qSzK_B?usc2GDlaYRZmb9tF-5V5DSmUxOW|Wny_}3z!Bl6i$v?l9mzg zB?`+l7^BogswtB(br9vL1){$p*0dBPT&L-0P+~3S?=og+=z<-9$Ul#uRO@IjIb1=z z8lc^orx8o8@fkwhgO~#W*IkiWLdR&o1iDp`1{|tU>hENCR@yWl^Fn=*Ln}+}8IAm| zZL^BA!5Bol1pO0dPb8A`7s|`nP4sVct1x>6_0djiyH>XAWL%E9fR;xh2lg4_=YKjb z|3xXzmu=J5t2dM9)~Xd9+wENkqg_YCgCL-d-gT}o&h(EvI+C!P3QXRvbKj4gb7v3r z9O{|$;vgLj61B*6nqh4sDy|}yChD(R*PH%gP@V9iYUbXcqpM!6ybL!kJE)TSKuqfv zu`7tHX~6c@#uEq7j;`Su#dX?zSTkO|?qm&x2I2(}&bS=xlAj?*jzis%Uu=e`Gu}r| zXxz>G(gIxYG3s9Nqg_%Rwp2AzLI*dxVv`2iS^u72(G@OT$BRsqVd&^)*~Hkm&N5s# x{J2p + + + + + \ No newline at end of file diff --git a/Server/bin/Debug/Server.pdb b/Server/bin/Debug/Server.pdb new file mode 100644 index 0000000000000000000000000000000000000000..39c6ac259646ed07a7a236f22e36aa171bfd5bd7 GIT binary patch literal 73216 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 + + + + + \ No newline at end of file diff --git a/Server/bin/Debug/Server.vshost.exe.manifest b/Server/bin/Debug/Server.vshost.exe.manifest new file mode 100644 index 0000000..f96b1d6 --- /dev/null +++ b/Server/bin/Debug/Server.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Server/bin/Debug/Server.xml b/Server/bin/Debug/Server.xml new file mode 100644 index 0000000..9952bdc --- /dev/null +++ b/Server/bin/Debug/Server.xml @@ -0,0 +1,26 @@ + + + + +Server + + + + +

+ A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + diff --git a/Server/bin/Debug/Winsock Orcas.dll b/Server/bin/Debug/Winsock Orcas.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c27636bcf4358cdedc0c5399bc15c7ae59dfe5a GIT binary patch literal 108032 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
ZUHd?OEli75W;W?EGsuo$9$ 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 literal 0 HcmV?d00001 diff --git a/Server/bin/Debug/vs4541.tmp b/Server/bin/Debug/vs4541.tmp new file mode 100644 index 0000000..b32f138 --- /dev/null +++ b/Server/bin/Debug/vs4541.tmp @@ -0,0 +1,41 @@ + + + + +Server + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Clase utilizada para enviar y recibir datos a Servidor. + + + + + Convertir DataIn a String + + + + + Convertir String a DataIn + + + + diff --git a/Server/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Server/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..007e731b884b64504dcbb96383e1606b67374213 GIT binary patch literal 17498 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 literal 0 HcmV?d00001 diff --git a/Server/obj/Debug/Server.Resources.resources b/Server/obj/Debug/Server.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Server/obj/Debug/Server.Server.resources b/Server/obj/Debug/Server.Server.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Server/obj/Debug/Server.exe b/Server/obj/Debug/Server.exe new file mode 100644 index 0000000000000000000000000000000000000000..44b41f9a6e72130ded7a9b5ec6d6e718b1820305 GIT binary patch literal 49152 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 x{J2pB&24i?mx5UVF3tQ8uHo`2uH~+>(D?WN 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 literal 0 HcmV?d00001 diff --git a/Server/obj/Debug/Server.vbproj.CoreCompileInputs.cache b/Server/obj/Debug/Server.vbproj.CoreCompileInputs.cache new file mode 100644 index 0000000..2a78340 --- /dev/null +++ b/Server/obj/Debug/Server.vbproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +c112d50a4ad00574df1fb36e3e7c3a69af5975db diff --git a/Server/obj/Debug/Server.vbproj.FileListAbsolute.txt b/Server/obj/Debug/Server.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..4277792 --- /dev/null +++ b/Server/obj/Debug/Server.vbproj.FileListAbsolute.txt @@ -0,0 +1,44 @@ +F:\Programación\IoGame\Server\obj\Debug\Server.Server.resources +F:\Programación\IoGame\Server\obj\Debug\Server.Resources.resources +F:\Programación\IoGame\Server\obj\Debug\Server.vbproj.GenerateResource.Cache +F:\Programación\IoGame\Server\bin\Debug\Server.exe.config +F:\Programación\IoGame\Server\bin\Debug\Server.exe +F:\Programación\IoGame\Server\bin\Debug\Server.pdb +F:\Programación\IoGame\Server\bin\Debug\Server.xml +F:\Programación\IoGame\Server\bin\Debug\Winsock Orcas.dll +F:\Programación\IoGame\Server\obj\Debug\Server.vbprojResolveAssemblyReference.cache +F:\Programación\IoGame\Server\obj\Debug\Server.exe +F:\Programación\IoGame\Server\obj\Debug\Server.xml +F:\Programación\IoGame\Server\obj\Debug\Server.pdb +E:\Programación\IoGame\Server\bin\Debug\Server.exe.config +E:\Programación\IoGame\Server\obj\Debug\Server.exe +E:\Programación\IoGame\Server\obj\Debug\Server.xml +E:\Programación\IoGame\Server\obj\Debug\Server.pdb +E:\Programación\IoGame\Server\obj\Debug\Server.vbprojResolveAssemblyReference.cache +E:\Programación\IoGame\Server\obj\Debug\Server.Server.resources +E:\Programación\IoGame\Server\obj\Debug\Server.Resources.resources +E:\Programación\IoGame\Server\obj\Debug\Server.vbproj.GenerateResource.Cache +E:\Programación\IoGame\Server\bin\Debug\Server.exe +E:\Programación\IoGame\Server\bin\Debug\Server.pdb +E:\Programación\IoGame\Server\bin\Debug\Server.xml +E:\Programación\IoGame\Server\bin\Debug\Winsock Orcas.dll +F:\Programación\IoGame\Server\obj\Debug\Server.vbproj.CoreCompileInputs.cache +F:\Programación\IoGame\Server\obj\Debug\Server.vPlayer.resources +E:\Programación\IoGame\Server\obj\Debug\Server.vPlayer.resources +E:\Programación\Juegos Vb.Net\IoGame\Server\bin\Debug\Server.exe.config +E:\Programación\Juegos Vb.Net\IoGame\Server\bin\Debug\Server.exe +E:\Programación\Juegos Vb.Net\IoGame\Server\bin\Debug\Server.pdb +E:\Programación\Juegos Vb.Net\IoGame\Server\bin\Debug\Server.xml +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.vbprojResolveAssemblyReference.cache +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.Server.resources +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.Resources.resources +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.vPlayer.resources +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.vbproj.GenerateResource.Cache +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.vbproj.CoreCompileInputs.cache +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.exe +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.xml +E:\Programación\Juegos Vb.Net\IoGame\Server\obj\Debug\Server.pdb +F:\Github2019\IoGame\Server\bin\Debug\Server.exe.config +F:\Github2019\IoGame\Server\obj\Debug\Server.exe +F:\Github2019\IoGame\Server\obj\Debug\Server.xml +F:\Github2019\IoGame\Server\obj\Debug\Server.pdb diff --git a/Server/obj/Debug/Server.vbproj.GenerateResource.Cache b/Server/obj/Debug/Server.vbproj.GenerateResource.Cache new file mode 100644 index 0000000000000000000000000000000000000000..d8b18d90a551d29f808a83d873c7f35bd583468b GIT binary patch literal 1073 zcma)4!EO>!6rCvyWq>NgG>y>(S{EkZ2x(9^#H2LU#*&~kjSHiBFn8jU$2{`h3>Lq@ zrT^epxb+`g=r{NUZuFiJo2DhEcX4^#d)_bl{30rAoL=|k*l4SxB-l-* z3WFnICpPG5L(Tdz87p<%ZFhop&kbfJ~>)N590W3Mfj2GNa~oXB zwiaKhtWH4HGmN1KV0S? AqW}N^ literal 0 HcmV?d00001 diff --git a/Server/obj/Debug/Server.vbprojResolveAssemblyReference.cache b/Server/obj/Debug/Server.vbprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..1f627c3200ec28000e3f9957fc493c18cefcf1b5 GIT binary patch literal 13200 zcmeHN-E$jP71xy|S-X+rq%@F1DJ~7r5+nIbapK0Lj%~$m6W6s}x72dQO1hHQUhTTO zD<=*xO$*GBLT7*{-~n2mC{Kl!&nG@-C@;Lg43Et4%Krf8cULRjU8xYa)i4O%86Vwq z_Ut|P<9E+J=dL3x5{dki3Vu;iQ6kS?(@VDHSQR&Yxvm@K^oHi_Iq7-J=A$E<+;()! zoE^`m$J1l!vC)zFy5ZJsK5O#2Yiq{n$ZEZ4=%vT_;fA%x&DrAEWF=dfu8fbDvt!z% z7KgF>JKI=4bX;CrcQuzoOR4Av7u>+T-XrRTVepbmU2xJ%nzQ3-MT4W)$^elV$iGz` zBn9=VrImA9$+hgk#(0wRR&8IixqSkS&Rb=^YFh_-ncGPS*7ch_Mk8_(o0?JQP9!og z5Q)c+B|F(#_S-tsq0h^0?f>J6^OsJbSL(-zDlw2akrSv5(O)7#WM_URPhG0oT5Tjp zv*L_Ac;o!Jhw^K@!fkGr_{f~&@EXlLck<22&F4s;U$^YNe0pVZqs1LerL*})_ZIlR zVI9`E>88tuk-!WYU9i^dRC-f)>Y8y`bM%t1m?VqkE?8`i&(W)$;Q9S$54422yIxH*Q zA6CLdgq1!TR>DMul^zHyVIspyXTnOD=&%w_v_QwP5MiZ{hn28UVWm%mm9UUur3XVw zaV+$Ie^Fzx1TE@l7+mW+6mXQ&jdNSTX7Ps0O~h9~K>8>zY;EHe0i3^X|Gl{T=OyJK z5-6VpIZGrlN<=-FAP{B8rYELVh7Ay&!A}V#32E3MVWo6PDUJ>Fe>=??8oV+FGEO8h zK}4SB)FcU38V)cRLt~onEQFq(*0QDSx$z5=Q+(|Fg*cY>NO*#`I<7e~){>gD?%H%L zrF3Uqr_+bS1D)B?9Evkb+;J>>&MxifE`{3^-!GfFI*{FPDd-4zrsy!Q$Q%fZSH<{d~53{_#Yh!YrnTy%l0})=!yp%l zoP-NNVSuaf46{^8e45C6HjGQu*dTVoyBWqK^tv(!av5YEWC3K6$VqH5lo%G_KOhZ( zYP+VkNbdaT}c-}Hy z+cNGd&}OpCD$G%$xT@*)DZdSo54w6$H+1(fQOFru)fpBIwcclggAq0$%3w5_Jl@zL zjb3D%8^)~Y)w-=A0rs~QMHqhdFwog|_SOUK`?qaq7w@z`js6E_po0O~FNx`iCUUfT zLxByZDpyGMJpCn>h|J(}U?!8vQc@5I^CI*C2*_ z72h2jgct{? zXuAe64hbPPeX&KAVK@$yXl$8i$hpQylqg)&b}gHJbQ3=!{Zk5S{6I(0gLjiupemO* zAaoP}V(w0t=<*U*i)-A~>?#qu!i3k0FyNELfWlro+oJumjUt1_*|tv$ob)eVROLBh zv9DFdCdyu>ZRH;&>}wLEvab@?+=4F=gDpt!(C&oCYHmT_v&G=K`cU#O#(OYKx>BNY6Z6-J}}(vIHgeC5chl7l~`)>P2E&xWbXwjw>8}eO&c0u5Qr+C%h(yQ&TLa^P3RS(1J>$Jdr9N+l7rYhecp$DjMQjOIl z3^7AuRJJDrYBvBVq-X7bLYmeGR1X8{TeQGK4L`NO@gD=K@@4T&>9_&m@KD|{yC!>Wg2^($K7 zwuJE4B=i9F8>+Ec2}A6n#Hj3H8Bj9;K;gquJD~7Qs1K+f2Gk#Dfx`*mTO{-F^hc_( ztOOx8B{3?Sl<_nXz!Sbmw&7_QAAyqe7ya4I{N_DVf4j}_F$jqvJ_^cZ829=@_4P}I z=TH7cong4&hbp9U8OF_RuvOgPc5L-_n<{SQI;!HHCD;Mnw{%oR3LR8MD&0{PSx>O9 z$bLGizUHeoX8-{$RMCK3h7qa+TSdsyu~i&DK~)?>9aZ62gle+`a4;QJ-)d6@b~>pZ F`xnAsloS8} literal 0 HcmV?d00001 diff --git a/Server/obj/Debug/Server.xml b/Server/obj/Debug/Server.xml new file mode 100644 index 0000000..9952bdc --- /dev/null +++ b/Server/obj/Debug/Server.xml @@ -0,0 +1,26 @@ + + + + +Server + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + diff --git a/Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000000000000000000000000000000000000..55b079c3995915f3df33f5b489ac5ad023ed1329 GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/Server/vPlayer.Designer.vb b/Server/vPlayer.Designer.vb new file mode 100644 index 0000000..8f066e1 --- /dev/null +++ b/Server/vPlayer.Designer.vb @@ -0,0 +1,92 @@ + _ +Partial Class vPlayer + Inherits System.Windows.Forms.UserControl + + 'UserControl reemplaza a Dispose para limpiar la lista de componentes. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Requerido por el Diseñador de Windows Forms + Private components As System.ComponentModel.IContainer + + 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento + 'Se puede modificar usando el Diseñador de Windows Forms. + 'No lo modifique con el editor de código. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.btnDel = New System.Windows.Forms.ToolStripMenuItem() + Me.ContextMenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.ContextMenuStrip = Me.ContextMenuStrip1 + Me.Label1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.ForeColor = System.Drawing.Color.White + Me.Label1.Location = New System.Drawing.Point(85, 15) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(107, 25) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.ContextMenuStrip = Me.ContextMenuStrip1 + Me.Label2.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.ForeColor = System.Drawing.Color.White + Me.Label2.Location = New System.Drawing.Point(85, 43) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(80, 17) + Me.Label2.TabIndex = 1 + Me.Label2.Text = "192.168.0.25" + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(60, Byte), Integer), CType(CType(60, Byte), Integer)) + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btnDel}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System + Me.ContextMenuStrip1.Size = New System.Drawing.Size(153, 48) + ' + 'btnDel + ' + Me.btnDel.ForeColor = System.Drawing.Color.White + Me.btnDel.Name = "btnDel" + Me.btnDel.Size = New System.Drawing.Size(152, 22) + Me.btnDel.Text = "&Eliminar" + ' + 'vPlayer + ' + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(50, Byte), Integer), CType(CType(50, Byte), Integer), CType(CType(50, Byte), Integer)) + Me.ContextMenuStrip = Me.ContextMenuStrip1 + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.Label1) + Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Name = "vPlayer" + Me.Size = New System.Drawing.Size(250, 75) + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Label1 As Label + Friend WithEvents Label2 As Label + Friend WithEvents ContextMenuStrip1 As ContextMenuStrip + Friend WithEvents btnDel As ToolStripMenuItem +End Class diff --git a/Server/vPlayer.resx b/Server/vPlayer.resx new file mode 100644 index 0000000..08cba05 --- /dev/null +++ b/Server/vPlayer.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Server/vPlayer.vb b/Server/vPlayer.vb new file mode 100644 index 0000000..0bf9e3f --- /dev/null +++ b/Server/vPlayer.vb @@ -0,0 +1,87 @@ + +Public Class vPlayer + + Public Property En As Boolean = True + + Public Property Color As Color = Color.Gray + Public Property Angle As Short = 0 + Public Property Precision As Byte = 10 + + Public Property Nombre As String + Get + Return Label1.Text + End Get + Set(value As String) + Label1.Text = value + End Set + End Property + Public Property IP As String + Get + Return Label2.Text + End Get + Set(value As String) + Label2.Text = value + End Set + End Property + + Private Sub vPlayer_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint + With e.Graphics + + + ' ------------------- Gráficos al Máximo ---------------- + .CompositingMode = Drawing2D.CompositingMode.SourceOver + .CompositingQuality = Drawing2D.CompositingQuality.HighQuality + .InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic + .PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality + .SmoothingMode = Drawing2D.SmoothingMode.AntiAlias + .TextRenderingHint = Drawing.Text.TextRenderingHint.ClearTypeGridFit + + + + .TranslateTransform(37.5F, 37.5F) + Using pp As New Pen(CType(IIf(En, Color, ControlPaint.Light(Me.BackColor, 25)), Color), 4) + + Label1.ForeColor = pp.Color + Label2.ForeColor = pp.Color + + .FillEllipse(pp.Brush, -15, -15, 30, 30) + .DrawArc(pp, -25, -25, 50, 50, Angle - CSng(Precision / 2), Precision) + + + .TranslateTransform(-37.5F, -37.5F) + .FillRectangle(pp.Brush, 20, Height - 2, Width - 40, 2) + End Using + + + + + End With + + + End Sub + + Private Sub vPlayer_Load(sender As Object, e As EventArgs) Handles Me.Load + DoubleBuffered = True + End Sub + + Private Sub EliminarToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles btnDel.Click + If En Then + En = False + Invalidate() + RaiseEvent Disconect(IP) + Else + Me.Dispose() + End If + End Sub + + Private Sub ContextMenuStrip1_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening + If En Then + btnDel.Text = "Desconectar" + Else + btnDel.Text = "Eliminar" + End If + End Sub + + Public Event Disconect(thisIP As String) + +End Class \ No newline at end of file