Red de conocimiento de abogados - Derecho de sociedades - ¿Cómo hacer un juego de Tetris usando VB?

¿Cómo hacer un juego de Tetris usando VB?

Visual Basic hereda las características del lenguaje básico que es fácil de aprender y usar, y es especialmente adecuado para que los principiantes aprendan a programar el sistema Windows. Con el advenimiento de la sociedad de la información en el siglo XXI, la penetración de las computadoras en el trabajo y la vida de las personas requiere que trabajemos cada vez más con computadoras para permitir a los usuarios relajarse en sus apretadas agendas, diversos programas de ocio, como el chat. herramientas, juegos, etc. Entonces nuestro equipo se propuso diseñar e iniciar dicho software de juego. Al estudiar Visual Basic este semestre, inicialmente dominé los conocimientos más básicos del lenguaje Visual Basic, por lo que, bajo la guía de profesores como Niu Rong y Li Peng, comencé a escribir un juego de Tetris en Visual Basic.

La razón por la que elegimos desarrollar Tetris es que es sin duda uno de los mejores juegos de todos los tiempos. De todos los juegos jamás lanzados, se considera que Tetris es el único que realmente ha atraído a una amplia gama de personas. ¿Quién puede decir exactamente cuántos miles de horas han dedicado la gente a este juego hasta ahora? Quizás este tiempo podría haberse dedicado a actividades más productivas. Algunos críticos podrían afirmar que el Tetris es una pérdida de tiempo mayor que cualquier cosa que haya aparecido en las últimas dos décadas. Por nuestra parte, lo nominamos felizmente como uno de los mejores juegos de GameSpot de todos los tiempos.

Para recordar los clásicos y brindar a la mayoría de los usuarios de computadoras una forma de relajarse y divertirse después del trabajo, nuestro equipo comenzó a desarrollar un juego clásico de Tetris utilizando lenguaje VB.

Descripción general del proyecto

2.1 Nombre del proyecto

Juego Tetris

2.2 Plataforma de diseño

VB significa Visual Basic , es una herramienta de programación visual con el lenguaje básico como lenguaje básico.

Vb es una herramienta de desarrollo de aplicaciones de Windows que Microsoft abandonó en 1991. Visual significa "visual". Cuando se lanzó por primera vez, todavía tenía algunos defectos y relativamente pocas funciones. Pero después de años de investigación sobre el desarrollo. Recientemente, Microsoft lanzó la versión VB6.0

Entorno operativo VB6.0: hardware, requiere un procesador de 486 o superior, una memoria de 16 MB o más, un disco duro de 50 MB o más, un CD -ROM y un ratón. Software: Se requiere Windows 95 o superior.

2.3 Ideas de programación

Los juegos se utilizan para entretener a todos, por lo que deberían poder traer felicidad a todos y eliminar la fatiga de todos durante el uso, por eso jugamos hermosos escenarios y hermosa música. Se le han agregado y se ha configurado la función de pasar niveles y actualizaciones para estimular la pasión por el entretenimiento de todos.

A partir de la jugabilidad básica del juego, que es principalmente la forma y rotación del Tetris, construimos un pequeño bloque en forma de malla de 4*4 en un marco de imagen en el diseño, que se compone de estos Para formas nuevas, cada cuatro piezas pequeñas se pueden conectar para construir una forma. Por lo tanto, hemos diseñado 7 formas en total. Cada forma se puede girar para cambiar en 2 a 4 formas, usando la función aleatoria. de antemano en una ventana de visualización para referencia del usuario, y luego copia la forma mostrada en la ventana del juego para su ubicación. En la ventana del juego, el usuario puede usar las teclas de dirección del teclado para controlar el movimiento del bloque y luego usar declaraciones recursivas para. juzga cada fila si los bloques en una determinada fila están llenos, elimina los bloques en esta fila y haz que los bloques de arriba caigan libremente. La velocidad de descenso de los bloques está controlada por el control del reloj, el usuario también puede usarlo. la tecla hacia abajo para acelerar la velocidad de caída, definir una variable y registrar la función de eliminación. Finalmente, se puede obtener la puntuación del usuario. Cuando se alcanza una determinada puntuación, se puede utilizar la declaración if. el siguiente nivel.

