Juego de serpiente en c - geeksforgeeks (2024)

Table of Contents
C C Por favorAccesocomentar...

Última actualización : 10 de febrero de 2021

Mejorar

En este artículo, la tarea es implementar unJuego de serpiente.A continuación, dadas algunas funcionalidades de este juego:

  • La serpiente está representada con un0(cero) símbolo.
  • La fruta está representada con un*(Asterisco) Símbolo.
  • La serpiente puede moverse en cualquier dirección según el usuario con la ayuda del teclado (W,A,S,Dllaves).
  • Cuando la serpiente come una fruta, el puntaje aumentará en 10 puntos.
  • La fruta se generará automáticamente dentro de los límites.
  • Cada vez que la serpiente tocará el límite, el juego ha terminado.

Pasos para crear este juego:

  • Habrá cuatro definidos por el usuario.funciones.
  • Construya un límite dentro del cual se jugará el juego.
  • Las frutas se generan al azar.
  • Luego aumente el puntaje cada vez que la serpiente come una fruta.

El usuario definido Las funciones creadas en este programa se dan a continuación:

  • Dibujar():Esta función crea el límite en el que se jugará el juego.
  • Configuración():Esta función establecerá la posición de la fruta dentro del límite.
  • Aporte():Esta función tomará la entrada del teclado.
  • Lógica():Esta función establecerá el movimiento de la serpiente.

Funciones incorporadas utilizadas:

  • Alguna vez ():Esta función enCse usa para determinar si se ha presionado una tecla o no.Para usar esta función en un programa, incluya el archivo de encabezadomonedas. H.Si se ha presionado una tecla, entonces devuelve un valor distinto de cero, de lo contrario devuelve cero.
  • rand ():Elrand ()la función se declara enstdlib.h.Devuelve un valor entero aleatorio cada vez que se llama.

Archivos de encabezado y variables:

  • Elarchivos de encabezadoyvariablesutilizados en este programa son:

  • Aquí incluye el archivo de cabeceraPara eldormir() función.

Dibujar():Esta función es responsable de construir el límite dentro del cual se jugará el juego.

A continuación se muestra el programa C para construir el límite de esquema usando Draw ()::

C

// c programa para construir el esquema

// límite usando dibujo ()

#Include

#Include

En t I, J, altura = 30;

En t Ancho = 30, GameOver, Score;

// Funcionar para dibujar un límite

vacío dibujar()

{

// Sistema ("CLS");

para (i = 0; i

para (j = 0; j

si (i == 0 || i == Ancho - 1 || j == 0

||J == Altura - 1) {

printf("#");

}

demás {

printf(");

}

}

printf("\norte");

}

}

// Código de controlador

En t principal()

{

// Llamada de función

dibujar();

devolver 0;

}

Producción:

############################ ## ## ## ## ## ## ## ####### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ############################

configuración():NTHISBFunction se usa para escribir el código para generar la fruta dentro del límite usandorand ()función.

  • Usandorand ()%20Porque el tamaño del límite esLongitud = 20yAncho = 20Entonces la fruta se generará dentro del límite.

Aporte():En esta función, el programador escribe el código para tomar la entrada del teclado (W, A, S, D, X teclas).

lógica():Aquí, escriba toda la lógica para este programa como para el movimiento de la serpiente, para aumentar el puntaje, cuando la serpiente tocará el límite que terminará el juego, para salir del juego y la generación aleatoria de la fruta una vez que la serpienteCome la fruta.

dormir():Esta función en C es una función que retrasa la ejecución del programa para el número dado de segundos.En este código, el sueño () se usa para frenar el movimiento de la serpiente para que sea fácil para el usuario jugar.

principal():Desde la función main () se inicia la ejecución del programa.Llama a todas las funciones.

A continuación se muestra el programa C para construir el juego completo de serpientes:

C

// programa C para construir el completo

// juego de serpientes

#include

#Include

#Include

#Include

En t i, j, altura = 20, ancho = 20;

En t GameOver, puntaje;

En t x, y, fruitx, frutal, bandera;

// Funcionar para generar la fruta

// Dentro del límite

vacío configuración()

{

GameOver = 0;

// almacena altura y ancho

x = altura / 2;

y = ancho / 2;

etiqueta1:

fruitx =rand() % 20;

si (fruitx == 0)

ir a etiqueta1;

etiqueta2:

afrutado =rand() % 20;

si (afrutado == 0)

ir a etiqueta2;

puntaje = 0;

}

// Función para dibujar los límites

vacío dibujar()

{

sistema("CLS");

para (i = 0; i

para (j = 0; j

si (i == 0 || i == Ancho - 1

||J == 0

||J == Altura - 1) {

printf("#");

}

demás {

si (i == x && j == y)

printf("0");

demás si (i == Fruitx

&& j == afrutado)

printf("*");

demás

printf(");

}

}

printf("\norte");

}

// imprime el puntaje después del

// El juego termina

printf("Puntuación = %D", puntaje);

printf("\norte");

printf("Presione X para dejar el juego");

}

// funciona para tomar la entrada

vacío aporte()

{

si (Kabhi ()) {

cambiar (Getch ()) {

caso 'a':

bandera = 1;

romper;

caso 's':

bandera = 2;

romper;

caso 'd':

bandera = 3;

romper;

caso 'W':

bandera = 4;

romper;

caso 'X':

GameOver = 1;

romper;

}

}

}

// función para la lógica detrás

// cada movimiento

vacío lógica()

{

sueño (0.01);

cambiar (bandera) {

caso 1:

y--;

romper;

caso 2:

x ++;

romper;

caso 3:

y ++;

romper;

caso 4:

X--;

romper;

por defecto:

romper;

}

// Si el juego ha terminado

si (x <0 || x> altura

||y <0 ||y> ancho)

GameOver = 1;

// Si la serpiente alcanza la fruta

// Luego actualice la puntuación

si (x == fruitx && y == Fruity) {

Ballas:

fruitx =rand() % 20;

si (fruitx == 0)

ir a Tragar;

// Después de comer la fruta anterior

// Generar fruta nueva

etiqueta4:

afrutado =rand() % 20;

si (afrutado == 0)

ir a etiqueta4;

puntaje += 10;

}

}

// Código de controlador

vacío principal()

{

En t m, n;

// Generar límites

configuración();

// Hasta que termine el juego

mientras (! Juego terminado) {

// Llamada de función

dibujar();

aporte();

lógica();

}

}

Producción:

Demostración:



S

SouraVwork14

Mejorar

Artículo anterior

Sistema de facturación de telecomunicaciones en C

Siguiente artículo

El programa C para mostrar el calendario mes por mes para un año determinado

Por favorAccesocomentar...

Juego de serpiente en c - geeksforgeeks (2024)
Top Articles
Latest Posts
Article information

Author: Golda Nolan II

Last Updated:

Views: 6268

Rating: 4.8 / 5 (78 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Golda Nolan II

Birthday: 1998-05-14

Address: Suite 369 9754 Roberts Pines, West Benitaburgh, NM 69180-7958

Phone: +522993866487

Job: Sales Executive

Hobby: Worldbuilding, Shopping, Quilting, Cooking, Homebrewing, Leather crafting, Pet

Introduction: My name is Golda Nolan II, I am a thoughtful, clever, cute, jolly, brave, powerful, splendid person who loves writing and wants to share my knowledge and understanding with you.