0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 21
1

Сделал лабиринт, оцените кто нибудь уровень говнокода, и что бы подправить тут или изменить

19.03.2017, 22:52. Показов 370. Ответов 1
Метки нет (Все метки)

karta.txt положить в диск С

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;
 
const int coord1k=0,coord2k=9,height=10,length=10; //height-ширина length-длинна
int D,coord1,coord2,A[height][length]; 
 
 
void printArray()
{   cout << " Yprevlenie: 1-top 2-right 3-bot 4-left 0-exit " << endl;
    for(int i = 0; i < length+1; i++){
     cout << setw(2) << '*';}
        cout <<endl;
    for(int i = 0; i < length; i++)
    {   cout << '*';
        for(int j = 0; j < height; j++){  
            if (A[i][j]==0){cout << setw(2) << ' ';}
            if (A[i][j]==1){cout << setw(2) << '*';}
            if (A[i][j]==2){cout << setw(2) << 'Y';}
            if (A[i][j]==3){cout << setw(2) << 'X';}            
    } cout << setw(2) << '*';
        cout << endl;
    }
    for(int i = 0; i < length+1; i++){
     cout << setw(2) << '*';}
    cout << endl;
}
 
void lab()
{cout << " Y-YOU  X-FINISH " << endl;
    coord1=9; coord2=0;
    ifstream K("C:\\karta.txt");
    for(int i = 0; i < length; i++)
        for(int j = 0; j < height; j++)
            K >> A[i][j];
      
}
void win()
{ cout<< endl <<" YOU WIN! "<< endl;
 getch();
 
    exit(0);
}
void looz()
{   cout<< endl <<" YOU LOOZ! NEW GAME... "<< endl;
        lab();
}
 
void top()
{ 
    if (A[coord1-1][coord2]==1 || coord1==0){
    looz();}
else{
    if(A[coord1-1][coord2]==3){win();}
else{
    A[coord1-1][coord2]=2;
    A[coord1][coord2]=0;
    coord1-=1;
        }
}   printArray();
}
 
void bot()
{ 
    if (A[coord1+1][coord2]==1 || coord1==9){
    looz();}
else{
    if(A[coord1+1][coord2]==3){win();}
else{
    A[coord1+1][coord2]=2;
    A[coord1][coord2]=0;
    coord1+=1;
        }
}   printArray();
}
void left()
{ 
    if (A[coord1][coord2-1]==1 || coord2==0){
    looz();}
else{
    if(A[coord1][coord2-1]==3){win();}
else{
    A[coord1][coord2-1]=2;
    A[coord1][coord2]=0;
    coord2-=1;
        }
}   printArray();
}
void right()
{ 
    if (A[coord1][coord2+1]==1 || coord2==9){
    looz();}
else{
    if(A[coord1][coord2+1]==3){win();}
else{
    A[coord1][coord2+1]=2;
    A[coord1][coord2]=0;
    coord2+=1;
        }
}   printArray();
}
 
int main()
{
    lab();
   printArray();
 
   while (coord1!=coord1k || coord2!=coord2k){
   cin>>D;
   switch(D){
   case 1: top();break;
   case 2: right();break;
    case 3: bot();break;
    case 4: left();break;
    case 0: exit(0);break;
   }
   
   }
 
     getch();
    return 0;
 
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения
Тип файла: txt karta.txt (227 байт, 5 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2017, 22:52
Ответы с готовыми решениями:

А кто уже что-нибудь сделал на .NET?
Вопрос такой: если сделал, то каков размер дистрибутива и на все-ли операционки встает (от Win'95 и...

Кто нибудь хотел сделать или сделал тепловизор ?
Подумываю тепловизор сделать .Бюджетно .Около 10 руб готов потратить . Как думаете реально из...

Оцените сборку или посоветуйте , что-нибудь лучше
http://tomsk.dns-shop.ru/catalog/cart/?cart_items=144462-1,146486-1,123577-1,151950-1,139050-1,16282...

Кто нибудь тут строит БИЗНЕС?
Здравствуйте! Вот уже скоро месяц как я вернулся в Россию и окунулся в заработки онлайн в...

1
Модератор
3332 / 2116 / 343
Регистрация: 13.01.2012
Сообщений: 8,245
20.03.2017, 14:02 2
suiginto, до тех пор пока:
-не вставил в начало printArray строку system("cls")
-не сменил cin>>D на D = getch()
-не сменил управление на символы (не числа) '8' '6' '5' '4' (аналог стрелочек для цифровой клавиатуры)
играть было просто невозможно
по коду:
-ужасные имена
-ужасное форматирование
-особых претензий вроде нет - код как код, но имена смущают даже в ужасном виде и тем более с комментариями, например
height-ширина length-длинна
это как же выглядеть должен двухмерный объект если у него есть ширина и длина? это вы про линию что ли нарисованную пером определенной толщины?
две минуты думал но так для себя и не решил выводится ли лабиринт так как должен или его перевернуло на какой то бок
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2017, 14:02

Поделитесь кто что-нибудь про работу в 1С или КВОРУМЕ знает
А то есть приглашение от них обоих и не знаю, куда податься :)))

Кто-нибудь пишет код по памяти или кто помнит строку соединения к SQL на память?
Например, я пишу только копируя свои предыдущие работающие примеры. Т.е. у меня есть кучка кода,...

А кто сделал движок этого форума, потому что у многих русскоязычных форумов для программистов и не только движок похожий и кто его создал?
А кто сделал движок этого форума, потому что у многих русскоязычных форумов для программистов и не...

Оцените стоимость конфигурации и что тут лучше заменить
Предлагают обновить комп за 8600р.: _pentium g840...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.