Los pasos principales del diseño del juego Tetris son los siguientes 10 aspectos:

(1) Diseño de la interfaz del juego.

(2) Forma de Tetris.

(3) Rotación del Tetris.

(4) Movimiento Tetris (incluyendo izquierda, derecha y abajo).

(5) Función de eliminación automática del Tetris.

(6) Libre elección de niveles de juego.

(7) Libre elección de la velocidad de juego.

(8) Cálculo de puntuaciones de juegos.

(9) Diseño e implementación funcional de las opciones del menú del juego.

(10) La música de fondo y efectos especiales del juego.

Controles y objetos principales utilizados en 2.4

Los principales controles que utilizamos en el proceso de diseño son: control de comandos, control de imágenes, control de imágenes, control de etiquetas, control de temporizador, control de texto, control del reproductor de Windows Media, etc.

Funciones principales implementadas en 2.5

El juego Tetris que desarrollamos implementa principalmente las siguientes funciones:

1. Puede controlar de manera flexible los bloques en el marco gráfico en movimiento. .

2. Los bloques pueden girar libremente durante el juego.

3. Cuando los bloques de una determinada fila estén llenos, los bloques de esta fila se eliminarán automáticamente y luego todos los bloques de arriba se moverán hacia abajo, lo que puede admitir la eliminación continua de filas.

4. Antes de jugar, puedes elegir la velocidad del juego y el nivel del juego. La velocidad del juego es la velocidad de caída de los bloques y el nivel del juego es la generación aleatoria de un. cierta cantidad de bloques irregulares en la capa base durante el juego inicial. Las líneas generadas pueden elegir el número. Cada fila producirá al menos 5 o más bloques irregulares, lo que aumenta la dificultad del juego. para maestros de juegos.

5. La puntuación del juego admite puntos y se basa en la fórmula:

Puntuación = puntuación original 100 * (2 ^ Número de líneas eliminadas al mismo tiempo - 1)

De esta manera, cuantas más líneas elimines al mismo tiempo, mayor será tu puntuación. Cuando los puntos del juego alcancen un cierto nivel, podrás actualizar automáticamente. Esta actualización se refiere a la mejora de velocidad.

6. El juego ofrece una hermosa escena y hermosa música, brindándote una pasión ilimitada.

Desarrollador 2.6

Dado que los temas seleccionados para el diseño de este curso son demasiado complejos y el tiempo es escaso, el instructor sugirió dividir el trabajo con los compañeros. Los miembros de nuestro equipo incluyen al líder del equipo Sun Leizhou y al líder adjunto del equipo Zou Haixing. Este juego fue desarrollado conjuntamente por nosotros dos.

Texto

3.1 Implementación específica del diseño del juego

Con los esfuerzos conjuntos de nosotros dos, este diseño finalmente se completó con éxito. Debido al poco tiempo, puede haber algunos aspectos mal considerados en el diseño, pero sus funciones ya pueden satisfacer las necesidades de la mayoría de los usuarios. Creo que con el tiempo, se creará un juego de Tetris más clásico y perfecto. le mostrará cómo implementar cada paso en detalle.

3.1.1 El diseño de la interfaz del juego y la implementación de música de fondo y efectos especiales

El juego Tetris consta principalmente de dos interfaces, la interfaz de inicio de sesión y la interfaz de inicio del juego. En la interfaz de inicio de sesión, primero puede ver la escena de las flores de ciruelo volando en la noche de Navidad. Las flores de ciruelo hacen un movimiento de caída en una curva de función desde la parte superior del formulario. Defina un grupo de control de imagen en el formulario y defina una dinámica. matriz de variables de coordenadas X de flor de ciruelo y una variable de coordenadas Y dinámica en General, una matriz dinámica de variables para el paso X, una matriz dinámica de variables para el paso Y y una matriz dinámica de variables de amplitud.

Luego, en el formulario form_load, puede definir el número de flores de ciruelo y usar funciones aleatorias para generar coordenadas aleatorias de flores de ciruelo, distancias de paso y amplitudes. El control Imagen llama a las imágenes de flores de ciruelo en tiempo de ejecución, y el control Imagen puede controlar la caída. Velocidad mediante el control del reloj, que se puede ajustar libremente, la flor del ciruelo presiona nieve (i). La función Left = xp(i) am(i) * Sin(dx(i)) está realizando un movimiento de trayectoria de función misteriosa longitudinal positiva. , y es un movimiento de caída libre en dirección vertical, con am (i) para controlar la amplitud del movimiento izquierdo y derecho de la flor del ciruelo. Por lo tanto, podemos ver una imagen de flores de ciruelo bailando libremente en el aire.

La imagen de fondo es un hermoso patrón procesado con software Photoshop. Todos los efectos de animación originales en la imagen son producidos por el control Imagen, y el botón en el que hacer clic para ingresar al juego se implementa mediante el control Etiqueta. debido a que el control de Imagen no La función frontal y posterior no puede reflejar completamente la escena nevada, por lo que todos estos patrones se colocan en el fondo sin afectar el efecto de la caída de los copos de nieve. Cuando haces clic en la pantalla, aún puedes ingresar a la interfaz del juego.

La música de fondo del juego es un fragmento de código que llama al reproductor del sistema Windows Player para reproducir música de fondo. Dado que este diseño se basa principalmente en cómo está diseñado el juego, la función de reproducir música de fondo será la misma. No se presentará aquí.

3.1.2 La forma del Tetris

Creo que todos mis amigos han jugado al Tetris y están familiarizados con la jugabilidad y la forma de los bloques. Nuestro juego solo elige las 7 formas más básicas, incluidas la forma larga, la forma cuadrada, la forma de S recta, la forma de S inversa, la forma de 7 recta, la forma de 7 invertida y la forma de T. Podemos agregar más formas si es necesario. Divida el marco de imagen del área de juego de la interfaz del juego en 10 * 20 piezas pequeñas, coloque un control de comando en cada pieza pequeña y divida el marco de imagen del área de vista previa en 4 * 4 piezas pequeñas en la misma proporción, que también se componen de comandos Controles Podemos pensar en el marco de imagen del área de vista previa como una parte seleccionada del marco de imagen del área de juego. Los números cuadrados pequeños en el área de juego y los números del área de visualización son los siguientes:

0 1 2 3. 4 5 6 7 8 9

…… 99

3 4 5 6

13 14 15 16

23 24 25 26

33 34 35 36

Número de área de juego y número de área de visualización

Utilice Seleccionar para enumerar las 7 formas del bloque. Por ejemplo, el diseño largo tiene cuatro. 3.4.5.6 y 5.15.25.35 en el área de visualización Los cuadrados forman dos formas y las matrices son:

m(0) = 3: m(1) = 4: m(2) = 5. : m(3) = 6: situación2 = 0

p>

m(0) = 5: m(1) = 15: m(2) = 25: m(3) = 35 : situación2 = 1

Numere su forma como 0 y 1, que se pueden llamar fácilmente más tarde. Los otros bloques tienen la misma forma.

3.1.3 Rotación del Tetris

La rotación del Tetris se obtiene principalmente transformando la posición de los bloques. Por ejemplo, en el ejemplo anterior, hay dos estilos de tiras largas. Según los cuadrados pequeños Cambie el número para lograr la rotación de toda la forma, por ejemplo:

Si n(0) - 18 gt; n(3) 9 lt;

