1. C++ / Говнокод #18085

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    class ammo
    {
        public:
            bool existance;
            COORD alloc;
        void print()
            {
                pole[alloc.Y+1][alloc.X]=' ';
                pole[alloc.Y][alloc.X]='*';
            }
    };
    
    ammo bullet[10];
    
    void initpole();
    void replaceunit();
    void printpole();
    void redirect();
    void fire();
    void ammomove();
    
    int main(int argc, char* argv[])               //òåëî
    {
        initpole();
        do{
            if(kbhit())
                redirect();
            printpole();
            ammomove();
            Sleep(0);
            }
        while(chk!=27);
        return 0;
    }
    
    void redirect()                              //обработка нажатой клавиши
    {
        chk=getch();
        if(chk==32)
            {
                bullet[bulletcounter].existance=true;
                if(bulletcounter<10)
                    bulletcounter++;
                else
                    bulletcounter=0;
                fire();
            }
        else if(chk==75 || chk==77)
            replaceunit();
        else if(chk==112)
            {
            system("pause");
            system("cls");
            }
    }
    
    void fire()                                         //инициализация пули
    {
        bullet[bulletcounter].alloc.X=x;
        bullet[bulletcounter].alloc.Y=y-3;
        if(bullet[bulletcounter].existance==true)
            bullet[bulletcounter].print();
    }
    
    void ammomove()                                     //сдвиг пули
    {
        if(bullet[bulletcounter].existance==true)
            if(bullet[bulletcounter].alloc.Y>1)
                {
                    bullet[bulletcounter].alloc.Y--;
                    bullet[bulletcounter].print();
                }
            else
                {
                    bullet[bulletcounter].existance=false;
                    pole[bullet[bulletcounter].alloc.Y][bullet[bulletcounter].alloc.X]=' ';
                }
    }

    по нажатию пробела должна вылетать пулька, но чегот не хочет она вылетать, есть идеи? :3

    Запостил: Morozz, 29 Апреля 2015

    Комментарии (1) RSS

    Добавить комментарий