资源简介
小程序 俄罗斯方块主要适合于初学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个文件信息
相关资源
- 最简单的C语言俄罗斯方块
- mfc制作的圆形时钟
- c语言实现俄罗斯方块
- VS2013写的简单小游戏俄罗斯方块
- 俄罗斯方块游戏设计C++课程设计报告
- 2013VS MFC 闹钟小程序
- 基于VC6.0 的MFC俄罗斯方块游戏设计含
- 俄罗斯方块(C语言实现,有注释
- C++ QT 俄罗斯方块源码
- 基于UDP的MFC 通讯小程序
- Vc++编写的计算器简单小程序
- 基于VS2010的c++计算器小程序
- MFC和openCV看图小程序
- 解析IP数据包 小程序C++实现
- mfc可视化程序设计大作业俄罗斯方块
- C语言实现模拟烟花绽放的小程序源码
- 采用C++、curses、多线程实现的俄罗斯
- C++版本俄罗斯方块代码
- 俄罗斯方块C语言报告
- linux下c语言写的俄罗斯方块
- MFC俄罗斯方块设计报告
- 俄罗斯方块-毕业设计开题报告
- 俄罗斯方块源代码(C++源代码)
- C语言课程设计 俄罗斯方块源程序
- 俄罗斯方块c++源码
- 控制台俄罗斯方块C++源码
- C语言制作的双人俄罗斯方块
- 俄罗斯方块(黑白版)
- linux下C语言俄罗斯方块代码
- c++歌手评分系统 c++xiaochengxv
评论
共有 条评论