Si cmdfang (n(0) - 18).Visible = False Y _

cmdfang(n(1) - 9).Visible = False Y _

cmdfang(n(3) 9 ).Visible = False Entonces

hidefang 0

n(0) = n(0) - 18

n (1) = n(1) - 9

n(3) = n(3) 9

showfang 0

situación = 1

End If

End If

Existe una fórmula para la forma de un bloque al girar. Por supuesto, primero debemos determinar si cumple con los requisitos para la rotación. arriba está la rotación de una barra larga de horizontal a vertical. Usamos el tercer cuadrado pequeño n (3) en su forma se gira como el centro. De esta manera, cuando comienza a moverse, la barra larga debe girar al menos. la tercera fila antes de que pueda cambiar de horizontal a vertical. El área de juego. El número del primer cuadrado en la tercera fila del cuadro de gráficos es 20, por lo que el número n(0) del primer cuadrado pequeño en la forma larga debe ser. mayor que 20. Del mismo modo, los bloques largos también tienen un límite cuando caen al fondo. Si la tira cae hasta la última fila, no podrá cambiar de horizontal a vertical.

3.1.4 Cómo realizar el movimiento de bloques y eliminar automáticamente filas de bloques

Nuestro juego Tetris utiliza principalmente el atributo visible del control de comando para lograr el efecto. En el juego, se puede ver que el marco de gráficos del área consta de muchos pequeños cuadrados de comando. El proceso de movimiento de los cuadrados es mostrar u ocultar los cuadrados en la forma, al igual que el efecto de luz de neón actual. velocidad del cambio del atributo visible y la desaparición de la capa anterior, la visualización de la siguiente capa, de modo que el efecto de movimiento de caída del bloque se puede ver desde el efecto visual.

Durante el proceso de caída, los bloques determinarán automáticamente los atributos visibles de cada fila de bloques. Si todos son verdaderos, los atributos visibles de esta fila de bloques pequeños se cambiarán a falso, y luego lo anterior. Se cambiarán los bloques pequeños. Muévase hacia abajo, use la instrucción for para realizar un juicio de bucle y cambie el atributo visible del cuadro pequeño para todas las filas en esta situación. Cuando esto suceda en varias líneas al mismo tiempo, utilice llamadas recursivas para lograr una eliminación continua de líneas.

El código específico del programa es el siguiente:

For i = 190 To 10 Step -10

If cmdfang(i).Visible = True And _

cmdfang (i 1 ).Visible = Verdadero Y _

cmdfang(i 2).Visible = Verdadero Y _

cmdfang(i 3).Visible = Verdadero Y _

cmdfang(i 4).Visible = Verdadero y _

cmdfang(i 5).Visible = Verdadero y _

cmdfang(i 6).Visible = Verdadero y _

cmdfang(i 7).Visible = Verdadero Y _

cmdfang(i 8).Visible = Verdadero Y _

cmdfang(i 9).Visible = Verdadero Entonces

Para j = i 4 A i Paso -1

t = 1

cmdfang(j).Visible = False

cmdfang (2 * i 9 - j).Visible = False

Para k = 1 a 4000

DoEvents

Siguiente

t = 0

Siguiente

linenum = linenum 1

Para j = i - 1 a 0 Paso -1

Si cmdfang (j) .Visible = Verdadero Entonces

cmdfang(j).Visible = Falso

cmdfang(j 10).Visible = Verdadero

Finalizar si

Siguiente

clearline 'Para lograr la eliminación continua de varias líneas, aquí se utilizan llamadas recursivas

End If

Siguiente

3.1.5 Libre elección de la velocidad del juego y nivel del juego

La libre elección de la velocidad del juego no es más que cambiar la frecuencia del control del reloj. Hemos agregado la función de seleccionar la velocidad en el. menú, y también agregó la función de prueba, que se mostrará en la ventana de visualización. La forma del bloque oculto hace que sea más difícil para los jugadores. Si no desea aceptar la prueba, puede hacer clic en la pantalla para restaurarla. su estado original.

La libre elección del nivel de juego permite al usuario elegir cuándo comienza el juego. Un cierto número de bloques aleatorios aparecerán en la parte inferior del área de juego, lo que también aumenta la dificultad para el jugador. El código de la función es el siguiente:

For i = 19 To 20 - Val(txthard.Text) Paso -1

For j = i * 10 To i * 10 9

Si Rnd gt; = 0.5 Entonces cmdfang(j ).Visible = True

Siguiente

Siguiente

Más de la mitad (es decir, más de 5 ) se pueden generar aleatoriamente en cada fila de la capa inferior según el coeficiente de dificultad que elijas. Los pequeños cuadrados anteriores son adecuados para jugadores a los que les gusta la dificultad alta.

3.1.6 Cálculo de puntuaciones de juegos y edición de menús de juegos

El cálculo de puntuaciones de juegos se determina principalmente en función del número de líneas eliminadas. Por supuesto, el número de líneas eliminadas. al mismo tiempo no varía lo mismo, la puntuación de cada fila también es diferente. Si el número de filas que eliminas cada vez es 1, la puntuación final es de 100 puntos. Si eliminas 2 filas al mismo tiempo, la puntuación final es de 100 puntos. La puntuación final es de 300 puntos. Si eliminas 3 filas al mismo tiempo, la puntuación final es de 700 puntos. Si eliminas 4 líneas al mismo tiempo, la puntuación es de 1500 puntos, que está determinada por la fórmula: puntuación = puntuación original 100. * (2 ^ número de líneas eliminadas al mismo tiempo - 1).

Para editar juegos, los lectores pueden consultar la siguiente introducción a la función.

3.2 Introducción a las funciones del juego

Archivo-------Inicio: Inicia el juego.

Continuar: continúa el juego.

Pausar: Detiene temporalmente el juego. Haz clic en Continuar para continuar el juego.

Salir: Salir del juego.

Configuración-------Selecciona el nivel del juego.

Selecciona la velocidad del juego.

Prueba-------Pantalla: Muestra el bloque deseado.

Ocultar: oculta el bloque de la vista.

Ayuda-------consejos de operación, información de versión e información del autor.

La interfaz de usuario específica es como se muestra en la figura:

Imagen: interfaz de inicio de sesión: interfaz del juego

Imagen: interfaz de edición de menú: interfaz de ayuda del juego

p>

Notas relacionadas

Después de más de dos semanas de diseño y desarrollo, el juego Tetris ha sido un éxito. Sus funciones básicamente satisfacen las necesidades de los usuarios y pueden completar funciones como control de juegos, transformación de bloques y eliminación de capas. También proporciona configuraciones de juego para algunos jugadores técnicamente avanzados, el nivel y la velocidad del juego se pueden ajustar, lo que les permite utilizar plenamente las características de los juegos competitivos y desafiarse constantemente a sí mismos y a sus límites.

4.1 Deficiencias en el diseño del juego

Sin embargo, debido al corto tiempo de diseño del curso, el juego todavía tiene muchos aspectos insatisfactorios, como muy pocos tipos de bloques y salir del juego no puede guardar el progreso. y muchos otros problemas. Estos deben mejorarse aún más. También podemos cambiar la música de fondo del juego para adaptarla a diferentes jugadores. Después de cada nivel, podemos reproducir un flash para atraer jugadores para desafiar los límites y mejorar continuamente el interés de los jugadores. Creo que en el futuro durante el proceso de producción, les ofreceremos un juego actualizado con funciones más completas.

4.2 La diferencia entre el lenguaje VB y C

