分享代码 快乐编程

一起学习,一起进步,从分享代码开始~

[图像处理] 彩色图像转换为灰度图像

这个程序实现将彩色图像转换为灰度图像。

彩色转换为灰度使用如下公式:

Gray = R * 0.299 + G * 0.587 + B * 0.114

为了提高运算速度,将这个公式转换为整数运算:

Gray = (R * 229 + G * 587 + B * 114 + 500) / 1000

为了提高运算速度的方法还有很多,这里作为演示,不再详述。

完整代码如下:

/////////////////////////////////////////////////////////
// 程序名称:彩色图片转换为灰阶图片
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20130322(beta)
// 作    者:krissi <zh@easyx.cn>
...

祝福烟花

你是否还在苦恼朋友生日时一条简单的祝福短信不够分量嚒?

你是否还在犹豫如何在现实中诚心诚意地表达自己的感情嚒?

那么看了该文章,相信只要是心里有爱的盆友都会灵光乍现,

加上自己的创意,给你的 TA 送去属于你自己的祝福烟花吧!

动画运行截图:

完整的动画 VC++ 源代码下载:<点击这里下载>

青蛙过河小游戏 v1.0(by P_S_I)

���是一个很典型的游戏,很多程序使用的也是这种结构,制作多个元件同时的运动。还有如何用光栅获得透明背景。希望我的小作品能抛砖引玉,给大家一点启发!

待扩展的功能: 

  • 难度、更多关卡、商店、分数排行榜、岸上的障碍。
  • 背景音乐、音效、鼠标控制、时间限制等。

游戏规则:

  • WSAD 控制,ESC 退到主界面,再按则退出。
  • 木板间隔是随机的。
  • 生命归零时游戏结束。
  • 渡河会导致1条河道速度 +2。
  • 死亡会导致所有河道速度 -1。
  • 青蛙出界或落水算死亡。
  • 不会在第一道出界。
  • 积分的算法是四条河道速度相加。
  • 金币留给以后扩展程序。

源码说明:

  • 图片放在res文件夹里,请把 res 和 frogger.exe 放在同一个文件夹里。
...

迷宫 2:支持自己创建迷宫,并求解最短路径(by Redman)

本迷宫游戏支持用户自己创建迷宫,定义迷宫的出入口,并求解最短路径。

游戏运行抓图如下:

使用方法:

  1.  执行程序后,先按 s,开始用鼠标绘制迷宫墙壁。
  2.  绘制完墙壁后,按 e,用鼠标设置迷宫的出入口。
  3.  设置好出入口之后,按 d,动态演示迷宫的最短路径。

游戏采用面向对象技术编写,完整的游戏 VC++ 源代码下载:<点击这里下载>

作者:Redman
邮箱:huangxionging@163.com

扔香蕉的大猩猩(怀旧)

又是一个怀旧的游戏,让我想起了以前学习编程的时候。

这个游戏模仿的微软在 20 多年前的一个小游戏,不知道谁也有印象呢?图片都是从原来的游戏中抓图弄出来的,颜色也是从原游戏抓图中取色设置的,应该和原来的风格很像。

你的任务是用香蕉击中你的对手。

你可以通过鼠标调整投掷香蕉的角度和力度,香蕉会受重力加速度的影响。同时,请注意屏幕底部表示风力的箭头,香蕉同样会受风力影响。风力的箭头越长,表示风力越强。还有,周围的楼宇会阻挡你的香蕉。

游戏运行效果如下:

完整的源代码和图片可以【点击这里下载】

也可以直接查看如下游戏源代码(注意,除了以下代码,还需要两个图片文件,在前面的压缩包里面有):

...

万年历(by Redman)

万年历程序。顾名思义可以查询很多年份的日历。

按键介绍:

  • q 年份加 1,a 年份减 1
  • w 年份加 10,s 年份减 10
  • e 年份加 100,d 年份减 100
  • r 年份加 1000,f 年份减 1000
  • t 月份加 1,g 月份减 1

执行效果如下:

完整的源代码如下:

/************************************************************
 * 本程序名叫万年历:										*
 * 顾名思义可以查询很多年份的日历							*
 * 按键介绍:												*
 * q 年份加 1, a 年份减 1									*
 * w 年份加 10, s 年份减 10									*
 * e 年份
...

涂格子

涂格子游戏。游戏规则:

  1. 单击空格子,同时给上下中左右的空格子换色。
  2. 全部格子都上完颜色过关。
  3. 按任意键退出游戏。
  4. 右击重来,Ctrl 作弊键。

以下是该游戏的 VC++ 源代码:

/****************************************************************
 *																*
 *	程序名称:	《涂格子游戏》									*
 *	编译环境:	VC++6.0 && && EasyX_v20120603b					*
 *	作者相关:	Made In China by xiongfj <837942056@qq.com>		*
 *	最后修改:	2012.09.12										*
 *																*
 ****************************
...

贪吃蛇游戏的双人对战版

这是贪吃蛇游戏的双人对战版。

游戏双方分别控制蓝色和红色两条小蛇的前进,碰壁或咬到蛇身体算输。

这个对战版的贪吃蛇游戏网上有不少源代码,这个代码的特点就是为两个游戏者分别增加了命令队列,以实现更舒服的控制。

完整的游戏源代码如下:

///////////////////////////////////////////////////
// 程序名称:贪吃蛇游戏的双人对战版
// 编译环境:Visual C++ 6.0 / 2010,EasyX_20130322(beta)
// 作  者:yangw80 <yw80@qq.com>
// 最后修改:2012-7-23
//
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <queue>

using namespace std;

#def
...

三辆行驶的小车(by E_SHARE)

本程序模拟了以不同速度行驶的三辆小车。

源代码如下:

////////////////////////////////////////////
// 程序名称:3 辆行驶的小车
// 编译环境:Visual C++ 6.0,EasyX_20120603(beta) 
// 程序编写:E_SHARE <501748772@qq.com>
// 编写时间:2012-6-26
////////////////////////////////////////////
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>

// 声明需要使用的函数
void carstart(int x, int y, int z);
void drawbus();
void init();

// 定义全局变量
IMA
...