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

    +161

    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
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    //============= 'game' это, собственно, сама игра ==================
    void SUPERMARIO::Game()
    {
      InitForStartGame(0);
      //music(NORMAL_MUSIC);
      while (GAMECYCLE)  //цикл игры
      {
      //I. построение изображения 
      MOVEOBJ::TotalAnimatedObject=0;
      prMonetsChangePhase();
      prPuziri();
      prBuildGamePicture();
      prShowDebugInfo();
      //II. логика игры
      BirdsOtSten();      //птички отталкиваются от стен
      SkeletonCollect();    //собираем скелетов
      prCleverobjRefresh();  //обновляем все у умных объектов
      prMarioDeathOnShipah();  //марио гасится на шипах
      prForMarioProtected();  //чтобы марио был защищенным
      prPrizeCatch(Rick, Prize);//призы не проходят сквозь стенки и марио ловит призы
      prBricksNudgePrize();  //кирпичи могут подталкивать призы
      prBricksRestore();    //восстанавливаем кирпичи
      prTurtleCikAlien();    //черепаха сбивает других чужих
      prMonetsTimeEndTimeLiveAndScoreCreate();//надо создать очки когда монетка пропадает
      prIfGameOver();      //если конец игры 
      prBossSalivaDeathMario();// кегли башки гасят марио и не пролетают через стены
      prBossSendSaliveAndKeepAtMario();//башка пускает "кегли" и находится вблизи от марио
      ArmsKillAlien();    // оружие убивает чужих
      prLiftUpDown();      //меняем направление лифта и обновляем его координаты
      prMarioDeathOnFlower();//марио гасится на зубастых цветках
      prFlowersUpDown();    //поднимаем и опускаем зубастые цветки
      MindobjFunctions(Rick, Cleverobj);//различные функции
      MindobjFunctions(Rick, CleverAlien);//предусмотренные для Mindobj
      prMarioFlyDownCleverobj();  //марио слетает с клевых объектов
      prMarioPositionerOnCleverobject();//позиционируем Mario  на клевый объект
      prMarioRenewXY();//обновляем координаты Mario
      //если ноги марио близко к лифту, марио падает
      prMarioClammyToLift();  //на лифт и его ускорение приравнять к нулю
      prMarioDownsBrickDestroy();//обрушиваем кирпичи под ногами у марио
      prArmsCollisionWithWall();//оружие сталкивается со стенами *
      prRememberOldMarioCoordinates();//запоминаем старые координаты Mario
      prKeyboardProcess();    //обработка НАЖАТИЙ клавиш 
      GameModesTreat();    //обрабатываем ситуацию загрузки и рестарта уровня режимы игры
      if (DoorOpenCounter) DoorOpenCounter--;  //чтобы дверь успела открыться
      prScrollBricks();    //двигается фон (спрайты воды и огня)
      prChangeEffect();    //эффект перехода на другой экран
      prShowFPS();      //показать FPS
      prSynhronization();    //синхронизируемся (ждем когда таймер станет равным 1)
      
      ShowLevelNumberTimeCounter++;
    
      if (ShowLevelNumberTimeCounter<100)
      {
        
        Msg("  УРОВЕНЬ    ", 9, MSG_NOUPDATE);
        
    
        /*if (LevelNumber<40)
        {
          scr.putNumb(LevelNumber/4+1,1);
          scr<< '-';
          scr.putNumb(LevelNumber%4+1,1);
        }
        else
        {
          scr.putNumb(LevelNumber);
        }*/
        scr.putNumb(LevelNumber);
    
      }
      
      static int ShowLog=0;
      //выводим изображение на экран из DoubleBuffer
      if (Keyb[KEY_L] && Keyb[KEY_LEFTCTRL]) 
      {
        Keyb^KEY_L;
        ShowLog^=1;
      }
      
      if (ShowLog) 
      {
        //сжимаем картинку
        for(int i=0; i<100; i++)
        {
          memcpy(scr.DoubleBuffer+i*320, scr.DoubleBuffer+i*2*320,320);
        }
        
        scr.rectangle(0,100,320,100,0);
        Log.Show();
      }
      scr.update();      
      } //конец цикла while
    }//конец функции game

    Ностальгия...

    Запостил: CPPGovno, 31 Августа 2011

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

    • Birds ot sten!!!
      Ответить
    • "Clever" переводится как "умный"
      Ответить
    • 1 сентября. Обещанный школокод.
      Ответить
    • Это не школокод и не говнокод.
      Это код 97 года, этим всё сказано.
      Тот, кто его выложил, почему не указал источник?
      http://www.gamedev.ru/projects/forum/?id=151708
      Ответить
      • > я скоро возможно уже отправлюсь в мир иной, чтобы хоть это не пропало
        Да, и правда не школокод.
        Видео реально доставило. Автор - гений. Код - гавно.
        Ответить

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