Ниже представлен код: #include
#include
#include
typedef struct {
int x, y, width;
} Object;
char a[25][66];
Object pl, bl;
void init(char b) { //0 = location; 1 = platform; 2 = ball;
if (b == 0) {
for (int i = 0; i < 65; i++) {
a[0] = '#';
}
a[0][65] = '\0';
for (int i = 1; i < 25; i++) {
for (int k = 0; k < 66; k++) {
if (k == 0) {
a[k] = '#';
}
else if (k == 64) {
a[k] = '#';
}
else if (k == 65) {
a[k] = '\0';
}
else {
a[k] = ' ';
}
}
}
}
if (b == 1) {
for (int i = 0; i < 7; i++) {
a[24][pl.x + i] = '=';
}
}
if (b == 2) a[bl.y][bl.x] = 'c';
}
void clear(char b) {
if (b == 1) {
for (int i = 0; i < 7; i++) {
a[24][pl.x + i] = ' ';
}
}
if (b == 2) {
a[bl.y][bl.x] = ' ';
}
}
void manage() {
if (GetKeyState('A') < 0) {
clear(1);
pl.x--;
}
if (GetKeyState('D') < 0) {
clear(1);
pl.x++;
}
//not_draw
init(1);
init(2);
}
void draw() {
for (int i = 0; i < 25; i++) {
if (i == 24) {
printf("%s", a);
}
else {
printf("%s\n", a);
}
}
}
void setcur(int x, int y) {
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main() {
pl.width = 7;
pl.y = 24;
pl.x = (65 - pl.width) / 2;
bl.width = 1;
bl.y = 25 / 2;
bl.x = 65 / 2;
init(0);
init(1);
init(2);
do {
setcur(0, 0);
manage();
draw();
}
while (GetKeyState(VK_ESCAPE) >= 0);
} Когда я запускаю приложение, у меня выдается максимум 10 операций в секунду. Связано ли это с оформлением самого сценария?
#include
#include
typedef struct {
int x, y, width;
} Object;
char a[25][66];
Object pl, bl;
void init(char b) { //0 = location; 1 = platform; 2 = ball;
if (b == 0) {
for (int i = 0; i < 65; i++) {
a[0] = '#';
}
a[0][65] = '\0';
for (int i = 1; i < 25; i++) {
for (int k = 0; k < 66; k++) {
if (k == 0) {
a[k] = '#';
}
else if (k == 64) {
a[k] = '#';
}
else if (k == 65) {
a[k] = '\0';
}
else {
a[k] = ' ';
}
}
}
}
if (b == 1) {
for (int i = 0; i < 7; i++) {
a[24][pl.x + i] = '=';
}
}
if (b == 2) a[bl.y][bl.x] = 'c';
}
void clear(char b) {
if (b == 1) {
for (int i = 0; i < 7; i++) {
a[24][pl.x + i] = ' ';
}
}
if (b == 2) {
a[bl.y][bl.x] = ' ';
}
}
void manage() {
if (GetKeyState('A') < 0) {
clear(1);
pl.x--;
}
if (GetKeyState('D') < 0) {
clear(1);
pl.x++;
}
//not_draw
init(1);
init(2);
}
void draw() {
for (int i = 0; i < 25; i++) {
if (i == 24) {
printf("%s", a);
}
else {
printf("%s\n", a);
}
}
}
void setcur(int x, int y) {
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main() {
pl.width = 7;
pl.y = 24;
pl.x = (65 - pl.width) / 2;
bl.width = 1;
bl.y = 25 / 2;
bl.x = 65 / 2;
init(0);
init(1);
init(2);
do {
setcur(0, 0);
manage();
draw();
}
while (GetKeyState(VK_ESCAPE) >= 0);
} Когда я запускаю приложение, у меня выдается максимум 10 операций в секунду. Связано ли это с оформлением самого сценария?