Red de conocimiento informático - Conocimiento informático - Ayuda para escribir Red Snake en C#

Ayuda para escribir Red Snake en C#

Introducción al diseño de RedSnake

Antecedentes

Entorno de desarrollo: Microsoft Visual Studio .Net 2003

Lenguaje de desarrollo:

Desarrollador: Red_angelX

Diseño de la interfaz principal

El lado izquierdo es el área del juego, que consta de un marco y una etiqueta. El marco se usa para dibujar la interfaz del juego y la etiqueta se usa para mostrar si. el juego está funcionando.

El lado derecho es el área de estado, que se compone de múltiples etiquetas y se utiliza para mostrar los parámetros de estado en el juego.

1 Diseño general

El cuerpo principal del juego se divide en 3 módulos principales: la unidad básica del cuerpo de la serpiente, la posición estructural del cuerpo de la serpiente y el control de movimiento de el cuerpo de la serpiente. Cada una de estas tres unidades se describe mediante una clase

1.1 SnakeSegment.cs

La unidad básica se describe mediante un rectángulo y la estructura específica es la siguiente

privado Rectángulo m_rect;

/**//* *********** constructor, pasa las coordenadas del vértice y el ancho del bloque************ ****** /

public SnakeSegment(ubicación del punto, ancho int)

...{

m_rect = nuevo rectángulo(ubicación, nuevo tamaño (ancho, ancho)) ;

}

//Propiedades

Rectángulo público Rectángulo

...{

Obtener

p>

...{

Devolver m_rect

}

}

}

Ubicación del punto público

...{

Obtener

...{

devolver esto .m_rect.Location;

}

establecer

...{

this.m_rect.Location = valor

}

}

Tamaño público Tamaño

...{

Obtener

. ..{

return this.m_rect.Size;

}

}

1.2 Módulo de posición de estructura de serpiente Snake.cs

Snake Una estructura consta de una serie de unidades básicas, que se almacenan en una estructura de cola, que pertenece al espacio de nombres System. El espacio de nombres System.Collections representa una colección de objetos de primero en entrar, primero en salir. La clase serpiente incluye varios métodos: Agregar (agregar nuevo objeto), Borrar (borrar objeto), Slither (mover el cuerpo de la serpiente) y PointOnSnake (determinar si un determinado punto está dentro del cuerpo de la serpiente).

//Agregar un nuevo nodo para la serpiente

public void Add(Point newLocation)

...{

SnakeSegment newhead = new SnakeSegment(newLocation, m_width);

//Comprueba si la cola existe

if(m_segs == null)

...{

m_segs = nueva cola(MAXSNAKELENGTH);

}

else if(m_segs.Count == MAXSNAKELENGTH)

...{

Slither(newLocation);

return;

}

/Agregar cola de serpiente a m_segs

m_segs. Enqueue(newhead );

}

/ Elimina la cola de serpiente agregando una nueva cabeza de serpiente y moviendo la cola de serpiente usando el método SnakeTail

public void Slither (Punto nuevaUbicación)

...{

SnakeSegment newhead = new SnakeSegment(newLocation, this.m_width);

/Agregar una cabeza de serpiente

this.m_segs. Enqueue(newhead);

//Quita la cola de serpiente

this.m_segs.Dequeue(newhead);