Nuestro pequeño juego también se puede implementar en lenguaje C. La programación del programa no es tan conveniente y práctica como el lenguaje VB. Hay muchas similitudes con el lenguaje VB. Aunque existen algunas diferencias en la sintaxis, las ideas de programación son exactamente las mismas. VB puede implementar muchas funciones que C# no puede, como declaraciones When, parámetros opcionales, variables estáticas locales y objetos. acceder a métodos estáticos, manejar eventos de enlace, en caso de error, manejar excepciones, enlace tardío directo de objetos, etc. Los lenguajes VB y C# se compilan en el mismo CIL, pero ¿por qué VB admite tantas características interesantes? Exploremoslo juntos.

4.21 Variables estáticas locales

VB admite el uso de la palabra clave Static para declarar variables locales, de modo que el valor de la variable se pueda mantener al final del proceso:

Public Sub Test1 ()

Estático i como entero

i = 1 'Implementar un contador de llamadas a procedimiento

End Sub

Implementamos un contador de procesos simple. Cada vez que se llama a la Prueba, el valor del contador aumenta en 1. De hecho, hay muchas situaciones en las que queremos mantener el valor de una variable. La estática de C# no se puede utilizar dentro de un procedimiento. Entonces, para implementar un contador de procedimientos, tenemos que declarar una variable a nivel de clase.

Obviamente, esto no es tan bueno como VB. Porque no hay forma de evitar que otros procesos modifiquen la variable del contador. Esto es lo mismo que la encapsulación de objetos. Debería haber sido una variable local de un método, pero ahora me veo obligado a hacerlo independiente. Obviamente, este es un mal diseño. Entonces, ¿cómo genera VB variables estáticas locales? Volviendo el código anterior a ensamblador, podemos ver claramente que en el CIL generado por VB, i no aparece como una variable local, sino como un Campo de la clase: .field private specialname int32 $STATIC$Test1$2001$i

En otras palabras, se cambia el nombre de i como campo de una clase, pero se le asigna un nombre especial. Intentar acceder a $STATIC$Test1$2001$i en el código es imposible porque no es un identificador válido. Pero en IL, el código para agregar uno a esta variable es exactamente el mismo que el de un campo de clase general y se carga a través de ldfld. Creo que este método es muy inteligente. Convierte una variable estática en un campo de clase con el mismo ciclo de vida, pero el compilador controla los permisos de acceso y la convierte en una variable local. También explica por qué VB utiliza dos palabras clave diferentes para declarar variables estáticas: estática y compartida. Dado que las variables estáticas locales son esencialmente campos de la clase, siguen siendo diferentes de las variables locales reales. Por ejemplo, en condiciones de subprocesos múltiples, el acceso a las variables estáticas locales es el mismo que el acceso a los campos.

4.2.2Handles y WithEvents

Además de utilizar métodos similares a C# para manejar respuestas a eventos, VB también tiene un método de procesamiento de eventos único heredado de VB5: WithEvents.

Me gusta llamar a este tipo de método de procesamiento de eventos procesamiento de eventos estático. Al escribir un método para responder a un evento, ya has decidido a qué evento responde el método, mientras que C# vincula el evento en el código. . El método estático WithEvents en VB es muy útil. Puede mejorar significativamente la legibilidad del código. También hace que el procesamiento de eventos en VB.net sea muy conveniente, a diferencia de C#, donde hay que vincular eventos manualmente después de salir del diseñador de formularios.

4.2.3 Operador de conversión de tipo

Se agregará un nuevo operador: TryCast en Visual Basic 2005, que es equivalente al operador as en C#. Siempre deseé que VB tuviera un operador así. Los operadores de conversión de tipos actuales de VB incluyen principalmente CType y DirectCast. Su uso es casi el mismo. Comparé estos dos operadores en detalle y llegué a las siguientes conclusiones:

1. Al convertir a un tipo de referencia, no hay diferencia entre los dos. La instrucción castclass se llama directamente, a menos que el tipo esté sobrecargado. Operador de conversión CType. Los operadores de DirectCast no se pueden sobrecargar.

