#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
using namespace std;
const int g_width = 11;
string sign = "^";
string obst = "#";
string bg = "+";
bool status = true;
int check, mid_pos = (g_width / 2) + 1, score = -80;
char key, random;
const int array_size = g_width + 1;
string l1[array_size], l2[array_size],
l3[array_size], l4[array_size],
l5[array_size], l6[array_size],
l7[array_size], l8[array_size],
l9[array_size], l_hidden[array_size];
void gotoxy(int x,int y)
{
COORD coord;
coord.X = x - 1;
coord.Y = y - 1;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void logic() {
for (int i=1; i <= (array_size - 1) ; i++) {
l_hidden[i] = l8[i];
l8[i] = l7[i];
l7[i] = l6[i];
l6[i] = l5[i];
l5[i] = l4[i];
l4[i] = l3[i];
l3[i] = l2[i];
l2[i] = l1[i];
random = (rand() % 3 + 1);
if (random == 1) {l1[i] = obst;} else {l1[i] = bg;}
}
for (int i=0 ; i<=(array_size) ; i++) { if (l9[i] == sign) {check = i;} }
if (l_hidden[check] == obst) {status = false; }
system("cls");
}
void game() {
for (int i=0 ; i<=array_size ; i++) { l1[i] = l2[i] = l3[i] = l4[i] = l5[i] = l6[i] = l7[i] = l8[i] = l9[i] = bg;}
l9[mid_pos] = sign;
while(status) {
for (int i=0 ; i<=(array_size) ; i++) {cout << l1[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l2[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l3[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l4[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l5[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l6[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l7[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l8[i];} cout << endl;
for (int i=0 ; i<=(array_size) ; i++) {cout << l9[i];} cout << endl;
cout <<"SCORE: " << score << endl;
score = score + 10;
key = _getch();
switch (key)
{
case 'a':
for (int i=1 ; i<= (array_size - 1) ; i++) {
if (l9[i] == bg) { if (l9[i+1] == sign) {l9[i] = sign ; l9[i+1] = bg;} }
}
break;
case 'd':
for (int i=(array_size - 1) ; i>= 1 ; i--) {
if (l9[i] == bg) { if (l9[i-1] == sign) {l9[i] = sign ; l9[i-1] = bg;} }
}
break;
case 'x':
status = false;
break;
default:
break;
}
logic();
}
}
int main() {
game();
return 0;
}
Próbowałem sobie zrobić jakąś prostą gierkę i wyszło mi właśnie coś takiego. Wiem że pewnie jest jakiś o wiele lepszy sposób na jej napisanie, ale z moją obecną wiedzą umiałem to zrobić tylko w ten sposób. Pytałem o tą pętlę, ponieważ chciałem umożliwić utworzenie dowolnie długiej planszy. Moim następnym pytaniem miało być jak stworzyć dowolną liczbę tablic o nazwie uzależnionej od zmiennej pętli, ale wracając do pytania pierwszego to patrząc na ten kod, dałoby się zrobić to inaczej ?