资源简介
小程序 俄罗斯方块主要适合于初学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个文件信息
相关资源
- 俄罗斯方块游戏源码(Tetris)
- 俄罗斯方块(c++控制台代码)
- 俄罗斯方块.cpp
- MFC基于对话框游戏 打字游戏1.0V
- opencv版俄罗斯方块源码
- 俄罗斯方块源码用VC开发
- C/C++语言大作业、小游戏
- VC6.0_MFC画图demo小程序源码
- MFC画图小程序
- C语言版俄罗斯方块基于EASYX库
- VC++ Win32俄罗斯方块游戏源码(新)
- C++图形系统实现俄罗斯方块小游戏
- C++ 实用小程序与多个课程设计收集适
- C++ 模拟投票系统小程序
- c++ 俄罗斯方块( + 文档)
- 用C++使用SDL库编写的俄罗斯方块游戏
- 模拟字典小程序c++实现
- 计算BMP24位真彩色图像PSNR的C++小程序
- mfc编写的通讯录小程序
- 一款基于MFC编写的通讯录程序
- 一个控制台俄罗斯方块C++源代码及可
- C++课后小练习(类、继承、多态等有
- 基于MFC的俄罗斯方块游戏
- C语言在vc下编写的Windows窗口小程序
- c源码与c++各种小程序源码
- 五个小程序 VC++的源代码
- 俄罗斯方块游戏exe程序和所有代码资
- 功能完善的俄罗斯方块程序(C语言编
- MFC俄罗斯方块源码
- 俄罗斯方块C语言实现,用到了C语言的
评论
共有 条评论