Форум программистов, компьютерный форум CyberForum.ru

Как создать пустой прямоугольник, используя шаблоны прорисовки? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
rodrigezrobert
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 77
13.04.2011, 12:28     Как создать пустой прямоугольник, используя шаблоны прорисовки? #1
Здравствуйте!
Подскажете пожалуйста как нарисовать пустотелый прямоугольник,используя цикл и шаблоны прорисовки.
типа
*********** - первый шаблон
* п у с т о * - второй шаблон
***********

Потом этот прямоугольник должен бегать по экрану 25х80.
Движение задают клавиши: влево 75, вправо 77, вверх 72,
вниз 80;
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2011, 12:28     Как создать пустой прямоугольник, используя шаблоны прорисовки?
Посмотрите здесь:

Создать класс прямоугольник. C++
C++ Нарисовать прямоугольник из звездочек
C++ Создать пустой список из 100 элементов
C++ Определить какое из двух чисел больше, используя шаблоны функции
C++ Создать структуру, описывающую прямоугольник
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
13.04.2011, 17:13     Как создать пустой прямоугольник, используя шаблоны прорисовки? #2
Исходя из вашей иллюстрации, вам нужен прямоугольник на консоли, изображенный с помощью звездочек?
А "шаблоном прорисовки" вы гордо именуете пару циклов?

Или же вам нужен графический режим? Поясните, пожалуйста.
rodrigezrobert
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 77
14.04.2011, 00:16  [ТС]     Как создать пустой прямоугольник, используя шаблоны прорисовки? #3
Вот как эту задача сформулирована.
Написать программу, в которой пользователь получает меню, где может выбрать тип фигуры(используя switch) и задать размер и символ для прорисовки. 2) что- либо, из фигурок. 3) Пользователь задает координаты где нужно порисовать фигуру. используя system(“cls”). 4) После задачи 3 создать движущуюся фигурку. – пользователь нажимает на стрелки и фигура бежит по консоли (не выбегая за границы и не залипая вначале). Объяснить, что программист должен уметь создавать программы – инструменты для себя – например здесь нужно будет узнать ASCII коды стрелок.( _getch(), system(“cls”)) Тоже, что и в классе – звездочки в колонках, но каждая пятая колонка выводится не звездами, а долларами.
IrineK
Заблокирован
14.04.2011, 02:51     Как создать пустой прямоугольник, используя шаблоны прорисовки? #4
Бегаюший прямоугольник (MSVS):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <conio.h>
#include <windows.h>
 
#define UP_ARROW 72
#define LEFT_ARROW 75
#define DOWN_ARROW 80
#define RIGHT_ARROW 77
 
#define M 5         //высота
#define N 10        //ширина
 
using namespace std;
 
void gotoxy(int x,int y)
{
  HANDLE hConsole;
  COORD cursorLoc;
  cout.flush();
  cursorLoc.X = x;
  cursorLoc.Y = y;
  hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleCursorPosition(hConsole, cursorLoc);
}
 
void drawRect(int x,int y)
{   int i;
    gotoxy(x,y);
    for(i=0;i<N;i++)
        cout<<"*";
    for(i=1;i<M-1;i++)
    {   gotoxy(x,y+i);
        cout<<"*";
        gotoxy(x+N-1,y+i);
        cout<<"*";
    }
    gotoxy(x,y+M-1);
    for(i=0;i<N;i++)
        cout<<"*";
}
 
int main()
{   int x=0,y=0;
    int KeyStroke;
    system("color 3e");
    drawRect(x,y);
 
while(1)
    {   KeyStroke = _getch();
        if (KeyStroke == 224)
        {   KeyStroke = _getch(); 
    switch (KeyStroke)
        {
        case UP_ARROW:
            system("cls");
            if(y) y--;
            drawRect(x,y);
            break;
        case DOWN_ARROW:
            system("cls");
            if(y!=25-M) y++;
            drawRect(x,y);
            break;
        case LEFT_ARROW:
            system("cls");
            if(x) x--;
            drawRect(x,y);
            break;
        case RIGHT_ARROW:
            system("cls");
            if(x!=79-N) x++;
            drawRect(x,y);
            break;
        }
    }
}
    
return 0;
}
Изображения
 
Yandex
Объявления
14.04.2011, 02:51     Как создать пустой прямоугольник, используя шаблоны прорисовки?
Ответ Создать тему
Опции темы

Текущее время: 05:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru