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

Линии в консоле нарисовать - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разобрать код по работе с матрицей http://www.cyberforum.ru/cpp-beginners/thread575800.html
Что означают строки 12-14, 32-38? #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int rows, cols; cout << "Enter rows: "; cin >> rows;
C++ Найти номера чётных элементов массива 1. Найти номера чётных элементов массива. 2. Найти количество положительных и количество отрицательных элементов массива. 3. Найти максимальный элемент массива. Вывести количество и номера... http://www.cyberforum.ru/cpp-beginners/thread575799.html
clock_gettime() C++
Как использовать ее?
C++ Строки. Создание, объявление и компановка. Перевод из string в char[]
Здравствуйте! У меня возникла проблема при создании строки. Суть задачи: есть несколько переменных типа unsigned int. Эти переменные: code_t error q надо паредать их в виде массива символов...
C++ не работает программа в Code Blocks. http://www.cyberforum.ru/cpp-beginners/thread575766.html
Начал изучать С++ по книге "Прата С - Язык программированния С++" Начал писать код из самого начала книги(первый пример). программа не запускается. #include <iostream> int main() { ...
C++ Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу Требуется помощь.. Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу (как, например, 153 = 1^3 +5^3 +3^3). Получить все числа... подробнее

Показать сообщение отдельно
Guyver312
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 6

Линии в консоле нарисовать - C++

16.05.2012, 23:33. Просмотров 701. Ответов 0
Метки (Все метки)

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
#include <iostream.h>
 
#define Mes printf(Rus("Для управления используйте клавиши: W - вверх, A - влево, S - вниз, D - вправо.\n Для выхода из игры нажмите клавишу Q.\n\n"));
char bufRus[256];
char* Rus(const char* text){
    CharToOem(text,bufRus);
   return bufRus;
   };
int** field;
int emptyCell_x, emptyCell_y;
 
void init()
{
    int x,y, i,j;
    srand(time(NULL));
    for(i=1; i<=15;)
    {
        x=rand()%4; y=rand()%4;
        if(field[x][y] == 0) field[x][y] = i++;
    }
 
    for(i=0; i<4; i++)
        for(j=0; j<4; j++)
            if(field[j][i] == 0)
            {
                emptyCell_x=j; emptyCell_y = i; return;
            }
 
}
 
void printField()
{
    int i,j;
    for(i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
            if(field[j][i]) printf("%3d", field[j][i]);
            else printf("  _");
        printf("\n\n");
    }
    printf("\n\n");
}
 
int notEndYet()
{
    int i,j;
    for(i=0; i<3; i++)
        for(j=0; j<4; j++)
            if(field[j][i] != 4*i+j+1) return 0;
    if(field[0][3] != 13) return 0;
 
    return 1;
 
}
int move()
{
    char c;
 
    while(1)
    {
        c = getch();
        switch(c)
        {
            case 'a':
                if(emptyCell_x==0)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x-1][emptyCell_y];
                    field[emptyCell_x-1][emptyCell_y] = 0;
                    emptyCell_x--;
                    return 1;
                }
            case 'w':
                if(emptyCell_y==0)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x][emptyCell_y-1];
                    field[emptyCell_x][emptyCell_y-1] = 0;
                    emptyCell_y--;
                    return 2;
                }
            case 'd':
                if(emptyCell_x==3)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x+1][emptyCell_y];
                    field[emptyCell_x+1][emptyCell_y] = 0;
                    emptyCell_x++;
                    return 3;
                }
            case 's':
                if(emptyCell_y==3)
                {
                    printf("");
                    break;
                }
                else
                {
                    field[emptyCell_x][emptyCell_y] = field[emptyCell_x][emptyCell_y+1];
                    field[emptyCell_x][emptyCell_y+1] = 0;
                    emptyCell_y++;
                    return 4;
                }
            case 'q': exit(1);
            default: Mes
        }
    }
}
 
int main()
{
     int vb;
      while (vb!=2)
{
     printf(Rus("__________________________ ИГРА ПЯТНАШКИ ___________________________\n"));
     printf(Rus(" Игра Пятнашки.\n\n1 - Новая игра\n2 - Выход\n\n"));
     scanf("%d",&vb);
 
     if (vb==1)
     {
          system("cls");
          field = (int**)calloc(4, sizeof(int*));
      for(int i=0; i<4; i++)
 
        field[i] = (int*)calloc(4, sizeof(int));
 
      do    init(); while(notEndYet());
      Mes
      printField();
 
          while(!notEndYet())
    {
        move();
        printField();
        printf("\n\n\n\n\n\n\n");
    }
 
    printf(Rus("\nВы выиграли!\n")); getch();
        system("cls");
      }
}
}

Добавлено через 19 часов 55 минут
В общем еще такой вопрос. Хочу чтобы было что то типо игового поля. Как без курсоса наросовать линии между цифрами? А то че то ниче не получается а заново все с курсосом писать некогда. Помогите пожалуйста

Добавлено через 25 минут
Помогитеее

Добавлено через 2 часа 6 минут
народ помогитеееее

Добавлено через 2 часа 37 минут
люди хелп

Добавлено через 32 секунды
люди хелп
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru