// game1.cpp : Defines the entry point for the console application.
//
#include<cstdlib>
#include<iostream>
#include<deque>
using namespace std;
class cPlayer
{
public:
int x; //player position on map (x cordinate)
int y; //player position on map (y cordinate)
cPlayer(int width) // width is of the map
{
x = width / 2; // player wiill be on mid of x axis
y = 0; // player on top of y axis
}
};
class cLane
{
deque<bool> cars;
public:
cLane(int width)
{
for (int i = 0; i < width; i++)
{
cars.push_front(false); //lane initially initialize with 0
}
}
void Move()
{
if (rand() % 10 == 5)
cars.push_front(true);
else
cars.push_front(false);
cars.pop_back();
}
bool checkPos(int pos)
{
return cars[pos];
}
};
class cGame //game class
{
bool quit;
public:
void Draw()
{
}
void Input()
{
}
void Logic()
{
}
void Run()
{
while (!quit)
{
Input();
Draw();
Logic();
}
}
};
int main()
{
cLane lane1(20);
for (int i = 0; i < 20; i++)
{
if (lane1.checkPos(i))
cout << "1";
else
cout << "0";
}
lane1.Move();
cout << endl;
for (int i = 0; i < 20; i++)
{
if (lane1.checkPos(i))
cout << "1";
else
cout << "0";
}
getchar();
return 0;
}
Ly8gZ2FtZTEuY3BwIDogRGVmaW5lcyB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBjb25zb2xlIGFwcGxpY2F0aW9uLgovLwoKCiNpbmNsdWRlPGNzdGRsaWI+CiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxkZXF1ZT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgY1BsYXllcgp7CnB1YmxpYzoKCWludCB4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcGxheWVyIHBvc2l0aW9uIG9uIG1hcCAoeCBjb3JkaW5hdGUpCglpbnQgeTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3BsYXllciBwb3NpdGlvbiBvbiBtYXAgKHkgY29yZGluYXRlKQoKCWNQbGF5ZXIoaW50IHdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGggaXMgb2YgdGhlIG1hcAoJewoJCXggPSB3aWR0aCAvIDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwbGF5ZXIgd2lpbGwgYmUgb24gbWlkIG9mIHggYXhpcwoJCXkgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwbGF5ZXIgb24gdG9wIG9mIHkgYXhpcwoJfQp9OwoKY2xhc3MgY0xhbmUKewoJZGVxdWU8Ym9vbD4gY2FyczsKCnB1YmxpYzoKCWNMYW5lKGludCB3aWR0aCkKCXsKCQlmb3IgKGludCBpID0gMDsgaSA8IHdpZHRoOyBpKyspCgkJewoJCQljYXJzLnB1c2hfZnJvbnQoZmFsc2UpOyAgICAgICAgICAgICAgICAgICAgIC8vbGFuZSBpbml0aWFsbHkgaW5pdGlhbGl6ZSB3aXRoIDAKCQl9Cgl9CgoJdm9pZCBNb3ZlKCkKCXsKCQlpZiAocmFuZCgpICUgMTAgPT0gNSkKCQkJY2Fycy5wdXNoX2Zyb250KHRydWUpOyAgICAgICAgICAKCQllbHNlCgkJCWNhcnMucHVzaF9mcm9udChmYWxzZSk7CgoJCWNhcnMucG9wX2JhY2soKTsKCX0KYm9vbCBjaGVja1BvcyhpbnQgcG9zKQp7CnJldHVybiBjYXJzW3Bvc107Cn0KCgkKfTsKCmNsYXNzIGNHYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZ2FtZSBjbGFzcwp7IAoJYm9vbCBxdWl0OwoKcHVibGljOgoJdm9pZCBEcmF3KCkKCXsKCgl9Cgl2b2lkIElucHV0KCkKCXsKCgl9CgoJdm9pZCBMb2dpYygpCgl7CgoJfQoKCXZvaWQgUnVuKCkKCXsKCQl3aGlsZSAoIXF1aXQpCgkJewoJCQlJbnB1dCgpOwoJCQlEcmF3KCk7CgkJCUxvZ2ljKCk7CgkJfQoJfQp9OwoKaW50IG1haW4oKQp7ICAKCWNMYW5lIGxhbmUxKDIwKTsKCglmb3IgKGludCBpID0gMDsgaSA8IDIwOyBpKyspCgl7CgkJaWYgKGxhbmUxLmNoZWNrUG9zKGkpKQoJCQljb3V0IDw8ICIxIjsKCQllbHNlCgkJCWNvdXQgPDwgIjAiOwoJfQoJbGFuZTEuTW92ZSgpOwoJY291dCA8PCBlbmRsOwoJZm9yIChpbnQgaSA9IDA7IGkgPCAyMDsgaSsrKQoJewoJCWlmIChsYW5lMS5jaGVja1BvcyhpKSkKCQkJY291dCA8PCAiMSI7CgkJZWxzZQoJCQljb3V0IDw8ICIwIjsKCX0KCWdldGNoYXIoKTsKICAgIHJldHVybiAwOwp9Cgo=