NovaMonoFix
Errores PHP
X
Usuario
Password
0 FPS

Tutorial C++ 2.0 Introducción al Snake

05 de Mayo del 2010 por Josep Antoni Bover, 0 visitas, 0 comentarios, 0 votos
Categorías : Windows, Programación, C y C++.
La web está en segundo plano, animación en pausa.
Cargando animación...
Tutorial C++ 2.0 Introducción al Snake

La segunda parte de los tutoriales para el API de windows tiene por objetivo la creacion de el tipico juego de la serpiente.

Este juego consiste en una serpiente que va creciendo a medida que va comiendo bolas, y que contra mas crece la serpiente mas se acelera su movimiento. El juego termina una vez tocamos con la cabeza de la serpiente una pared o la misma serpiente.

Tambien tendrá un marcador de records que quedaran guardados en el disco duro.

En esta segunda parte de los tutoriales profundizaremos especialmente en el entorno gráfico de windows, y mas especificamente en como pintar todo tipo de graficos con varios efectos.

Crearemos un objeto principal, el cual se encargara de gestionar todos los graficos que necesitemos pintar en la ventana del juego al cual llamaremos ObjetoEscena.

Dentro de ese objeto crearemos un objeto base que nos servira para pintar marcos translucidos los cuales tendran una funcion similar a la que tiene una ventana de windows. Dicho objeto se llamara ObjetoEscena_VentanaTranslucida.

Una vez tengamos esa base podremos empezar a crear objetos que hereden del ObjetoEscena_VentanaTranslucida para hacer el tablero del juego, una parte para mostrar mensajes, una parte para mostrar el marcador, y una parte para mostrar los records del juego.

Tambien trataremos por encima el sistema de archivos de windows (para leer y guardar los records) en versiones de windows 6.x (windows vista y 7) no podemos escribir en cualquier lugar por defecto, por lo que necesitaremos comprender como funciona el sistema de permisos del sistema de archivos, y donde podemos almacenar datos para nuestras aplicaciones sin problemas.

Por ultimo trataremos la obtencion de eventos del teclado (para poder hacer que el juego responda a nuestras ordenes), en esencia hay 2 formas de obtener pulsaciones de teclas (una es mediante los eventos de la ventana, y la otra es utilizando apis especiales para ello). En este caso al estar programando un juego necesitaremos utilizar el api especial para obtener las pulsaciones ya que el juego requiere el maximo de precision posible.

2.01

Creación del ObjetoEscena y el ObjetoEscena_VentanaTranslucida:

  En esta parte crearemos un interface gráfico básico para el juego que nos puede servir en otras aplicaciones.
APIs / macros: AlphaBlend, TransparentBlt, BitBlt, PtInRegion, GetDIBits, y SetDIBits.
Estructuras: ninguna...
Mensajes: ninguno...
Notificaciones: ninguna...

2.02

Creación del tablero, el marcador y el mensaje:

  En esta parte crearemos tres Objeto_VentanaTranslucida, uno para el tablero, uno para el marcador, y uno para los mensajes cortos.
APIs / macros: CreateFont, swprintf_s, SetTextColor, DrawText, GetWindowRect, GetClientRect, MoveWindow, CreateSolidBrush, FillRect, CreatePen, MoveToEx, LineTo, SelectObject, DeleteObject, Ellipse, CreateCompatibleDC, y GetTextExtentPoint32.
Estructuras: ninguna...
Mensajes: ninguno...
Notificaciones: ninguna...

2.03

Archivos y Directorios:

  En esta parte veremos un poco por encima como crear archivos y directorios, y tambien que limitaciones tenemos en ciertos sistemas operativos.
APIs / macros: SHGetFolderPath, SHGetKnownFolderPath, LoadLibrary, GetProcAddress, FreeLibrary, CreateFile, CloseHandle, ReadFile, WriteFile, GetFileSize, y GetFileSizeEx.
Estructuras: LARGE_INTEGER.
Mensajes: ninguno...
Notificaciones: ninguna...

2.04

Creación del ObjetoEscena_Records:

  En esta parte crearemos una ventana translucida que nos permitira guardar nombres de los records, y mostrar los records del juego.
APIs / macros: wcscat_s, wcscpy_s, CreateFont, GetTickCount, SetBkMode, SetTextColor, TextOut, swprintf_s, FillRect, y GetStockObject.
Estructuras: ninguna...
Mensajes: ninguno...
Notificaciones: ninguna...

2.05

Creación del ObjetoSnake_Nivel:

  En esta parte crearemos un objeto para leer los niveles a partir de un fichero txt.
APIs / macros: ninguna...
Estructuras: ninguna...
Mensajes: ninguno...
Notificaciones: ninguna...

2.06

Terminando el Snake (ObjetoSnake):

  En este punto crearemos el objeto que controlara el juego, y enlazaremos todo lo hecho anteriormente.
APIs / macros: GetAsyncKeyState, GetTickCount, GetDC, ReleaseDC, PeekMessage, TranslateMessage, y DispatchMessage.
Estructuras: ninguna...
Mensajes: ninguno...
Notificaciones: ninguna...

Requisitos:

  • Conocimientos básicos de C o C++.
  • Entorno Windows XP o superior.
  • Compilador Visual Studio express 2008 o superior.
  • Ganas de hacer trabajar el coco.
Descargar tutorial WinAPI completo Snake compilada