- 博客(293)
- 资源 (27)
- 收藏
- 关注
原创 SimpleCG创建多个窗口
在之前对SimpleCG的介绍中,我们所有程序都在单个窗口内完成,通常这也是大多数程序的做法。尽管如此,多窗口在某些情形下也是非常需要的,这篇文章我们就来看看如何创建多个窗口并进行相关操作。
2024-04-25 17:46:10
295
原创 SimpleCG小游戏开发系列(4)--见缝插针
网上有个很流行的手机小游戏--见缝插针,它是一个不断往旋转的圆球插针的游戏,游戏规则就是不要碰到前面已经插上的针,插的针越多分数越高。在前面文章中我们介绍了旋转函数,可以用来旋转绘制的所有对象。我们似乎可以利用该函数制作此游戏。不过在这里,我们通过这个小游戏的制作来介绍另外一种旋转图形的方法,利用旋转公式来计算旋转点。
2024-04-25 17:45:03
604
原创 SimpleCG如何只显示图形窗口,不显示控制台窗口
在之前的SimpleCG程序,我们发现都会打开一个控制台窗口(下图红色部分),那是为了方便调试程序,或者输出一些文本信息。如果是在用户电脑运行,有个黑窗口则非常不美观,所以要怎么才能关闭它呢?下面说说方法。
2024-01-09 16:13:34
645
原创 SimpleCG小游戏开发系列(3)--俄罗斯方块(方法2)
在之前一篇文章中,我们介绍了俄罗斯方块的其中一种数组点阵方阵算法,在本篇我们尝试换一种坐标算法来写同样的程序。所以预览效果也跟之前的没什么不同。
2024-01-09 16:10:35
630
原创 SimpleCG绘图函数(11)--绘制旋转图形、如偏转椭圆形绘制
在SimpleCG中我们没有提供直接绘制偏转的椭圆形的函数,所以正常情况下绘制出来的椭圆形都是长短轴与横纵坐标线平行。当需要绘制轴有偏转的椭圆形时就没办法了。不过SimpleCG提供了对坐标系进行旋转的函数,所以不仅可以绘制偏转椭圆形,还可以绘制偏转长方形,甚至直接绘制旋转图片。
2024-01-07 16:09:37
1072
1
原创 SimpleCG小游戏开发系列(3)--俄罗斯方块(方法1)
俄罗斯方块》(Tetris,俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。游戏玩法是由四个小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。俄罗斯方块涉及的主要难点是各种形状方块的表示,通过观察,可以发现所有形状都是由四块小方块组成。
2024-01-07 16:07:23
1136
原创 SimpleCG小游戏开发系列(2)--贪吃蛇
贪吃蛇是一款经典的游戏,玩家需要控制一条蛇在屏幕上移动,不断吃掉食物并成长,同时要避免碰到墙壁或自己的身体。蛇在移动过程中会遇到食物,玩家需要让蛇的头部碰到食物,蛇就会自动将食物吞下,并且蛇的长度会相应增加。碰到墙壁或自己的身体就游戏结束。
2023-12-29 16:31:59
700
原创 SimpleCG有趣的海龟作图
海龟作图最初源自 20 世纪 60 年代的 Logo 编程语言,因为这种作图方式简单明了,特别适合ihe程序初学者学习,所以在SimpeCG中我们引入了这种作图方式。在海龟作图中,我们可以虚拟一个想象中的海龟在屏幕上爬动,同时在屏幕上留下爬行轨迹。通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片。使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。
2023-12-29 16:31:04
490
原创 SimpleCG小游戏开发系列(1)--扫雷
前面我们学习了SimpleCG的游戏开发框架,从本篇开始,我们用一系列小游戏的开发来加深对框架的了解.我们先以windows的经典游戏--扫雷,作为首个例子。游戏预览如下。
2023-11-24 19:02:22
185
原创 SimpleCG程序运行框架介绍
通过以上三个框架的内容介绍,同学们可以依据所设计软件的特点选择适当的框架进行SimpleCG的应用开发。后续将用几个小游戏的例子进一步介绍游戏框架的开发方法,有兴趣的同学可以关注并留意后续文章介绍。
2023-11-14 11:55:01
168
原创 SimpleCG颜色相关
最后看看实际运用HSV的例子// Rainbow.cpp : 定义控制台应用程序的入口点。if(!return 1;return 0;运行效果如图因为有HSV模型辅助,需要平滑色相过渡只需要改变H数值就可以了。如果直接用RGB恐怕很难实现,只能借助数组预设颜色了。所以运用不同颜色模型能够提高开发效率、简化逻辑。
2023-11-14 10:46:50
230
原创 C 语言课程设计:SimpleCG打造实用学生信息管理(二)
上回我们已经完成了这个学生信息管理系统的一些基础功能,这篇继续完善上次的C课程设计,设计一个实用的学生信息管理系统。
2023-11-04 11:44:40
205
原创 C 语言课程设计:SimpleCG打造实用学生信息管理(一)
学生信息管理(1)问题描述学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:A、系统以菜单方式工作B、学生信息录入功能(学生信息用文件保存)—输入C、学生信息浏览功能——输出D、查询、排序功能——算法1、按学号查询2、按姓名查询E、学生信息的删除与修改(可选项)(2)功能要求界面简单明了;有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;
2023-10-24 13:30:22
288
原创 SimpleCG图像操作基础
以上就是图片的基本操作,对于其他更多的图片操作,例如多帧gif图片操作,图片保存,创建空图片,截取窗口图片等可以查看后续文章,或者自学能力强的同学可查看库文件说明。库安装方法如下SimpleCG库安装使用_b2b160的博客-优快云博客。
2023-10-18 17:23:12
210
原创 SimpleCG动画示例--汉诺塔动画演示
SimpleCG的使用方法在前面已经介绍了许多,有兴趣的同学如果有去动手,制作一些简单动画应该没多大问题的。所以这次我们来演示一下简单动画。我们刚学习C语言的递归函数时,有一个经典例子相信很多同学都写过,那就是汉诺塔。那么我们今天就来写一个汉诺塔的直观动画演示。
2023-10-01 22:47:26
685
2
原创 SimpleCG文字输出基础
以上就是文字输出的基本方法,要想进一步掌握windows的文字输出,可以进一步研究windows的字体相关知识,加上一些想象力就可以做出酷炫的文字特效。对于一般的文本输出则只要掌握基本的知识已经够用了。欢迎有兴趣的同学下载simplecg库来进一步学习研究。
2023-09-28 15:41:25
191
原创 又到中秋节,通过C语言利用SimpleCG制作电子贺卡
首先默认起始状态是C大调、音符是32分音符,此时1、2、3演奏出来的是C大调,就是音符底下和上面都没有点,然后+号升8度,-号降8度,而且输入+、-后影响后面所有的音符,除非再次使用+、-进行调节,乘号*和除号/是改变音符长短,默认是32分音符,输入一个*变成16分音符,再输入*变成8分音符,再一个*就成4分音符,看代码中“ ***1/1-6*5/6+1|*1===|1/1-6*5/6+2|*2===”,开始的三个*就是改变状态为4分音符。我们的简谱文本主要有六个特殊字符,分别是+、-、*、/、=、|。
2023-09-26 17:30:14
620
原创 SimpleCG程序交互操作
之前所有示例程序都是属于展示型的,只是作为展示板输出使用,不涉及键盘和鼠标的输入交互,下面我们开始接触具有交互功能的程序。没有交互功能的程序可以满足一定需求,不过大部分的程序是不能脱离交互功能的。程序依据使用者的操作进行相应反应并进行相关输出从而达到互动,将让程序的魅力提高一个层次。一个典型的应用就是游戏,所以学习完本篇内容后将可以进行一些游戏程序的编写。当前SimpleCG库主要支持的输入操作是鼠标和键盘,下面看看具体如何操作吧。
2023-09-13 20:31:41
404
原创 SimpleCG绘图函数(10)--基础参数属性设置函数
以上就是一些常用的基础参数的设置与获取,还有其他不常用但也非常重要的参数使用方法将在后面进行介绍。
2023-09-10 22:07:11
724
2
原创 SimpleCG绘图函数(9)--绘制各种线条
详细介绍完了所有线段函数,另外还介绍了一个与线段函数配合使用的floodfill函数。通过以上函数几乎可以模拟所有的矢量图形,前提是只要你能熟练掌握它们。
2023-08-23 19:15:40
432
原创 SimpleCG绘图函数(8)--绘制多边形
其中数字标明了绘制点的顺序,我们看到整个图形用的填充色是一种,而且前面5个点已经围了一个矩形,但发现有些地方填充了,有些地方却没填充。例如看第一个浅紫色色块,首先穿过4--5线段时属于奇数次开始填充紫色,穿过5--6线段时,属于偶数次结束填充紫色,后面没填充就一块白色,穿过6--7时又属于奇数次又开始填充紫色,穿过7--8时属于偶数次,结束填充紫色。正多边形函数可以绘制一切线段围成的图形,从上面程序已经看出他甚至能模拟出圆形,所以可以说只要愿意,几乎可以绘制所有图形。好了,以上就介绍完了多边形的绘制方法。
2023-06-14 21:42:49
872
原创 SimpleCG绘图函数(7)--绘制扇形
首先扇形是椭圆的一部分,所以前面四个参数定义了扇形所在的椭圆,与椭圆参数一致,分别是椭圆外切矩形左上角坐标(left, top),右下角坐标(right, bottom)。首先在表示角度时采用弧度表示,例如30度表示成C_PI/3,其中C_PI是圆周率,而且是顺时针增加,不是笛卡尔坐标系的逆时针。可以看到黑色的扇形从0度角逆时针转到60度角(这个60度是水平往右是0度,然后顺时针方向增加60度),红色扇形起始角度为60度,终止角度是0度,则从60度角逆时针转到0度角。这篇我们学习扇形的绘制。
2023-06-06 00:20:03
719
原创 SimpleCG绘图函数(6)--绘制圆角矩形
这里要加以解释的是圆角宽度roundwidth和圆角高度roundheight,它表示了圆角所在的椭圆的宽度和高度,也就是说圆角矩形的四个角不用直角,而是把一个宽roundwidth和高roundheight的椭圆分成四瓣,四个角分别取自同一个椭圆对应的四个部分。而且当圆角矩形宽度和高度与圆角所在椭圆相等或者更小时,绘制出来的就是对应的椭圆。本篇我们学习圆角矩形的绘制,圆角矩形就是在矩形的四个边角做圆弧处理,使图形不会太生硬,增加柔和度和亲和力,在现代界面中大量运用。所以圆角矩形也可以用来绘制圆或者椭圆。
2023-06-03 01:23:06
1014
原创 SimpleCG绘图函数(5)--绘制椭圆
代码使用了_fillrectangle加下划线是为了不进行屏幕刷新,统一用ReflushWindow刷新,避免闪烁,后续的版本可能会更改这种方式,目前还是alpha版本。所以聪明的读者已经发现了,其实椭圆函数也可以绘制圆,只要给一个正方形作为外切矩形就可以了,所以绘制圆有两种方式。按给的参数选择方便的方式就可以了。只要给出左上角和右下角标明的一个矩形,就按给定矩形绘制一个内切的椭圆。与所有有面积的图形一样,椭圆也提供四种绘制方式,在此不再赘述。红色矩形就是用同样的参数绘制的,椭圆刚好是一个内切椭圆。
2023-06-01 14:58:17
342
原创 SimpleCG绘图函数(4)--绘制圆
只要提供圆心坐标及半径长度即可,与矩形一样,提供了四个函数分别绘制1、仅有边框无填充--circle2、边框加填充--fillcircle3、无边框,画圆函数是没办法实现的。在前一篇教程我们利用绘制矩形功能绘制了一个城市,接下来我们讲解另外一个同样重要且基础的图形----圆形。为了绘制运动太极,将太极绘制放入单独函数供调用,而且设置了旋转角度参数,方便绘制转动的太极。以上通过几个例子演示了圆形的绘制及运用,大家可以参考并熟练圆形函数的应用,发挥想象,多多练习,下一篇将探讨椭圆的绘制方法及使用。
2023-05-31 16:14:38
1225
原创 SimpleCG绘图函数(3)--绘制矩形
我们以后会看到所有针对类似矩形这种具有面积的图形,都分别实现四种绘制效果,分别是1、无填充--不带有前缀,2、无边框--solid开头,3、带边框及填充--fill开头,4、清空形状区域,也就是以背景色填充。前面我们已经学习了点和线的绘制,本篇我们继续绘图函数学习----矩形的绘制,也就是长方形的绘制,并给出一个绘制楼房的例子演示矩形的应用。可以看到所有图形元素都是用矩形绘制,发挥你的想象,你一定能发现矩形的更多更好玩的用法。4、清空矩形,以背景色清空矩形 clearrectangle。
2023-05-30 00:47:10
1258
原创 SimpleCG绘图函数(2)--直线
本篇继续,绘制一条直线段,这个很好理解,就是以起点到终点绘制一条线条,其中线条包含起点,但不包含终点,当前颜色可以通过void setlinecolor(COLORREF nColor)指定.下面我们通过一个简单的示例代码演示线条在绘制中的实际运用.该程序用动态的有规律的点绘制看似凌乱的线条,展现出微妙的动态变化.另外两个函数提到隐含坐标,是设备内部坐标,每次绘制线条后,将设置终点为设备的隐含坐标点,可作为下一次绘制的起点.
2023-05-06 11:28:17
229
原创 SimpleCG绘图函数(1)
这两个函数虽然简单,但功能却不容忽视,因为所有计算机呈现出来的图片都是点阵图,也叫像素图.而这两个函数就是画点和获取点颜色的,也就是理论上有这两个函数就可以把所有图片绘画出来。程序通过擦除背景,然后通过动态在指定位置将粒子颜色绘制到屏幕,达到烟花上升及爆炸的效果,充分展示了putpixel在绘画中的作用。以上就是putpixel和getpixel的两个简单运用,后面将继续演示其他函数的使用。只要更改其中的粒子运动轨迹,相信你能创作出更加绚烂逼真的烟花效果,马上动手试试吧。
2023-05-05 18:46:32
304
原创 SimpleCG库绘制图形函数
绘制函数整体概括和命名方式,对于可填充图形,将有三种模式:线框模式、内填充模式、线框+内填充模式。以圆形为例,circle表示线框模式,solidcircle表示内填充模式,fillcirle表示既有线框也有内填充。本篇文章将介绍SimpleCG库中使用的所有图形绘制函数,通过这些基础图形将可以构建一切矢量图形组成的图画。以上是所有可绘制的基础图形,下一篇将以一个个实例对每一个函数的使用方法进行详细讲解。15、绘制一系列曲线,pLength指定每个线段拉伸强度。11、绘制一系列贝塞尔曲线。
2023-04-29 13:46:30
259
原创 SimpleCG库安装使用
使用对象包括所有初学C语言的同学,尤其是中学生,可以在简单的图形编程中发现其中的乐趣,并不断提高编程的兴趣。头文件当前主要包括在import/include/里的SimpleCG.h、shape.h、Option.h、CGBoard.h,以及import/lib/里的5个lib文件,都是在vc2010中编译。使用方法:可以采用多种方式使用本库,在此先介绍一种作为展示板使用,所谓展示板,就是不需要和图像窗口有交互,单纯作为显示图形使用,例如展示绘图、展示图片动画等,是最简单的使用方式。
2023-04-28 22:07:17
866
1
原创 康威生命游戏简单演示实现(Visual c++ MFC)
最近刷视频看到有UP主介绍了康威的生命游戏.该游戏由康威发明于1970年,关于游戏详细内容,网上有很多,这里就不再详述了,感兴趣的同学可以在百科查阅.简单的说就是在二维平面通过简单规则规定单元格子的存活来产生出极其复杂的演变.类似于生命里的细胞构造,所以称为生命游戏. 康威最初定的规则很简单,如下所述:1、当格子周围有3个存活细胞时,如果细胞为死亡状态时,当前格子诞生新细胞。如果存在活细胞则保持不变。2、当格子周围有2个存活细胞时,当前格子保持不变。3、当格子周......
2022-07-10 17:29:49
1049
原创 小小的蚂蚁很强大(蚂蚁算法MFC实现)
依据百度百科上的蚂蚁算法,自己实现了一下,发现小小的蚂蚁果然很强大,不过所有参数都是自己随便设置的,算法上也是依据百度百科上的文字描述实现出来,可能与真正的蚂蚁算法有出入,但在找到次优路径上面基本达到了要求. 演示程序下载地址:http://download.youkuaiyun.com/detail/b2b160/4310440 有需要源码的朋友可以留下你的联系方式.
2012-05-17 23:40:05
9623
9
原创 手把手教你汉化Windows Phone 7程序(xap包汉化)
目前的Windows Phone 7正风风火火地走来,但目前大量的应用都是英文版本,这对于国人来说是个遗憾。看着鸡肠文字总不免感觉别扭。目前国内的开发前景因为还不明朗,中文的应用还不是很多,而且国外的很多应用都堪称经典,所以很多人便开始了汉化英文版本的xap来提供国内的应用供应。但目前汉化都是一些比较专业的人员提供,相信很多朋友也希望走进这个行列, 通过本傻瓜式教程,相信你可以很快掌握
2012-02-14 20:46:19
5014
原创 金山卫士界面库界面编辑器KuiDesigner V1.0 Alpha 基本完成了
总算把一个Kui界面编辑器搞了个大概出来,其实还是有很多功能还没完成,估计Bug还不少,但感觉有点累了.所以先把这个作为Alpha版本放出来吧.这个编辑器的特色就是本身也是使用Kui的库来设计,所以在一定程度上也验证了这个库还是很实用的, 相信对于熟悉Kui库的朋友来说,使
2011-07-16 22:21:50
19682
18
原创 用变换的思维写程序
看到优快云有网友提出能否用纯位运算实现if语句int x;//...if(0 != x){ x = 1;}详见http://topic.youkuaiyun.com/u/20110710/10/19ce7d9b-01b7-4082-bb3b-1f4216c7223
2011-07-11 01:13:58
3317
1
原创 金山卫士界面库界面编辑器效果图
一直都有朋友说好久没更新了,的确是啊,不过也是没办法的事,界面编辑器从无到有的编写过程还是蛮痛苦的.断断续续的编写,总算有个大概样子了.先发个预览效果图来.不过距离最终完成还要有一段时间,先发上来,大家有兴趣测试的也可以索取测试版本,帮忙测试并提建议,避免太长时间没更新,免得长草
2011-07-08 22:34:35
4808
6
原创 分析C++方式构造函数调用虚函数的问题
最近在看JAVA,因为JAVA是运行期绑定,所以里面提到了一个有趣的问题,就是在构造函数里面运行虚函数的问题。构造函数里可以运行虚函数吗?我们先不讨论实际项目中是否有这个必要(至少我还没碰到过,也许即便碰到了也有其他的解决办法。),单就构造函数里调用虚拟函数的情况来做些分析。在JAVA中,如果在构造函数中调用虚拟函数的话,是可以编译通过的,也不会出现运行期错误,但他的运行结果也许不是你想要的。在JAVA当中,由于是运行期绑定,而构造函数执行的虚拟函数将是衍生类中的函数(假如衍生类对该虚拟函数进行了覆盖的话)
2011-04-17 00:00:00
11650
39
原创 金山卫士界面源码解读及界面库分离(附录) --你问我答
一、VS2005、VS2008、VS2010如何编译?因为我的是VS2003,所以编译出来的lib好像和其他版本的会有冲突,所以请使用以上版本的同学自行编译KUILib/kscbase/kscbase.vcproj这个工程,并将生成的lib放入KUILib/lib,然后就可以编译例子程序了。但注意KUILib/KUILib.vcproj是不需要编译的二、kuimsgbox.cpp怎么找不到呢,KUILib.vcproj编译不成功?请看第一条,KUILib.vcproj是不需要编译的,KuiApp.cpp,k
2011-04-01 12:37:00
13929
71
C 语言课程设计:SimpleCG打造实用学生信息管理
2023-10-24
康威生命游戏简单实现Visual Studio 2010(MFC)
2021-07-24
金山开源界面库界面设计器KuiDesigner V1.0
2011-07-17
分离自金山卫士开源项目中的界面库
2011-03-19
游戏或软件打包资源提取器
2011-01-31
XMPP协议的IM客户端IMPanda
2011-01-02
LoginGame开机回答问题1.03版
2010-07-12
LoginGame安装版
2010-06-13
LoginBin绿色版
2010-06-13
学习DirectUI的测试Demo
2010-06-13
LoginGame安装版
2010-06-13
Windows消息文本显示
2010-03-17
MFC的SDI程序多视图支持
2009-07-03
有做操作系统的同学吗
2022-09-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人