• 大小: 1.02MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-12
  • 语言: C/C++
  • 标签: 小程序  

资源简介

小程序 俄罗斯方块主要适合于初学C语言的人进行学习,高手就算了

资源截图

代码片段和文件信息

/****************************************************************************\
Datei  : Color.cpp
Projekt: Farbverwaltung
Inhalt : CColor Implementierung
Datum  : 10.01.1999
Autor  : Christian Rodemeyer
Hinweis: ?1999 by Christian Rodemeyer
         Info 黚er HLS Konvertierungsfunktion
         - Foley and Van Dam: “Fundamentals of Interactive Computer Graphics“  
         - MSDN: ‘HLS Color Spaces‘
         - MSDN: ‘Converting Colors Between RGB and HLS‘ 
\****************************************************************************/

#include “StdAfx.h“
#include “Color.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


CColor::CColor(COLORREF cr)
: m_bIsRGB(true) m_bIsHLS(false) m_colorref(cr)
{}

CColor::operator COLORREF() const
{
  const_cast(this)->ToRGB();
  return m_colorref;
}

// RGB

void CColor::SetRed(int red)
{
  ASSERT(0 <= red && red <= 255);
  ToRGB();
  m_color[c_red] = static_cast(red);
  m_bIsHLS = false;
}

void CColor::SetGreen(int green)
{
  ASSERT(0 <= green && green <= 255);
  ToRGB();
  m_color[c_green] = static_cast(green);
  m_bIsHLS = false;
}

void CColor::SetBlue(int blue)
{
  ASSERT(0 <= blue && blue <= 255);
  ToRGB();
  m_color[c_blue] = static_cast(blue);
  m_bIsHLS = false;
}

void CColor::SetRGB(int red int blue int green)
{
  ASSERT(0 <= red && red <= 255);
  ASSERT(0 <= green && green <= 255);
  ASSERT(0 <= blue && blue <= 255);

  m_color[c_red]   = static_cast(red);
  m_color[c_green] = static_cast(green);
  m_color[c_blue]  = static_cast(blue);
  m_bIsHLS = false;
  m_bIsRGB = true;
}

int CColor::GetRed() const
{
  const_cast(this)->ToRGB();
  return m_color[c_red];
}

int CColor::GetGreen() const
{
  const_cast(this)->ToRGB();
  return m_color[c_green];
}

int CColor::GetBlue() const
{
  const_cast(this)->ToRGB();
  return m_color[c_blue];
}

// HSL

void CColor::SetHue(float hue)
{
  ASSERT(hue >= 0.0 && hue <= 360.0);

  ToHLS();
  m_hue = hue;
  m_bIsRGB = false;
}

void CColor::SetSaturation(float saturation)
{
  ASSERT(saturation >= 0.0 && saturation <= 1.0); // 0.0 ist undefiniert

  ToHLS();
  m_saturation = saturation;
  m_bIsRGB = false;
}

void CColor::SetLuminance(float luminance)
{
  ASSERT(luminance >= 0.0 && luminance <= 1.0);

  ToHLS();
  m_luminance = luminance;
  m_bIsRGB = false;
}

void CColor::SetHLS(float hue float luminance float saturation)
{
  ASSERT(hue >= 0.0 && hue <= 360.0);
  ASSERT(luminance >= 0.0 && luminance <= 1.0);
  ASSERT(saturation >= 0.0 && saturation <= 1.0); // 0.0 ist undefiniert

  m_hue = hue;
  m_luminance = luminance;
  m_saturation = saturation;
  m_bIsRGB = false;
  m_bIsHLS = true;
}

float CColor::GetHue() const
{
  const_cast(this)->T

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     876544  2012-12-25 16:53  NovaTetris\debug\NovaTetris.exe

     文件       5480  2003-04-16 17:56  NovaTetris\NovaTetris\Color.cpp

     文件       2223  2003-04-16 17:57  NovaTetris\NovaTetris\Color.h

     文件        379  2012-12-25 16:53  NovaTetris\NovaTetris\EachRef.h

     文件      13190  2012-12-13 10:54  NovaTetris\NovaTetris\EnBitmap.cpp

     文件       6096  2003-05-25 15:46  NovaTetris\NovaTetris\EnBitmap.h

     文件       1688  2012-12-20 21:36  NovaTetris\NovaTetris\GameRank.cpp

     文件       1524  2012-12-19 23:56  NovaTetris\NovaTetris\GameRank.cpp~

     文件        931  2012-12-25 16:53  NovaTetris\NovaTetris\GameRank.h

     文件        546  2012-12-19 23:08  NovaTetris\NovaTetris\GameRank.h~

     文件     563916  2012-12-21 18:26  NovaTetris\NovaTetris\NovaTetris.aps

     文件       1701  2012-12-12 14:34  NovaTetris\NovaTetris\NovaTetris.cpp

     文件        746  2012-12-25 16:53  NovaTetris\NovaTetris\NovaTetris.h

     文件       6887  2012-12-21 18:26  NovaTetris\NovaTetris\NovaTetris.rc

     文件       8178  2012-12-21 18:26  NovaTetris\NovaTetris\NovaTetris.vcproj

     文件       1427  2012-12-25 16:54  NovaTetris\NovaTetris\NovaTetris.vcproj.MICROSOF-28BB63.Administrator.user

     文件       1427  2012-12-21 18:27  NovaTetris\NovaTetris\NovaTetris.vcproj.PC2011120520GNH.Administrator.user

     文件       9060  2012-12-20 15:31  NovaTetris\NovaTetris\NovaTetrisDlg.cpp

     文件       9066  2012-12-19 23:03  NovaTetris\NovaTetris\NovaTetrisDlg.cpp~

     文件       1828  2012-12-25 16:53  NovaTetris\NovaTetris\NovaTetrisDlg.h

     文件       4131  2012-12-13 11:05  NovaTetris\NovaTetris\picturewindow.h

     文件       2945  2012-12-08 11:54  NovaTetris\NovaTetris\ReadMe.txt

     文件       1254  2012-12-09 22:06  NovaTetris\NovaTetris\res\1.bmp

     文件       3126  2012-12-20 22:56  NovaTetris\NovaTetris\res\11.bmp

     文件       3126  2012-12-13 13:04  NovaTetris\NovaTetris\res\12.bmp

     文件      99678  2012-12-12 23:50  NovaTetris\NovaTetris\res\1355327362_Games1.ico

     文件       1254  2012-12-09 22:06  NovaTetris\NovaTetris\res\2.bmp

     文件       1254  2012-12-09 22:06  NovaTetris\NovaTetris\res\3.bmp

     文件       1254  2012-12-09 22:06  NovaTetris\NovaTetris\res\4.bmp

     文件       1254  2012-12-09 22:06  NovaTetris\NovaTetris\res\5.bmp

............此处省略43个文件信息

评论

共有 条评论