2. Al convertir a un tipo de valor, CType llamará a la función de conversión de tipo especificada por VB (si corresponde). Por ejemplo, al convertir String a Int32, se llamará automáticamente.

4.2.4 Propiedades predeterminadas y parámetros de propiedad

En el VB6 original, había una función peculiar: propiedades predeterminadas. En VB6, el nombre de un objeto puede representar directamente las propiedades predeterminadas del objeto.

4.2.5 Parámetros opcionales y paso por nombre

VB admite la función "parámetros opcionales" a partir de 4.0. Es decir, algunos parámetros de funciones o subrutinas son opcionales y no es necesario ingresarlos al llamar. De hecho, VB ha tenido algunas funciones con parámetros opcionales desde VB 1.0, pero fue sólo en VB 4.0 que a los usuarios se les permitió desarrollar dicho proceso por sí mismos. En VB4, los parámetros opcionales no necesitan tener valores predeterminados, pero en VB, si se utilizan parámetros opcionales, deben tener valores predeterminados. Al llamar, si VB descubre que el parámetro se omite, leerá automáticamente el valor predeterminado de la parte .param y lo pasará explícitamente al proceso.

Esta parte la maneja completamente el compilador y no hay penalización en el rendimiento, que es exactamente lo mismo que pasar todos los parámetros manualmente. En cuanto al paso por nombre, VB ajustará automáticamente el orden de los parámetros y el resultado no es diferente del paso tradicional. Esto significa que podemos utilizar esta comodidad con confianza. Además, cuando se implementa un proceso con parámetros opcionales en C#, como máximo se convertirá en parámetros no opcionales, lo que no causará ningún otro problema.

PD.Muchos componentes COM utilizan parámetros predeterminados y las listas de parámetros de algunos procesos son muy largas. Se pueden procesar fácilmente en VB, pero en C#, a menudo se les pide a los desarrolladores que pasen parámetros al servidor.

4.2.6 Después de la comparación, se pueden sacar las siguientes conclusiones:

1. En la actualidad, no existe un lenguaje de programación convencional simple, si desea aprenderlo y dominarlo.

2. El umbral de VB es relativamente bajo y las ideas de programación son más fáciles de aceptar.

3. Aprender C no dará resultados a corto plazo.

4. Según la encuesta de usuarios, el 69% de los candidatos siente que VB es más aceptable

Agradecimientos

En el diseño de este curso, aprendí del Los instructores Niu Rong y Li Peng aprendieron mucho de mí. Me ha beneficiado mucho la actitud de trabajo seria y responsable del profesor, su espíritu académico riguroso y su profundo nivel teórico. Me ha brindado mucha ayuda tanto en teoría como en la práctica, lo que me ha permitido realizar muchas mejoras. Esto será de gran ayuda para mi trabajo y estudio futuro. Gracias por su paciente orientación.

Además, los profesores Hua Xiyao y Du Yijun también nos brindaron mucha ayuda durante el proceso de desarrollo del juego, ayudando a resolver muchas dificultades para que el juego pudiera desarrollarse a tiempo, al igual que todos los estudiantes. Él también me brindó mucha ayuda y me gustaría expresar aquí mi gratitud.

Referencias:

[1]Tutorial de programación básica de Vsual Autores: Gong Peizeng, Lu Weimin, publicado por Yang Zhiqiang Higher Education Press

[2]Vsual Basic Autores de programación 6.0: Liu Xinmin, Cai Qiong, Bai Langsheng Publicado por Tsinghua University Press

[3] 80 ejemplos de cómo comenzar con VB6 Autores de programación: Tang Kaijun, Tang Huili Shandong Electronic Audio and Video Publishing House

[4] Tutorial de ejemplo básico de Vsual Autor: Publicado por Lu Yi Science Publishing House

[5] Ejemplos clásicos de Vsual Basic 50 conferencias Autor: Zhao Xinsheng, Kang Huijuan, Publicado por Liu Shenghong Editorial científica