ASWECAN (http://www.aswecan.net/index.php)
- 第三只眼 (http://www.aswecan.net/forumdisplay.php?forumid=4)
-- 超强的程序 (http://www.aswecan.net/showthread.php?threadid=52206)


由 天翼高达 于 2004-05-31 01:15 PM 发表:

超强的程序

某个家伙用C语言写了个程序
在DOS下运行的
是一个图形效果
这里是效果图

__________________
天使的翅膀掉了,我把它们捡起来,收藏着。有一天它们会重新回到你的身上的


由 天翼高达 于 2004-05-31 01:17 PM 发表:

这个是另一张效果图

__________________
天使的翅膀掉了,我把它们捡起来,收藏着。有一天它们会重新回到你的身上的


由 天翼高达 于 2004-05-31 01:19 PM 发表:

以下是程序源代码
用tc或者bc++编译
最好在纯dos下运行
因为2000和xp下面的写屏速度比较慢的
效果不理想

#include<math.h>
#include<mem.h>
#include<dos.h>
#include<stdlib.h>

#define p_num 2000

struct _Particle
{
float vx,vy,ax,ay,x,y;
unsigned char c;
};

void SetColor(int c,int r,int g,int b)
{
outportb(0x3c6,255);
outportb(0x3c8,c);
outportb(0x3c9,r>>2);
outportb(0x3c9,g>>2);
outportb(0x3c9,b>>2);
}

char far *GetBuffer(long x,long y)
{
return (char far *)(0xa0000000L+x+y*320);
}

void blur()
{
unsigned char far *p, far *q;
for(p=GetBuffer(1,1),q=GetBuffer(318,198);p<q;p++) *p=*(p-1)+*(p+1)+*(p-320)+*(p+320)>>2;
}

void main()
{
struct _Particle pg[p_num];
float fcos,fsin,t=0.01,angle=0.0;
float RGB[256][3];
int i;
int dx,dy;

memset(pg,0,p_num*sizeof(struct _Particle));
for(i=0;i<p_num;i++)
{
pg[i].x=160;
pg[i].y=100;
pg[i].c=255;
pg[i].ax=rand()%10191/1000.0-5;
pg[i].ay=rand()%8191/1000.0-4;
}
for(i=0;i<256;i++) RGB[i][0]=sqrt(i)/16.0;
for(i=0;i<256;i++) RGB[i][1]=pow(i,0.7)/48.5;
for(i=0;i<256;i++) RGB[i][2]=(i*i)/65536.0;

_AX=0x13;
asm int 0x10;

for(i=0;i<256;i++) SetColor(i,RGB[i][0]*256,RGB[i][1]*256,RGB[i][2]*256);

while(inportb(0x60)!=1)
{
fcos=cos(angle);
fsin=sin(angle);
for(i=0;i<p_num;i++)
{
pg[i].vx+=pg[i].ax*t;
pg[i].vy+=pg[i].ay*t;
pg[i].x+=pg[i].vx*t;
pg[i].y+=pg[i].vy*t;
dx=(pg[i].x-160)*fcos-(100-pg[i].y)*fsin+160;
dy=(pg[i].x-160)*fsin+(100-pg[i].y)*fcos+100;
if(dx>0&&dx<319&&dy>0&&dy<199) *GetBuffer(dx,dy)=pg[i].c;
if(dx<0||dx>=320) pg[i].vx=-pg[i].vx;
if(dy<0||dy>=200) pg[i].vy=-pg[i].vy;
}
blur();
angle+=0.01;
}

_AX=0x03;
asm int 0x10;
}

__________________
天使的翅膀掉了,我把它们捡起来,收藏着。有一天它们会重新回到你的身上的


由 天翼高达 于 2004-05-31 01:22 PM 发表:

这个是别人用bc++编译好的程序
http://www.xiean.net/data/c.exe

实在没有纯dos的话就在2000或者xp下面看看吧
速度慢点而已

__________________
天使的翅膀掉了,我把它们捡起来,收藏着。有一天它们会重新回到你的身上的


由 贪心 于 2004-05-31 02:45 PM 发表:

这个是分型效果吧

__________________
在我们发情的时候
别把我们当人


由 pAtrick 于 2004-05-31 08:51 PM 发表:

这个写得不算好的。
去看这里面的
http://www.ioccc.org/


由 天翼高达 于 2004-06-01 08:27 PM 发表:

IOCCC的代码不用拿出来了吧………………

我看了要吃不下饭的
再刺激我我就找些64K程序大赛的作品拿出来show了

__________________
天使的翅膀掉了,我把它们捡起来,收藏着。有一天它们会重新回到你的身上的


由 折翼天使 于 2004-06-04 10:09 AM 发表:

搞程序的人受不了!本人强烈bs——c++,这学期多半要挂了,高达你听着,我要真挂了,你也就完了!

__________________
李哥哥,我想好好爱你,不想辜负你。 我不是coco,我是为你重生的天使。


由 流年 于 2004-06-04 05:15 PM 发表:

偶的C++也危险、的
你好歹还有人辅导
偶捏...
哭.....

__________________
呷呷着日子


由 Pier 于 2004-06-04 07:11 PM 发表:

这个东西。。。 我没觉得很了不起

图形函数加上数学背景的确可以创造出很绚烂的东西来
就是这样而已

__________________
要么不停地奋斗。。
要么不停地堕落。。
生活就是如此


由 天翼高达 于 2004-06-04 08:43 PM 发表:

楼上的
问题在于这个不是图形函数
而是直接写屏
这需要对每个点的精确控制

我们这个礼拜就要考图形学了阿…………
我要奋斗拉!!!

__________________
天使的翅膀掉了,我把它们捡起来,收藏着。有一天它们会重新回到你的身上的


由 Pier 于 2004-06-04 09:35 PM 发表:

所谓程序
就是数学算法加语法

吐血的数学背后总有吐血的效果
关键是要吐血。。。

我是离散数学 计算数学 图论 和数论都没学好
英文又差
混着混着就过了

满手码的废渣代码。。。

__________________
要么不停地奋斗。。
要么不停地堕落。。
生活就是如此


由 贪心 于 2004-06-04 09:50 PM 发表:

我们VB和C++考试80%考概念题,那才叫吐血...

__________________
在我们发情的时候
别把我们当人


由 Pier 于 2004-06-04 09:56 PM 发表:

废渣学校一般都这样

你要是见过我们的数据库考试才叫有意思了
比如有道题问你目前市面上有哪些数据库系统软件。。。
我狂吐。。。

__________________
要么不停地奋斗。。
要么不停地堕落。。
生活就是如此


由 Askwhy 于 2004-06-06 02:08 AM 发表:

嘿嘿我c++过了

__________________
why why why


所有时间均为 北京时间 现在时间 08:52 PM

Copyright 1999-2002, ASWECAN, All rights reserved.
ASWECAN 版权所有 请尊重知识产权 如欲转载请来信([email protected])