Witam, programuje w c++ od 3 lat z przerwami i teraz potrzebuje pomocy jak zredukowac miganie w konsoli- petli "gry".
#include "plansza.h"
int main()
{
przygotuj_plansze();
while(1)
{
sterowanie();
plansza();
Sleep(60);
}
}
//plansza.h"
#include "biblioteki.h"
const int rozmiar1=18;
const int rozmiar2=60;
int a,b;
char map[rozmiar1][rozmiar2];
int s1=41;
int s2=40;
int s3=42;
int klawisz=100;
void sterowanie();
void plansza();
void przygotuj_plansze();
void przygotuj_plansze()
{
for(a=0;a<rozmiar1;a++)
{
for(b=0;b<rozmiar2;b++)
{
map[a][b]=' ';
if(b==rozmiar2<1)
cout<<endl;
cout<<map[a][b];
}
}
for(a=1;a<rozmiar1;a++)
{
map[a][1]='|';
}
for(a=0;a<rozmiar1;a++)
{
map[a][0]=' ';
}
map[0][0]=map[0][1]=map[0][rozmiar2-1]=' ';
}
void plansza()
{
system("cls");
for(a=0;a<rozmiar1;a++)
{
for(b=0;b<rozmiar2;b++)
{
map[a][rozmiar2-1]='|';
if(b==rozmiar2<1)
cout<<endl;
cout<<map[a][b];
}
map[16][s1]='^';
map[17][s2]='<';
map[17][s3]='>';
}
}
void sterowanie()
{
if(_kbhit())
{
klawisz=_getch();
if(klawisz==75)
{
if(s1>2&&s2>2&&s3>2)
{
map[16][s1]=' ';
map[17][s2]=' ';
map[17][s3]=' ';
--s1;
--s2;
--s3;
map[16][s1]='^';
map[17][s2]='<';
map[17][s3]='>';
}
}
else if(klawisz==77)
{
if(s1<58&&s2<58&&s3<58)
{
map[16][s1]=' ';
map[17][s2]=' ';
map[17][s3]=' ';
++s1;
++s2;
++s3;
map[16][s1]='^';
map[17][s2]='<';
map[17][s3]='>';
}
}
}
}
//biblioteki.h
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
jak widac "gra" dopiero powstaje i nawet nie jest obiektowa, to jest pelny kod. Nie mam pojecia jak uzyc buffora ;/
tu cos jest http://cpp0x.pl/forum/temat/?id=7175
tu pan na koncu cos napisal ale tez nie wiem jak sie do tego zabrac http://forum.ks-ekspert.pl/topic/91322-cpodwojne-buforowanie/