打印

一个很简单的屏保程序,俺班门弄斧了……

[复制链接]
2989|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一朝成名|  楼主 | 2009-2-11 13:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, go, POS, os, PLM
头一段时间想在机顶盒里加一个简单的屏保程序,想起来win下有一个小球在画面上弹来弹去的屏保……
于是就想些一个这样的屏保程序,在网上搜了一把也没找到,就自己写了,开始的思路是写一个通用的y=k*x的函数,这个小**就按照函数弹,但是那一个麻烦阿,后来的思路转变写成了下面的模样…事实证明开始的时候是自己把问题复杂化。
函数不包含图片的刷新函数,这个可以根据自己的环境写,修改x,y的步进调整线的斜率,修改初始坐标,也可以随即化,主要是写的屏保的小算法……

俺小虾米班门弄斧了哈哈…………
很多电视机也有这样的屏保,因为是盒子里面的程序不能模拟就不能传图片了……

大家有什么好的算法上传俩,这玩意这费了我N多脑细胞…………晕


目标:实现一个**在桌面内随机直线行走碰见边缘反弹

#define     **_DIAPLMENT                     64      //每次位移的像素
#define     SCREENSAVE_WIDTH                640    //大屏幕的宽、高
#define     SCREENSAVE_HIGH                   480
#define     **_WIDTH                           190     //**的宽、高
#define     **_HIGH                              80

void screensave (){

       static  int pos_count_x = pos_count_y = 0;

       static  int x_last_state = y_last_state = 1;//初始状态      

         if (pos_count_x < **_DIAPLMENT)
                x_last_state = 1;
         else if (pos_count_x >= SCREENSAVE_WIDTH - **_WIDTH - **_DIAPLMENT)
                x_last_state = 2;

        if (pos_count_y < **_DIAPLMENT)
                y_last_state = 1;
         else if (pos_count_y >= SCREENSAVE_HIGH - **_HIGH - **_DIAPLMENT)
                y_last_state = 2;
      


            if (y_last_state == 1)
                pos_count_y += **_DIAPLMENT;
            else
                pos_count_y -= **_DIAPLMENT;

           if (x_last_state == 1)
                pos_count_x += **_DIAPLMENT;
            else
                pos_count_x -= **_DIAPLMENT;

 }

相关帖子

沙发
救火车| | 2009-2-11 13:40 | 只看该作者

沙发

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

使用特权

评论回复
板凳
宇宙飞船| | 2009-2-11 13:49 | 只看该作者

游戏设计,有前途!

只要静下心,经验的积累就是时间的函数。

使用特权

评论回复
地板
xwj| | 2009-2-11 14:07 | 只看该作者

呵呵,一个小球的程序还是很简单很好写的

要是写多个小球相互碰撞的粒子反射,那才有点意思:-)

比如写个台球程序

使用特权

评论回复
5
一朝成名|  楼主 | 2009-2-11 14:10 | 只看该作者

晕,老x给一个?

校内网的小游戏中心的游戏那叫多阿…………

不知道都杂写的…应该不全是C吧?好选择点……

使用特权

评论回复
6
xwj| | 2009-2-11 14:14 | 只看该作者

呵呵,老x就是没写啊:-)

不过呢,如果不考虑特高效率的话,一般算法、游戏用C写都很方便啊

至少就算再复杂也不会象汇编样首先搞晕自己啊:-)

使用特权

评论回复
7
古道热肠| | 2009-2-11 15:30 | 只看该作者

印象中,这个程序的算法在VB例程中是有的.

在VB图形运用那一章去找.

使用特权

评论回复
8
一朝成名|  楼主 | 2009-2-11 15:35 | 只看该作者

晕,没学过VB…………

使用特权

评论回复
9
wswh2o| | 2009-2-11 15:43 | 只看该作者

机顶盒是啥系统呀

使用特权

评论回复
10
一朝成名|  楼主 | 2009-2-11 15:44 | 只看该作者

linux

做完这个程序,别的好坏不知道,对我来说大大的好了……
整天一个大电视在跟前晃的眼睛晕了
现在好了……打一张黑色底图…设置成几十秒屏保哈哈……

使用特权

评论回复
11
原野之狼| | 2009-2-11 21:45 | 只看该作者

顶贴支持~

发裤子了,恭喜恭喜,哈哈。。。

使用特权

评论回复
12
一朝成名|  楼主 | 2009-2-11 22:13 | 只看该作者

哈哈,赶紧的,只要入围的都份

本来是拉票帖子……

谁愿意投就投不投无所谓啦……

谁能指教几句那才真的正点阿……

大虾们:)

附上网址:


相关链接:https://bbs.21ic.com/vote/list3.asp

使用特权

评论回复
13
qupeng2008| | 2009-2-12 13:40 | 只看该作者

支持一把

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

3299

帖子

5

粉丝