¿Cómo lo solucionas?
No llego a comprender cómo se computa el Checksum.
De todas formas tampoco le doy ningún interés, ya que el checksum es solo un indicador, un bad checksum no afecta al comportamiento del juego.
Edito:
Hice por ahora hasta aquí y esto hasta las ******************************** de colocar compañías.
Lo que estás haciendo, aparte de no ser nada práctico, son malas prácticas de programación,
¿en que momento se te ocurre que la mejor solución es ponerte a escribir una a una las +120 condicionales?
,
¿para que tienes a tu disposición las Classes/Types de .Net Framework si no las usas?, ¿para que estás programando
en C#?.
Existe una cosa que se llama Diccionarios (Dictionary) entre otros muchos tipos de objetos que puedes utilizar, como listas, tuplas, arrays dimensionales, arrays escalonados (jagged array), etc, o tu propia Class.
Piensa mejor en las alternativas que realmente existen para ahorrarte tiempo, antes de volver a hacer algo cómo lo que has hecho
.
yo por ejemplo no me puse a escribir una a una la enumeración con las +120 entradas, no, esa enumeración la conseguí desarrollando un código de 2 o 3 lineas para reemplazar el orden de las palabras (los números a la derecha) de la lista original, y luego cojí un editor de texto que soportase expresiones regulares (Sublime Text) y usé el reemplazo mediante dichas expresiones para los caracteres ilegales; En caso de no haber tenido un editor que lo hiciese, habría desarrollado un pequeño código de pocas lineas para utilizar RegEx con los mismos fines.
Ejemplo:
Public Class Form1
Dim licenses As String =
<a>
0 Invalid License Code
1 Nintendo
5 Zamuse
8 Capcom
9 HOT B
10 Jaleco
11 STORM (Sales Curve) (1)
15 Mebio Software
18 Gremlin Graphics
21 COBRA Team
22 Human/Field
24 Hudson Soft
26 Yanoman
28 Tecmo (1)
30 Forum
31 Park Place Productions / VIRGIN
33 Tokai Engeneering (SUNSOFT?)
34 POW
35 Loriciel / Micro World
38 Enix
40 Kemco (1)
41 Seta Co.,Ltd.
45 Visit Co.,Ltd.
53 HECT
61 Loriciel
64 Seika Corp.
65 UBI Soft
71 Spectrum Holobyte
73 Irem
75 Raya Systems/Sculptured Software
76 Renovation Pruducts
77 Malibu Games (T*HQ Inc.) / Black Pearl
79 U.S. Gold
80 Absolute Entertainment
81 Acclaim
82 Activision
83 American Sammy
84 GameTek
85 Hi Tech
86 LJN Toys
90 Mindscape
93 Technos Japan Corp. (Tradewest)
95 American Softworks Corp.
96 Titus
97 Virgin Games
98 Maxis
103 Ocean
105 Electronic Arts
107 Laser Beam
110 Elite
111 Electro Brain
112 Infogrames
113 Interplay
114 LucasArts
115 Sculptured Soft
117 STORM (Sales Curve) (2)
120 THQ Software
121 Accolade Inc.
122 Triffix Entertainment
124 Microprose
127 Kemco (2)
130 Namcot/Namco Ltd. (1)
132 Koei/Koei! (second license?)
134 Tokuma Shoten Intermedia
136 DATAM-Polystar
139 Bullet-Proof Software
140 Vic Tokai
143 I'Max
145 CHUN Soft
146 Video System Co., Ltd.
147 BEC
151 Kaneco
153 Pack in Video
154 Nichibutsu
155 TECMO (2)
156 Imagineer Co.
160 Wolf Team
164 Konami
165 K.Amusement
167 Takara
169 Technos Jap. ????
170 JVC
172 Toei Animation
173 Toho
175 Namcot/Namco Ltd. (2)
177 ASCII Co. Activison
178 BanDai America
180 Enix
182 Halken
186 Culture Brain
187 Sunsoft
188 Toshiba EMI/System Vision
189 Sony (Japan) / Imagesoft
191 Sammy
192 Taito
194 Kemco (3) ????
195 Square
196 NHK
197 Data East
198 Tonkin House
200 KOEI
202 Konami USA
205 Meldac/KAZe
206 PONY CANYON
207 Sotsu Agency
209 Sofel
210 Quest Corp.
211 Sigma
214 Naxat
216 Capcom Co., Ltd. (2)
217 Banpresto
219 Hiro
221 NCS
222 Human Entertainment
223 Ringler Studios
224 K.K. DCE / Jaleco
226 Sotsu Agency
228 TandESoft;
229 EPOCH Co.,Ltd.
231 Athena
232 Asmik
233 Natsume
234 King/A Wave
235 Atlus
236 Sony Music
238 Psygnosis / igs
243 Beam Software
244 Tec Magik
255 Hudson Soft
</a>.Value
Private licDict
As New Dictionary(Of String,
String)
Private Sub CreateLicenseDictionary()
For Each line As String In licenses.Trim.Split({ControlChars.Lf}, StringSplitOptions.RemoveEmptyEntries)
Dim code As Byte = Convert.ToByte(line.Substring(0, line.IndexOf(" "c)))
Dim codeHex As String = Convert.ToString(code, toBase:=16)
Dim name As String = line.Substring(line.IndexOf(" "c), line.Length - code.ToString.Length)
licDict.Add(codeHex, name)
Next line
End Sub
Private Sub Test()
textBox_Codigo_Licencia_2.Text = Me.licDict(Codigo_Licencia)
End Sub
End Class
Puedes hacer algo parecido en C#, con los datos de la variable "code" y "name" también puedes crear la enumeración de C# en un archivo de texto, construyendo el string con ese formato específico, que solo tendrías que copiar y pegar en tu código fuente.
En fin... será por porisiblidades.
Saludos!