Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Practica 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA


Y ELÉCTRICA
UNIDAD ZACATENCO

PROGRAMACION ORIENTADA A OBJETOS


PROF. GARDUÑO MEDINA JORGE ADRIAN

José de Jesús Bárcenas León

No. DE BOLETA

2019300965

INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA

03 DE MARZO DE 2020
ÍNDICE

Portada 1

Índice 2

Introducción 3

Código 3

Código 4

Conclusión 5
Introducción:
En este programa se analiza el tema de MEMORIA DINÁMICA el cual tiene distintas
aplicaciones ya que tiene una gran ventaja y es que, puedes reservar el tamaño durante
la ejecución del programa así mismo se puede liberar la memoria reservada.

El siguiente programa consiste en la simulación donde el usuario ingresa el numero de


bombas que colocó en los niveles del juego. En este programa se desarrollaron 4
funciones que son:

1. Genera números aleatorios en función de cuantas bombas se colocaron en cada nivel,


estos números son el número de bloques que han sido destruidos por las bombas.

2. Mostrar en pantalla la suma de cada bloque destruido, estos tienen el valor de 100
puntos en el juego.

3.Suma en esta función se suman el total de puntos de cada nivel.

4. Excelente en esta función cuando la bomba ha destruido tres bloques aparecerá un


mensaje de excelente colocación en pantalla incitando al jugador a buscar posiciones
estratégicas para colocar las demás bombas.

Código:

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

void gotoxy(int x,int y){


HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}

using namespace std;

void generar1(int n, int *_d1){


cout<<"primer nivel "<<endl<<endl;
for( ; n; n--)
{
_d1[n-1]=0 + rand()%4;
cout<<"\t La Bomba "<<n<<endl;
cout<<"Destruyo : "<<_d1[n-1]<<" bloques "<<endl;

}
void generar2(int p, int *_d2){
cout<<endl;
cout<<"Segundo nivel "<<endl<<endl;
for( ; p; p--)
{
_d2[p-1]=0 + rand()%4;
cout<<"\t La Bomba "<<p<<endl;
cout<<"Destruyo : "<<_d2[p-1]<<" bloques "<<endl;

void mostrar(int n, int p, int *_d1,int *_d2){


cout<<endl<<endl;
cout<<"primer nivel"<<endl<<endl;
for(;n;n--){
cout<<"Obtuviste "<<_d1[n-1]*100<<" puntos"<<endl;
}
cout<<endl<<endl;
cout<<"Segundo nivel"<<endl<<endl;
for(;p;p--){
cout<<"Obtuviste "<<_d2[p-1]*100<<" puntos"<<endl;
}

void suma_de_puntos(int n,int p, int *_d1, int *_d2){


int suma=0, sum2=0;
cout<<endl;
cout<<"Calculando los puntos obtenidos en los dos niveles "<<endl;
for(int i=0 ;i<n; i++){
suma+=_d1[i]*100;
}
for(int i=0 ;i<p; i++){
sum2+=_d2[i]*100;
}
int total=suma+sum2;
cout<<"la suma de puntos del nivel 1 mas el nivelo 2 es : "<<total<<"
puntos"<<endl;
}

excelente(int n, int p, int*_d1,int *_d2){


int c=0;
for(; n; n--){
if((_d1[n-1])==3){
c++;

}
}
for(; p; p--){
if((_d2[p-1])==3){
c++;}
}
cout<<"Hubo "<<c<<" bombas con Exclelente colocacion"<<endl;
}

int main(){
srand(time(NULL));
int n,p,*d1,*d2;
char t;
do{
system("cls");
gotoxy(42,2);cout<<"Bienvenido al juego de BoomBoy"<<endl<<endl;
cout<<"ingrese el numero de bombas que coloco en el nivel 1 : ";
cin>>n;
d1= new int [n];
cout<<"Ingrese el numero de bombas que coloco en el nivel 2 : ";
cin>>p;
d2= new int [p];
generar1(n,d1);
generar2(p,d2);
mostrar(n,p,d1,d2);
suma_de_puntos(n,p,d1,d2);
excelente(n,p,d1,d2);
system("pause");
cout<<"desea salir S/N : ";
t=_getch();
delete []d1;
delete []d2;
}
while (t!='s');

}
Conclusión:
Al realizar este programa puse en práctica los conocimientos adquiridos en clase sin
embargo tuve que seguir investigando en internet algunas cosas que me parecían
extrañas a la hora de ejecución del programa, por ejemplo: en la función generar en
donde generamos los números aleatorios de bloques destruidos en cada nivel siempre
me daba los mismos números es decir, se repetía el resultado asignados para cada
bomba puesta en el juego, en la segunda ejecución los tiros volvían aparecer los mismos
números ya que a la función random necesita una “semilla” para que así cada vez que se
ejecute el programa tenga valores diferentes.

La segunda falla que tuve es que no sabía en dónde colocar los delates de cada arreglo
si eran fuera del while o en el do.

También se desarrolló la función gotoxy que anteriormente vimos en una clase de


laboratorio. En esta función no tuve mayores problemas ya que conocía su
funcionamiento y desarrollo.

También podría gustarte