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

Трудности при написании Морского боя - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ обработка строки http://www.cyberforum.ru/cpp-beginners/thread1033079.html
Обработка строки при помощи указателей Задание : для ввода всех строк использовать один и тот же символьный массив tmp . обработку строк производить при помощи указателей внутри выделенного...
C++ Исправьте ошибки в коде Не работают программы по 2-ум задачам,исправьте ошибки в коде: 1)Программа 1:Дан числовой массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент B равен сумме... http://www.cyberforum.ru/cpp-beginners/thread1033069.html
Переполнение буфера. В int появляется 3 C++
Вот код: #include <string.h> #include <stdio.h> int main() { int b = 0; char a; printf("adres b %p\n",a); printf("adres a %p\n",&b); gets(a);
Программа выводит на экран предложения, содержащие максимальное количество знаков пунктуации C++
Такое задание: Написать программу, которая считывает текст из файла и выводит на экран предложения, содержащие максимальное количество знаков пунктуации. Подразумевается, что уже имеется текстовый...
C++ Метод одиночной перестановки по ключу http://www.cyberforum.ru/cpp-beginners/thread1033037.html
Пытаюсь сделать программу , которая из внешнего текстового файла считывает текст(ключ) и текст , который надо зашифровать по методу одиночной перестановки по ключу(столбцы таблицы переставляются по...
C++ Ошибка kbhit() Добрый день, подскажите пожалуйста. При сборке программы выдаёт такую ошибку Ошибка 1 error C4996: 'kbhit': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name:... подробнее

Показать сообщение отдельно
Kapitoxapux
1 / 1 / 0
Регистрация: 08.12.2013
Сообщений: 14

Трудности при написании Морского боя - C++

08.12.2013, 14:56. Просмотров 427. Ответов 5
Метки (Все метки)

Пишу курсовик на тему морской бой. в среде VS 2010. проект пишется в Win32. идёт очень плохо по ряду причин, одна из которых моя необразованность. потому прошу помощи кому не сложно. сразу скажу классы использовать нельзя потому что мы их не проходили. это как предистория.
теперь по теме. я написал функцию для размещения кораблей игроком на поле. двумерный динамический массив и работа с ним. но. теперь когда я принялся за написание "стрельбы" компьютером мне нужно как то обращаться к этому массиву, а область видимости ставит палки в колёса. я не вижу в main своего массива прописанного в функции над main. скажите что можно сделать в такой ситуации? переписать код из функции в тело не вариант иначе код увеличиться в несколько раз. я использовал довольно большую конструкцию из символов для "графики" в консоли. не хотелось бы каждый раз ставить всю эту одороблу в код. просто описать массив над main и над функцией?
сама функция:
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
char **Arena(int a, int b, int c, int d)
{
    const int x=10,y=10;
    char **Poligon_1 = new char *[x]();
        for (int i=0; i<x; i++)
            {
                Poligon_1[i]= new char[y]();
            }
 
    Poligon_1[a][b] = '*';
    Poligon_1[c][d] = '*';
                if (a==c && b<d)
                        {
                            do
                                {
                                    Poligon_1[a][b++] = '*';
                                }
                            while(b<d);
                        }
                    if (a==c && b>d)
                                    {
                                        do
                                            {
                                                Poligon_1[a][b--] = '*';
                                            }
                                        while(b>d);
                                    }
                    if (b==d && a<c)
                        {
                            do
                                {
                                    Poligon_1[a++][b] = '*';
                                }
                            while (a<c);
                        }
                    if (b==d && a>c)
                                    {
                                        do
                                            {
                                                Poligon_1[a--][b] = '*';
                                            }
                                        while (a>c);
                                    }
    system("cls");
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<"   | A | B | C | D | E | F | G | H | I | J |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 1 | "<<Poligon_1[0][0]<<" | "<<Poligon_1[0][1]<<" | "<<Poligon_1[0][2]<<" | "<<Poligon_1[0][3]<<" | "<<Poligon_1[0][4]<<" | "<<Poligon_1[0][5]<<" | "<<Poligon_1[0][6]<<" | "<<Poligon_1[0][7]<<" | "<<Poligon_1[0][8]<<" | "<<Poligon_1[0][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 2 | "<<Poligon_1[1][0]<<" | "<<Poligon_1[1][1]<<" | "<<Poligon_1[1][2]<<" | "<<Poligon_1[1][3]<<" | "<<Poligon_1[1][4]<<" | "<<Poligon_1[1][5]<<" | "<<Poligon_1[1][6]<<" | "<<Poligon_1[1][7]<<" | "<<Poligon_1[1][8]<<" | "<<Poligon_1[1][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 3 | "<<Poligon_1[2][0]<<" | "<<Poligon_1[2][1]<<" | "<<Poligon_1[2][2]<<" | "<<Poligon_1[2][3]<<" | "<<Poligon_1[2][4]<<" | "<<Poligon_1[2][5]<<" | "<<Poligon_1[2][6]<<" | "<<Poligon_1[2][7]<<" | "<<Poligon_1[2][8]<<" | "<<Poligon_1[2][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 4 | "<<Poligon_1[3][0]<<" | "<<Poligon_1[3][1]<<" | "<<Poligon_1[3][2]<<" | "<<Poligon_1[3][3]<<" | "<<Poligon_1[3][4]<<" | "<<Poligon_1[3][5]<<" | "<<Poligon_1[3][6]<<" | "<<Poligon_1[3][7]<<" | "<<Poligon_1[3][8]<<" | "<<Poligon_1[3][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 5 | "<<Poligon_1[4][0]<<" | "<<Poligon_1[4][1]<<" | "<<Poligon_1[4][2]<<" | "<<Poligon_1[4][3]<<" | "<<Poligon_1[4][4]<<" | "<<Poligon_1[4][5]<<" | "<<Poligon_1[4][6]<<" | "<<Poligon_1[4][7]<<" | "<<Poligon_1[4][8]<<" | "<<Poligon_1[4][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 6 | "<<Poligon_1[5][0]<<" | "<<Poligon_1[5][1]<<" | "<<Poligon_1[5][2]<<" | "<<Poligon_1[5][3]<<" | "<<Poligon_1[5][4]<<" | "<<Poligon_1[5][5]<<" | "<<Poligon_1[5][6]<<" | "<<Poligon_1[5][7]<<" | "<<Poligon_1[5][8]<<" | "<<Poligon_1[5][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 7 | "<<Poligon_1[6][0]<<" | "<<Poligon_1[6][1]<<" | "<<Poligon_1[6][2]<<" | "<<Poligon_1[6][3]<<" | "<<Poligon_1[6][4]<<" | "<<Poligon_1[6][5]<<" | "<<Poligon_1[6][6]<<" | "<<Poligon_1[6][7]<<" | "<<Poligon_1[6][8]<<" | "<<Poligon_1[6][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 8 | "<<Poligon_1[7][0]<<" | "<<Poligon_1[7][1]<<" | "<<Poligon_1[7][2]<<" | "<<Poligon_1[7][3]<<" | "<<Poligon_1[7][4]<<" | "<<Poligon_1[7][5]<<" | "<<Poligon_1[7][6]<<" | "<<Poligon_1[7][7]<<" | "<<Poligon_1[7][8]<<" | "<<Poligon_1[7][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 9 | "<<Poligon_1[8][0]<<" | "<<Poligon_1[8][1]<<" | "<<Poligon_1[8][2]<<" | "<<Poligon_1[8][3]<<" | "<<Poligon_1[8][4]<<" | "<<Poligon_1[8][5]<<" | "<<Poligon_1[8][6]<<" | "<<Poligon_1[8][7]<<" | "<<Poligon_1[8][8]<<" | "<<Poligon_1[8][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    cout<<"   |   |   |   |   |   |   |   |   |   |   |\n";
    cout<<" 10| "<<Poligon_1[9][0]<<" | "<<Poligon_1[9][1]<<" | "<<Poligon_1[9][2]<<" | "<<Poligon_1[9][3]<<" | "<<Poligon_1[9][4]<<" | "<<Poligon_1[9][5]<<" | "<<Poligon_1[9][6]<<" | "<<Poligon_1[9][7]<<" | "<<Poligon_1[9][8]<<" | "<<Poligon_1[9][9]<<" |\n";
    cout<<"___|___|___|___|___|___|___|___|___|___|___|\n";
    for (int i=0; i<x; i++)
        delete [] Poligon_1[i];
            delete []Poligon_1;
    return Poligon_1;
}
в main просто вставляю конструкцию:
C++
1
2
3
cout<<"Введите положение ...\n";
    cin>>c>>d;
    Arena(a,b,c,d);
и вся чудесная конструкция работает. думаю теперь понятно зачем хочу обращаться к Poligon_1... иначе реализовать взаимодействие с кораблями пользователя не получиться...
или получиться?
0
Миниатюры
Трудности при написании Морского боя  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru