SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Элементы карты (к примеру камень с урока – s)
В этой теме 16 ответов, 3 участника, последнее обновление KindRedSand 6 года/лет, 9 мес. назад.
-
АвторСообщения
-
В общем такая ситуация.
Пишу дипломную на тему: “Электронный справочник по городу”
Теперь нашел готовую дипломную, только нужно было заполнить главы чуть и сделать так чтобы программа запустилась.C++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349#include <iostream.h>#include <graphics.h>#include <stdlib.h>#include <conio.h>#include <string.h>#define ESC 27int A[5][5] ={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};int i, j;char *B[5][5] ={"Oxford", "King,s Road", "Carnaby", "Baker", "Whitehall","Downing", "Floral", "Dryden", "Macklin", "Cleveland","Howland", "Chitty", "Hanson", "Hallam", "Mansfield","Duchess", "Harley", "Wimpole", "Vere", "Barrett","Duke", "Wigmore", "Baker", "George", "Aybrook"};void Init(int&y1, int&y2, char *t1, char *t2);void soobh(int a, int b, int c, int k11, int k22);void linii(void);void marshrut(int a, int b, int c);int main(){do{char t1[80], t2[80];int y1 = 0, y2 = 0, k1, k2;clrscr();Init(y1, y2, t1, t2);linii();for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){if (A[i][j] == y1)k1 = j;if (A[i][j] == y2)k2 = i;}}int per = A[k2][k1];marshrut(y1, y2, per);soobh(y1, y2, per, k1, k2);} while (getch() != ESC);closegraph();return 0;}void linii(){setcolor(7);setfillstyle(1, 7);line(35, 100, 635, 100);line(35, 180, 635, 180);line(35, 260, 635, 260);line(35, 340, 635, 340);line(35, 420, 635, 420);line(35, 100, 35, 415);line(159, 100, 159, 415);line(283, 100, 283, 415);line(407, 100, 407, 415);line(531, 100, 531, 415);char A[5];for (int i = 0; i<5; i++){for (int j = 0; j<5; j++){pieslice(35 + i * 124, 100 + j * 80, 0, 360, 4);outtextxy(45 + j * 125, 90 + i * 80, B[i][j]);}}int k = 1; setcolor(2);for (i = 0; i<5; i++){itoa(k, A, 10);outtextxy(35 + i * 124, 60, A);k++;}k = 1; setcolor(9);for (i = 0; i<5; i++){itoa(k, A, 10);outtextxy(5, 95 + i * 80, A);k++;}setcolor(2);setfillstyle(1, 2);bar(25, 451, 15, 445);setcolor(15);outtextxy(35, 445, "Номеравтобусов");setcolor(9);setfillstyle(1, 9);bar(25, 471, 15, 465);setcolor(15);outtextxy(35, 465, "Номертроллейбусов");}void marshrut(int a, int b, int c){int x1, y1, x2, y2, x3, y3;for (i = 0; i<5; i++){for (j = 0; j<5; j++){if (A[i][j] == a)x1 = i, y1 = j;}}for (i = 0; i<5; i++){for (j = 0; j<5; j++){if (A[i][j] == b)x2 = i, y2 = j;}}for (i = 0; i<5; i++){for (j = 0; j<5; j++){if (A[i][j] == c)x3 = i, y3 = j;}}setcolor(4);line(35 + y1 * 124, 100 + x1 * 80, 35 + y3 * 124, 100 + x3 * 80);line(35 + y3 * 124, 100 + x3 * 80, 35 + y2 * 124, 100 + x2 * 80);}void soobh(int a, int b, int c, int k11, int k22){int k1, k2,k3, k4;setcolor(14);for (i = 0; i<5; i++){for (j = 0; j<5; j++){if (A[i][j] == a){k1 = i;k2 = j;}if (A[i][j] == b){k3 = i;k4 = j;}}}k1++; k2++; k3++; k4++;if (k1 == k3){switch (k1){case 1:{outtextxy(200, 445, "Вам необходимо сесть на троллейбус номер 1");break;}case 2:{outtextxy(200, 445, "Вам необходимо сесть на троллейбус номер 2");break;}case 3:{outtextxy(200, 445, "Вам необходимо сесть на троллейбус номер 3");break;}case 4:{outtextxy(200, 445, "Вам необходимо сесть на троллейбус номер 4");break;}case 5:{outtextxy(200, 445, "Вам необходимо сесть на троллейбус номер 5");break;}}}else{switch (k2){case 1:{outtextxy(200, 445, "Вам необходимо сесть на автобус номер 1");break;}case 2:{outtextxy(200, 445, "Вам необходимо сесть на автобус номер 2");break;}case 3:{outtextxy(200, 445, "Вам необходимо сесть на автобус номер 3");break;}case 4:{outtextxy(200, 445, "Вам необходимо сесть на автобус номер 4");break;}case 5:{outtextxy(200, 445, "Вам необходимо сесть на автобус номер 5");break;}}}if (k1 == k3 || k2 == k4) outtextxy(200, 465, "Пересадок не требуется");else{switch (k3){case 1:{outtextxy(200, 465, "И на улице ");outtextxy(290, 465, B[k22][k11]);outtextxy(385, 465, "Пересесть на тролейбус номер 1");break;}case 2:{outtextxy(200, 465, "И на улице ");outtextxy(290, 465, B[k22][k11]);outtextxy(385, 465, "Пересесть на тролейбус номер 2");break;}case 3:{outtextxy(200, 465, "И на улице ");outtextxy(290, 465, B[k22][k11]);outtextxy(385, 465, "Пересесть на тролейбус номер 3");break;}case 4:{outtextxy(200, 465, "И на улице ");outtextxy(290, 465, B[k22][k11]);outtextxy(385, 465, "Пересесть на тролейбус номер 4");break;}case 5:{outtextxy(200, 465, "И на улице ");outtextxy(290, 465, B[k22][k11]);outtextxy(385, 465, "Пересесть на тролейбус номер 5");break;}}}}void Init(int&y1, int&y2, char *t1, char *t2){do{int DRIVER = DETECT, MODE;initgraph(&DRIVER, &MODE, "");linii();setcolor(15);if(y1 < 1 || y1 > 25){outtextxy(1, 1, "Ведите название улицы, на которой вы находитесь");gotoxy(1, 2);cin.getline(t1, 80);for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){if (strcmp(B[i][j], t1) == 0)y1 = i * 5 + j + 1;}}}else{outtextxy(1, 1, "Ведите название улицы, на которой вы находитесь");gotoxy(1, 2);cout<< t1;}if (y1 < 1 || y1 > 25) continue;outtextxy(1, 35, "Введите название улицы назначения");gotoxy(1, 4);cin.getline(t2, 80);for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){if (strcmp(B[i][j], t2) == 0)y2 = i * 5 + j + 1;}}} while ((y1 < 1 || y1 > 25) || (y2 < 1 || y2 > 25));}Написана эта программа на Borland C++, и к нему же Dosbox.
Мучился долго, и плюнул на этот Borland C++ с его Dosbox.
Начал искать другое связанное с графикой для Visual C++, и попал сюда.
Такой был довольный. Теперь столкнувшись с трудностями – не могу их решить.
Вот такая история.
Я вообще это всё написал с надеждой что кто-то поможет)). Если никто не ответит ну и хрен с ним.Обьявление же:
C++1234567std::map<int, std::map<int, sf::Vector2f>> сVertices;/**/сVertices[j][i] = Vector2(j * 32, i * 32);/**/ -
АвторСообщения
Для ответа в этой теме необходимо авторизоваться.