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

    +172

    1. 1
    2. 2
    char readByffer[102]={0};
    std::string dataStrong = readByffer;

    CPPGovno, 01 Сентября 2011

    Комментарии (8)
  2. 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)
  3. C++ / Говнокод #7713

    +153

    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
    // ...
    if (m_parent->GetState() == Disconnected)
    {
    	CString login;
    	CString password;
    	m_login.GetWindowText(login);
    	m_password.GetWindowText(password);
    
    	if (login.IsEmpty()
    		|| password.IsEmpty())
    	{
    		::MessageBox(this->m_hWnd, _T("Please enter login and password"), _T("Input error"),MB_OK);
    		return;
    	}
    		
    	if (CheckString(login)
    		|| CheckString(password))
    	{
    		::MessageBox(this->m_hWnd, _T("You have entered unsupported symbol."), _T("Input error"), MB_OK);
    		m_login.SetWindowText(login);
    		m_password.SetWindowText(password);
    		
    		return;
    	}
    
    	SaveConfig();
    }
    
    // ...
    
    
    bool CheckString(CString& string)
    {
    	bool res = false;
    	CString checked = _T("<>,!()[]{}~`#$%^&*+=/\\\"|;:'");
    	for (int i = 0; i < checked.GetLength(); ++i)
    	{
    		if (string.Find(checked[i]) != -1)
    		{
    			res = true;
    			string = _T("");
    			break;
    		}
    	}
    
    	return res;
    }

    Проверка допустимых символов

    kandul, 31 Августа 2011

    Комментарии (7)
  4. C++ / Говнокод #7689

    +165

    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
    class Exception {
      public:
        Exception() { }
        Exception(const char *fmt, ...) {
          va_list  argPtr;
          va_start(argPtr, fmt);
          Str_VSPrintf(desc, sizeof(desc), fmt, argPtr);
          va_end(argPtr);
    
          throw(*this);
        }
    
        char desc[8096];
      };

    http://www.gamedev.ru/code/forum/?id=151712#m6

    >Всё работает иа рад :)

    CPPGovno, 29 Августа 2011

    Комментарии (112)
  5. C++ / Говнокод #7688

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Я думал тоже так сделать, но иногда для параметра нужны дополнительные аргументы. Например есть operator()(float, int preciseness). С запятыми такого не сделаешь. Я это применил в своих массивах. Можно написать так:
    Array<int> arr;
    arr.Init(), 5, 7, 65, 99, 267; //Инициализирует массива числами, перечисленными через запятую
    //Кстати, сделал такое добавление в массив:
    arr.Insert(0), 5, 7, 3; //Добавляет числа вначало массива
    arr.Insert($), 888, 25, 76; //Добавляет в конец
    arr.Insert($/2), 65, 23; //В середину
    //Знак доллара сделал для схожести с языком D. Теперь не надо писать arr.length, можно писать $. Вообще, это должно быть медленнее, но компилятор оптимизирует и по тестам получается так же.
    //P. S. В govnokod.ru не заносить.

    http://www.gamedev.ru/code/forum/?id=148200&page=6#m76

    CPPGovno, 29 Августа 2011

    Комментарии (105)
  6. C++ / Говнокод #7686

    +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
    class CmyBuffaer{};
    
    template< typename TYPE > CmyBuffaer& operator,( CmyBuffaer& buffer, typename TYPE arg);
    
    template<> CmyBuffaer& operator,<double>( CmyBuffaer& buffer, double arg)
    {
      printf("%f",arg);
      return buffer;
    }
    template<> CmyBuffaer& operator,<const char*>( CmyBuffaer& buffer, const char* arg)
    {
      printf("%s",arg);
      return buffer;
    }
    template<> CmyBuffaer& operator,<int>( CmyBuffaer& buffer, int arg)
    {
      printf("%i",arg);
      return buffer;
    }
    //...
    CmyBuffaer(),34.5,"+",54,"+\n";

    CPPGovno, 29 Августа 2011

    Комментарии (14)
  7. C++ / Говнокод #7682

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int main(int argc, char* argv[])
    {
      std::cout<<"Good testing!\n";
      system("PAUSE"); 
      return 0;
    }

    http://www.gamedev.ru/code/forum/?id=151702

    Привет!
    Есть окно на DX9, как вывести текст?
    Делаю так:
    Создал файл txt.cpp.
    В итоге выводит только окно.
    Как вывести текст в DirectX 3D или можно по-другому?

    CPPGovno, 28 Августа 2011

    Комментарии (7)
  8. C++ / Говнокод #7681

    +162

    1. 1
    2. 2
    3. 3
    #define      my__type    ((pair<LPVOID, CheckButton_Thread*>*)pvPararn)
    
    my__type -> second -> function( my__type -> first);

    http://www.gamedev.ru/code/forum/?id=151690#m11

    >О ужас, но у меня получилось! :)
    Сказал автор темы и выдал результат труда.

    CPPGovno, 28 Августа 2011

    Комментарии (33)
  9. C++ / Говнокод #7677

    +165

    1. 1
    std::cout << [&i](){return i;}();

    И вот ещё одна жертва стандарта. На этот раз она в пасть лезет добровольно.

    Говногость, 28 Августа 2011

    Комментарии (19)
  10. C++ / Говнокод #7676

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    return parse(
            str,
            ( ( lexeme_d[+alnum_p][assign_a(key)] >> ':' >> lexeme_d[ '"' >> ( *~ch_p('"') )[insert_at_a(mp,key)] >> '"' ] ) % ',' ),
            space_p
        ).full;

    Говногость, 28 Августа 2011

    Комментарии (14)