Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<conio.h>
- using namespace std;
- using namespace System;
- struct Movil {
- int x;
- int y;
- int vx;
- int vy;
- int color;
- };
- int ce=4;
- Movil *moviles=new Movil[ce];
- void cargaMoviles()
- {
- Random r;
- Movil tmp;
- for (int i = 0; i < ce; i++)
- { //cargando los atributos de un movil
- tmp.x= r.Next(8);
- tmp.y= r.Next(60);
- tmp.vx = 1 + r.Next(3);
- tmp.vy = 1 + r.Next(3);
- tmp.color = r.Next(16);
- //agregamos el movil al vector
- moviles[i]=tmp;
- }
- }
- void gotoXY(int x, int y)
- {
- Console::SetCursorPosition(y, x);
- }
- void muestraMoviles(Movil *m)
- {
- for (int i = 0; i < ce; i++)
- {
- gotoXY(m[i].x, m[i].y);
- Console::ForegroundColor = ConsoleColor(m[i].color);
- cout << "X";
- }
- }
- Movil * agregaMovil(Movil *m)
- {
- Movil *vtmp = new Movil[ce + 1];
- for (int i = 0; i < ce; i++)
- {
- vtmp[i] = m[i];
- }
- delete[] m;
- Random r;
- Movil tmp;
- //cargando los atributos de un movil
- tmp.x = r.Next(8);
- tmp.y = r.Next(60);
- tmp.vx = 1 + r.Next(3);
- tmp.vy = 1 + r.Next(3);
- tmp.color = r.Next(16);
- //agrega el movil al vector
- vtmp[ce] = tmp;
- ce++;
- return vtmp;
- }
- Movil * quitaMovil(Movil *m)
- {
- Movil *vtmp = new Movil[ce-1];
- for (int i = 0; i < ce-1; i++)
- {
- vtmp[i] = m[i];
- }
- ce--;
- return vtmp;
- }
- void borraMoviles(Movil *m)
- {
- for (int i = 0; i < ce; i++)
- {
- gotoXY(m[i].x, m[i].y);
- cout << " ";
- }
- }
- void main()
- {
- int opt;
- Console::CursorVisible = false;
- cargaMoviles();
- Movil *vector;
- vector = moviles;
- muestraMoviles(vector);
- while (true)
- {
- gotoXY(20, 5); cout << "Cantidad : " << ce;
- if (kbhit())
- { opt=getch();
- if (opt == 72) {
- vector = agregaMovil(vector);
- system("cls");
- }
- if (opt == 2) {
- vector = quitaMovil(vector);
- system("cls");
- }
- }
- //borras
- borraMoviles(vector);
- //mueves
- for (int i = 0; i < ce; i++)
- {
- if (vector[i].y < 6 || vector[i].y>55) vector[i].vy = vector[i].vy*-1;
- {
- vector[i].y= vector[i].y+ vector[i].vy;
- }
- }
- muestraMoviles(vector);
- _sleep(100);
- }
- system("pause>NULL");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement