Está en la página 1de 4

Zambrano Heredia Robert Ismael

#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>

#define ARRIBA 72
#define IZQUIERDA 75
#define DERECHA 77
#define ABAJO 80
#define ESC 27

int cuerpo[200][2];
int n = 1, tam = 10, dir = 3;
int x = 10, y = 12;
int xc = 30, yc = 15;
int velocidad = 60;
char tecla;

void gotoxy(int x, int y)


{
HANDLE hCon;
COORD dwPos;

dwPos.X = x;
dwPos.Y = y;
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hCon,dwPos);
}
void OcultaCursor( ) {
CONSOLE_CURSOR_INFO cci = {100, FALSE};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
}
void pintar( ){
for(int i=2; i < 78; i++){
gotoxy (i, 3); printf ("%c", 205);
gotoxy(i, 23); printf ("%c", 205);
}
for(int v=4; v < 23; v++){
gotoxy (2,v); printf ("%c", 186);
gotoxy(77,v); printf ("%c", 186);
}
gotoxy (2,3); printf ("%c", 201);
gotoxy (2,23); printf ("%c", 200);
gotoxy (77,3); printf ("%c", 187);
gotoxy(77,23); printf ("%c", 188);
}
void guardar_posicion( ){
cuerpo[n][0] = x;
cuerpo[n][1] = y;
n++;
if(n == tam) n = 1;
}
void dibujar_cuerpo( ){
for(int i = 1; i < tam; i++){
gotoxy(cuerpo[i][0] , cuerpo[i][1]); printf("*");
}
}
void borrar_cuerpo( ){
gotoxy(cuerpo[n][0] , cuerpo[n][1]); printf(" ");
}
void teclear( ){
if(kbhit( )){
tecla = getch( );
switch(tecla){
case ARRIBA : if(dir != 2) dir = 1; break;
case ABAJO : if(dir != 1) dir = 2; break;
case DERECHA : if(dir != 4) dir = 3; break;
case IZQUIERDA : if(dir != 3) dir = 4; break;
}
}
}
void comida( )
{
if(x == xc && y == yc)
{
xc = (rand( ) % 73) + 4;
yc = (rand( ) % 19) + 4;

tam++;
gotoxy(xc, yc); printf("%c", 4);
}
}
bool game_over( )
{
if(y == 3 || y == 23 || x == 2 || x == 77) return false;
for(int j = tam - 1; j > 0; j--){
if(cuerpo[j][0] == x && cuerpo[j][1] == y)
return false;
}
return true;
}
int main( )
{
OcultaCursor( );

pintar( );
gotoxy(xc, yc); printf("%c", 4);

while(tecla != ESC && game_over( ))


{
borrar_cuerpo( );
guardar_posicion( );
dibujar_cuerpo( );
comida( );
teclear( );
teclear( );

if(dir == 1) y--;
if(dir == 2) y++;
if(dir == 3) x++;
if(dir == 4) x--;

Sleep(velocidad);
}
pintar( );
return 0;
}

También podría gustarte

  • Carro en C++
    Carro en C++
    Documento13 páginas
    Carro en C++
    W.L. Pepe
    Aún no hay calificaciones
  • Robótica: diseño y aplicación
    Robótica: diseño y aplicación
    De Everand
    Robótica: diseño y aplicación
    Calificación: 5 de 5 estrellas
    5/5 (1)
  • Aritmetica C++
    Aritmetica C++
    Documento58 páginas
    Aritmetica C++
    J.c. Franco
    100% (3)
  • Snake Game CPP
    Snake Game CPP
    Documento4 páginas
    Snake Game CPP
    Alejandro Montufar
    Aún no hay calificaciones
  • Archibo Incognito2
    Archibo Incognito2
    Documento8 páginas
    Archibo Incognito2
    Arlette Burgos
    Aún no hay calificaciones
  • SNAKE
    SNAKE
    Documento8 páginas
    SNAKE
    Itzel herrada 07
    Aún no hay calificaciones
  • Snake C++
    Snake C++
    Documento4 páginas
    Snake C++
    Jordy Morante Rincon
    Aún no hay calificaciones
  • Pacman C++
    Pacman C++
    Documento7 páginas
    Pacman C++
    Carls Guiovani Guirrardelli Vega
    Aún no hay calificaciones
  • Juego Del Snake
    Juego Del Snake
    Documento9 páginas
    Juego Del Snake
    Karina Lupita Prado
    Aún no hay calificaciones
  • Game 1
    Game 1
    Documento3 páginas
    Game 1
    david dey
    Aún no hay calificaciones
  • Navesitas Game CPP
    Navesitas Game CPP
    Documento6 páginas
    Navesitas Game CPP
    Alejandro Montufar
    Aún no hay calificaciones
  • Snake
    Snake
    Documento12 páginas
    Snake
    Carlos Veliz Tornero
    Aún no hay calificaciones
  • Snake
    Snake
    Documento10 páginas
    Snake
    pvillavicencio_8
    Aún no hay calificaciones
  • Battle
    Battle
    Documento14 páginas
    Battle
    haillh
    Aún no hay calificaciones
  • Codigo Juego Nave
    Codigo Juego Nave
    Documento5 páginas
    Codigo Juego Nave
    luis alberto
    Aún no hay calificaciones
  • Proyecto Final Poo
    Proyecto Final Poo
    Documento7 páginas
    Proyecto Final Poo
    tamphg14
    Aún no hay calificaciones
  • Codigo Binario
    Codigo Binario
    Documento10 páginas
    Codigo Binario
    Samuel Celis Jeremich
    Aún no hay calificaciones
  • Codigo de C++
    Codigo de C++
    Documento14 páginas
    Codigo de C++
    marjorie
    Aún no hay calificaciones
  • Actividad 6
    Actividad 6
    Documento5 páginas
    Actividad 6
    Josefa Hermana
    Aún no hay calificaciones
  • Ejemplo 2
    Ejemplo 2
    Documento4 páginas
    Ejemplo 2
    Josefa Hermana
    Aún no hay calificaciones
  • Juego de Pac Man
    Juego de Pac Man
    Documento14 páginas
    Juego de Pac Man
    Deyvid Chambi T
    Aún no hay calificaciones
  • Proyecto
    Proyecto
    Documento7 páginas
    Proyecto
    Jim Skood
    Aún no hay calificaciones
  • Codigo Fuente
    Codigo Fuente
    Documento17 páginas
    Codigo Fuente
    alexis rodriguez ramirez
    Aún no hay calificaciones
  • Tipos de Circunferencia
    Tipos de Circunferencia
    Documento8 páginas
    Tipos de Circunferencia
    samuel
    0% (1)
  • OPENGL
    OPENGL
    Documento3 páginas
    OPENGL
    Yordan Sullca Palomino
    Aún no hay calificaciones
  • Calculadora
    Calculadora
    Documento4 páginas
    Calculadora
    gloosier3594
    Aún no hay calificaciones
  • Actividad 5
    Actividad 5
    Documento5 páginas
    Actividad 5
    Josefa Hermana
    Aún no hay calificaciones
  • 2048
    2048
    Documento4 páginas
    2048
    Ivan Pineda
    Aún no hay calificaciones
  • Programa para Arduino UNO Enlace A PC
    Programa para Arduino UNO Enlace A PC
    Documento5 páginas
    Programa para Arduino UNO Enlace A PC
    Javier Jorge Ticona Chambi
    Aún no hay calificaciones
  • Acceso
    Acceso
    Documento6 páginas
    Acceso
    deirys arraiz
    Aún no hay calificaciones
  • Ultimo Examen
    Ultimo Examen
    Documento4 páginas
    Ultimo Examen
    Cinthia Juchazara Díaz
    Aún no hay calificaciones
  • Reforzamiento Poo
    Reforzamiento Poo
    Documento6 páginas
    Reforzamiento Poo
    PIERO ALDO SIMBRON SANCHEZ
    Aún no hay calificaciones
  • Ejercicio Teclado Lcdgrafico
    Ejercicio Teclado Lcdgrafico
    Documento12 páginas
    Ejercicio Teclado Lcdgrafico
    CAMILO ANDRES BACCA VACA
    Aún no hay calificaciones
  • Tres en Raya
    Tres en Raya
    Documento11 páginas
    Tres en Raya
    luis_su
    Aún no hay calificaciones
  • ARDuino
    ARDuino
    Documento19 páginas
    ARDuino
    gigantenoble262
    Aún no hay calificaciones
  • TA - DhilsenMallqui
    TA - DhilsenMallqui
    Documento2 páginas
    TA - DhilsenMallqui
    Dhilsen Armil Mallqui Vilca
    Aún no hay calificaciones
  • Algoritmo Ejemplos Resueltos
    Algoritmo Ejemplos Resueltos
    Documento9 páginas
    Algoritmo Ejemplos Resueltos
    walter quintero
    Aún no hay calificaciones
  • Codigos de Arduino
    Codigos de Arduino
    Documento8 páginas
    Codigos de Arduino
    ruth
    Aún no hay calificaciones
  • Analizador Lexico y Sintactico
    Analizador Lexico y Sintactico
    Documento22 páginas
    Analizador Lexico y Sintactico
    Diego Rivas Revilla
    Aún no hay calificaciones
  • Michi C++
    Michi C++
    Documento23 páginas
    Michi C++
    Robert Taylor
    Aún no hay calificaciones
  • Calculo Vectores
    Calculo Vectores
    Documento4 páginas
    Calculo Vectores
    甄梓健
    Aún no hay calificaciones
  • CajaCursorPosition CPP
    CajaCursorPosition CPP
    Documento1 página
    CajaCursorPosition CPP
    upcmaxima09
    Aún no hay calificaciones
  • Analisis y Codigo
    Analisis y Codigo
    Documento5 páginas
    Analisis y Codigo
    Maira Valentina Diaz
    Aún no hay calificaciones
  • Matrices 1
    Matrices 1
    Documento7 páginas
    Matrices 1
    SANTILLAN FLORES SANTIAGO ROLANDO
    Aún no hay calificaciones
  • Gauss Jordan C++
    Gauss Jordan C++
    Documento11 páginas
    Gauss Jordan C++
    jaritzaa sepulveda
    Aún no hay calificaciones
  • Ejsimprimirmas
    Ejsimprimirmas
    Documento53 páginas
    Ejsimprimirmas
    Alejandro Nistal Villarroel
    Aún no hay calificaciones
  • Programas en C++
    Programas en C++
    Documento82 páginas
    Programas en C++
    Fredy Fernandez
    Aún no hay calificaciones
  • Práctica 10 AUTO
    Práctica 10 AUTO
    Documento23 páginas
    Práctica 10 AUTO
    Jose
    Aún no hay calificaciones
  • COPIA720
    COPIA720
    Documento6 páginas
    COPIA720
    powergraphics
    Aún no hay calificaciones
  • 4 Ejrcicio
    4 Ejrcicio
    Documento11 páginas
    4 Ejrcicio
    Luis
    Aún no hay calificaciones
  • Cedula
    Cedula
    Documento2 páginas
    Cedula
    Sebastián Valencia
    Aún no hay calificaciones
  • Codigo Principal Snake C++
    Codigo Principal Snake C++
    Documento12 páginas
    Codigo Principal Snake C++
    LUDWIN JEAN DENNIS CHEJE APAZA
    Aún no hay calificaciones
  • La Estación Meteorológica
    La Estación Meteorológica
    Documento5 páginas
    La Estación Meteorológica
    Axel Hernandez
    Aún no hay calificaciones
  • Metodos de Ordenamiento
    Metodos de Ordenamiento
    Documento11 páginas
    Metodos de Ordenamiento
    Jose Mamani
    Aún no hay calificaciones
  • Sesion 13 - Ejercicios Funciones
    Sesion 13 - Ejercicios Funciones
    Documento4 páginas
    Sesion 13 - Ejercicios Funciones
    Pablo
    Aún no hay calificaciones
  • Método Gauss-Seidel en C y C++
    Método Gauss-Seidel en C y C++
    Documento10 páginas
    Método Gauss-Seidel en C y C++
    Deyvid Fifa Che
    Aún no hay calificaciones
  • Arreglos Unidimensionales Parte 2
    Arreglos Unidimensionales Parte 2
    Documento19 páginas
    Arreglos Unidimensionales Parte 2
    olbatab74
    Aún no hay calificaciones
  • Serpiente
    Serpiente
    Documento3 páginas
    Serpiente
    José García Pérez
    Aún no hay calificaciones
  • Informe Calculadora PIC
    Informe Calculadora PIC
    Documento7 páginas
    Informe Calculadora PIC
    Maria Jose Arguello
    Aún no hay calificaciones
  • Cuadrado Mágico - Aerolínea
    Cuadrado Mágico - Aerolínea
    Documento16 páginas
    Cuadrado Mágico - Aerolínea
    Susu Rodríguez
    Aún no hay calificaciones