|
作者: lida1818 [lida1818] 论坛用户 | 登录 |
#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; } |
地主 发表时间: 04-04-30 21:28 |
回复: ziaichen [ziaichen] 论坛用户 | 登录 |
强 我顶! |
B1层 发表时间: 04-04-30 22:07 |
回复: xiaoshi [xiaoshi] 论坛用户 | 登录 |
好厉害 最好有点注解 |
B2层 发表时间: 04-04-30 22:38 |
回复: lida1818 [lida1818] 论坛用户 | 登录 |
不是我写的,是转的 |
B3层 发表时间: 04-04-30 23:28 |
回复: leonshoh [leonshoh] 论坛用户 | 登录 |
TC写的吧,跑在实模式下的:) |
B4层 发表时间: 04-05-01 13:17 |
回复: sniper167 [sniper167] 论坛用户 | 登录 |
强人呀 |
B5层 发表时间: 04-05-01 17:51 |
回复: seny11 [seny11] 论坛用户 | 登录 |
看来数学还是有必要学好的~ 可能这个在那些数学研究生和本科生来说不算什么~他也可用其他语言形成 可偶就不行 |
B6层 发表时间: 04-05-01 20:36 |
回复: tabris17 [tabris17] 论坛用户 | 登录 |
我就是数学系的本科生,都读了四年了,谁说是“不算什么”的 [此贴被 四不象(tabris17) 在 05月03日16时43分 编辑过] |
B7层 发表时间: 04-05-03 16:43 |
回复: bluehacker [bluehacker] 论坛用户 | 登录 |
好让人羡慕啊, 我是学电子信息的,学的是C ,想编出一个好的程序一直是让我对计算机热忠的原因,想对其他的语言了解,不过自己没那么多时间,至今还没写几个象样的程序,加油啊!! |
B8层 发表时间: 04-05-03 20:30 |
回复: sniper167 [sniper167] 论坛用户 | 登录 |
呵呵 楼上的也是学电子信息的呀 |
B9层 发表时间: 04-05-03 22:27 |
回复: lovejiang [lovejiang] 论坛用户 | 登录 |
我这里的怎么编译不出来呀 |
B10层 发表时间: 04-05-04 09:35 |
回复: lobam [xx_js] 论坛用户 | 登录 |
厉害 |
B11层 发表时间: 04-05-04 11:41 |
回复: swillow [swillow] 论坛用户 | 登录 |
不敢相信可以用c写出这么好的东西 |
B12层 发表时间: 04-05-04 21:39 |
回复: seny11 [seny11] 论坛用户 | 登录 |
四不象这么强啊~数学系的高材生。 你们数学不是有很多这种函数吗? 应该知道这种的构造方法的原理吧? 偶是看以前偶们学校的很多数学老师搞电脑图形的都很容易 |
B13层 发表时间: 04-05-05 09:50 |
回复: ABC [a2004] 论坛用户 | 登录 |
谁能教教我 |
B14层 发表时间: 04-05-05 20:36 |
回复: lwei889 [lwei889] 论坛用户 | 登录 |
好久没有回帖子拉,怎么也得顶一下 |
B15层 发表时间: 04-05-06 17:16 |
回复: fool [cike] 论坛用户 | 登录 |
铞 可我看起来好费劲啊 |
B16层 发表时间: 04-05-07 15:39 |
回复: xiean [xiean] 论坛用户 | 登录 |
Genius,作者对直接写显存技术和对算法的应用让偶佩服 附编译好的执行文件(Borland C++ 3.1 编译),点 这里下载 建议用纯 MS-DOS 方式运行,因为在 2k/xp 的 cmd 状态下, 16 位程序运行环境是模拟的,所以在写屏上会变得很慢 |
B17层 发表时间: 04-05-07 16:20 |
回复: xiean [xiean] 论坛用户 | 登录 |
引用: C for DOS 使用图形无非两种方式 1. 使用标准图形库 #include <graphics.h> 这种方式所能达到的最大分辨率只有 640*480*16 或 320*200*256,用它达到图形应用的确相对简单,但是局限依然很多,特别是在一些图像渐变,分页等。 2. 使用 dos.h 利用 int 中断直接写屏 这种方式就相对要专业得多,曾经很多游戏就用的直接写屏,这种方式需要自己开发一套接口,又或者说是直接在代码中写屏,这种方式能做到的效果就比直接用标准库要好得多,但是这需要开发者对显存,中断,显示页面等基层知识的深入了解。 所以,“搞电脑图形的都很容易”,但是,要搞好的电脑图形就很难很难 |
B18层 发表时间: 04-05-07 16:30 |
回复: bcliangzi [bcliangzi] 论坛用户 | 登录 |
晕! |
B19层 发表时间: 04-05-07 16:33 |
回复: xiean [xiean] 论坛用户 | 登录 |
几个月来,难得在这儿见到如此好帖,我再顶 建议学 C,基础知识已学完的,深入理解源码中的算法 .........................8888..8888888 ..................888888888888888888888888 ...............8888:::8888888888888888888888888 .............8888::::::8888888888888888888888888888 ............88::::::::888:::8888888888888888888888888 ..........88888888::::8:::::::::::88888888888888888888 ........888.8::888888::::::::::::::::::88888888888...888 ...........88::::88888888::::m::::::::::88888888888....8 .........888888888888888888:M:::::::::::8888888888888 ........88888888888888888888::::::::::::M88888888888888 ........8888888888888888888888:::::::::M8888888888888888 .........8888888888888888888888:::::::M888888888888888888 ........8888888888888888::88888::::::M88888888888888888888 ......88888888888888888:::88888:::::M888888888888888...8888 .....88888888888888888:::88888::::M::;o*M*o;888888888....88 ....88888888888888888:::8888:::::M:::::::::::88888888....8 ...88888888888888888::::88::::::M:;:::::::::::888888888 ..8888888888888888888:::8::::::M::aAa::::::::M8888888888.......8 ..88...8888888888::88::::8::::M:::::::::::::888888888888888.8888 .88..88888888888:::8:::::::::M::::::::::;::88:88888888888888888 .8..8888888888888:::::::::::M::"@@@@@@@"::::8w8888888888888888 ..88888888888:888::::::::::M:::::"@a@":::::M8i888888888888888 .8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888 8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888 888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888...88888888 888888.M:::::::::::::::M888888888:::::::MM88888888888888...8888888 8888...M::::::::::::::M88888888888::::::MM888888888888888....88888 .888...M:::::::::::::M8888888888888M:::::mM888888888888888....8888 ..888..M::::::::::::M8888:888888888888::::m::Mm88888.888888...8888 ...88..M::::::::::::8888:88888888888888888::::::Mm8...88888...888 ...88..M::::::::::8888M::88888::888888888888:::::::Mm88888....88 ...8...MM::::::::8888M:::8888:::::888888888888::::::::Mm8.....4 .......8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm....2 ......88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M .....8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M ....88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M ...88.888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M: ...8.88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M .....88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M ....888888M:::88::M:::::::::88@@88:::::::::M::88::::::::::::::M ....888888MM::88::MM::::::::88@@88:::::::::M:::8::::::::::::::*8 ....88888..M:::8::MM:::::::::*88*::::::::::M:::::::::::::::::88@@ ....8888...MM::::::MM:::::::::::::::::::::MM:::::::::::::::::88@@ .....888....M:::::::MM:::::::::::::::::::MM::M::::::::::::::::*8 .....888....MM:::::::MMM::::::::::::::::MM:::MM:::::::::::::::M ......88.....M::::::::MMMM:::::::::::MMMM:::::MM::::::::::::MM .......88....MM:::::::::MMMMMMMMMMMMMMM::::::::MMM::::::::MMM ........88....MM::::::::::::MMMMMMM::::::::::::::MMMMMMMMMM .........88...8MM::::::::::::::::::::::::::::::::::MMMMMM ..........8...88MM::::::::::::::::::::::M:::M::::::::MM ..............888MM::::::::::::::::::MM::::::MM::::::MM .............88888MM:::::::::::::::MMM:::::::mM:::::MM .............888888MM:::::::::::::MMM:::::::::MMM:::M ............88888888MM:::::::::::MMM:::::::::::MM:::M ...........88.8888888M:::::::::MMM::::::::::::::M:::M ...........8..888888.M:::::::MM:::::::::::::::::M:::M: ..............888888.M::::::M:::::::::::::::::::M:::MM .............888888..M:::::M::::::::::::::::::::::::M:M .............888888..M:::::M:::::::::@::::::::::::::M::M .............88888...M::::::::::::::@@:::::::::::::::M::M ............88888...M::::::::::::::@@@::::::::::::::::M::M ...........88888...M:::::::::::::::@@::::::::::::::::::M::M ..........88888...M:::::m::::::::::@::::::::::Mm:::::::M:::M ..........8888...M:::::M:::::::::::::::::::::::MM:::::::M:::M .........8888...M:::::M:::::::::::::::::::::::MMM::::::::M:::M ........888....M:::::Mm::::::::::::::::::::::MMM:::::::::M::::M ......8888....MM::::Mm:::::::::::::::::::::MMMM:::::::::m::m:::M .....888......M:::::M::::::::::::::::::::MMM::::::::::::M::mm:::M ..8888.......MM:::::::::::::::::::::::::MM:::::::::::::mM::MM:::M: .............M:::::::::::::::::::::::::M:::::::::::::::mM::MM:::Mm ............MM::::::m:::::::::::::::::::::::::::::::::::M::MM:::MM ............M::::::::M:::::::::::::::::::::::::::::::::::M::M:::MM ...........MM:::::::::M:::::::::::::M:::::::::::::::::::::M:M:::MM ...........M:::::::::::M88:::::::::M:::::::::::::::::::::::MM::MMM ...........M::::::::::::8888888888M::::::::::::::::::::::::MM::MM ...........M:::::::::::::88888888M:::::::::::::::::::::::::M::MM ...........M::::::::::::::888888M:::::::::::::::::::::::::M::MM ...........M:::::::::::::::88888M:::::::::::::::::::::::::M:MM ...........M:::::::::::::::::88M::::::::::::::::::::::::::MMM ...........M:::::::::::::::::::M::::::::::::::::::::::::::MMM ...........MM:::::::::::::::::M::::::::::::::::::::::::::MMM ............M:::::::::::::::::M::::::::::::::::::::::::::MMM ............MM:::::::::::::::M::::::::::::::::::::::::::MMM .............M:::::::::::::::M:::::::::::::::::::::::::MMM .............MM:::::::::::::M:::::::::::::::::::::::::MMM ..............M:::::::::::::M::::::::::::::::::::::::MMM ..............MM:::::::::::M::::::::::::::::::::::::MMM ...............M:::::::::::M:::::::::::::::::::::::MMM ...............MM:::::::::M:::::::::::::::::::::::MMM ................M:::::::::M::::::::::::::::::::::MMM ................MM:::::::M::::::::::::::::::::::MMM .................MM::::::M:::::::::::::::::::::MMM .................MM:::::M:::::::::::::::::::::MMM ..................MM::::M::::::::::::::::::::MMM ..................MM:::M::::::::::::::::::::MMM ...................MM::M:::::::::::::::::::MMM ...................MM:M:::::::::::::::::::MMM ....................MMM::::::::::::::::::MMM ....................MM::::::::::::::::::MMM .....................M:::::::::::::::::MMM ....................MM::::::::::::::::MMM ....................MM:::::::::::::::MMM ....................MM::::M:::::::::MMM: ....................mMM::::MM:::::::MMMM .....................MMM:::::::::::MMM:M .....................mMM:::M:::::::M:M:M ......................MM::MMMM:::::::M:M ......................MM::MMM::::::::M:M ......................mMM::MM::::::::M:M .......................MM::MM:::::::::M:M .......................MM::MM::::::::::M:m .......................MM:::M:::::::::::MM .......................MMM:::::::::::::::M: .......................MMM:::::::::::::::M: .......................MMM::::::::::::::::M .......................MMM::::::::::::::::M .......................MMM::::::::::::::::Mm ........................MM::::::::::::::::MM ........................MMM:::::::::::::::MM ........................MMM:::::::::::::::MM ........................MMM:::::::::::::::MM ........................MMM:::::::::::::::MM .........................MM::::::::::::::MMM .........................MMM:::::::::::::MM .........................MMM:::::::::::::MM .........................MMM::::::::::::MM ..........................MM::::::::::::MM ..........................MM::::::::::::MM ..........................MM:::::::::::MM ..........................MMM::::::::::MM ..........................MMM::::::::::MM ...........................MM:::::::::MM ...........................MMM::::::::MM ...........................MMM::::::::MM ............................MM::::::::MM ............................MMM::::::MM ............................MMM::::::MM .............................MM::::::MM .............................MM::::::MM ..............................MM:::::MM ..............................MM:::::MM: ..............................MM:::::M:M ..............................MM:::::M:M ..............................:M::::::M: .............................M:M:::::::M ............................M:::M::::::M ...........................M::::M::::::M ..........................M:::::M:::::::M .........................M::::::MM:::::::M .........................M:::::::M::::::::M .........................M;:;::::M:::::::::M .........................M:m:;:::M::::::::::M .........................MM:m:m::M::::::::;:M ..........................MM:m::MM:::::::;:;M ...........................MM::MMM::::::;:m:M ............................MMMM.MM::::m:m:MM ..................................MM::::m:MM ...................................MM::::MM ....................................MM::MM |
B20层 发表时间: 04-05-07 16:38 |
回复: wuxiu [wuxiu] 论坛用户 | 登录 |
我靠,太强了,超级牛B,如果能有这个程序功底,可以写游戏了!! |
B21层 发表时间: 04-05-07 17:26 |
回复: lida1818 [lida1818] 论坛用户 | 登录 |
悟休真是一针见血道出真谛!此程序的作者虽然现在没有实现他写游戏的宿愿,但是他学编程的最初目的就是写游戏。 |
B22层 发表时间: 04-05-07 19:19 |
回复: TomyChen [quest] 版主 | 登录 |
好帖,就是要顶!!! 悄悄告诉你,别跟悟休谈游戏。。。他可以跟你扯上三个世纪,而不会觉得累 |
B23层 发表时间: 04-05-07 21:06 |
回复: snntss [snntss] 论坛用户 | 登录 |
引: ------------------------------------------------------------------ 悟休真是一针见血道出真谛!此程序的作者虽然现在没有实现他写游戏的宿愿,但是他学编程的最初目的就是写游戏。 --------------------------------------------------------- 这么强的人! 他没有实现写游戏的夙愿,那他现在在做什么? 有关于他的介绍吗? |
B24层 发表时间: 04-05-08 02:23 |
回复: haoweir [haoweir] 论坛用户 | 登录 |
不错,我上次看到有人可以用汇编把这种编出来 |
B25层 发表时间: 04-05-09 09:37 |
回复: eidson [hackerwang] 论坛用户 | 登录 |
好厉害啊!!!tc可以这样吗? |
B26层 发表时间: 04-05-09 11:18 |
回复: yjinlong [yjinlong] 论坛用户 | 登录 |
怎么这么棒呀,我现在在相信C真的可以万能呀! 有没有源代码呀,大哥? |
B27层 发表时间: 04-05-10 15:19 |
回复: xj1985xj [xj1985xj] 论坛用户 | 登录 |
是个人才.俺学了半年C语言拉.连个什么都编不出来. 郁闷啊.今日见此大哥的作品.真是仿佛看到了一点点的阳光 |
B28层 发表时间: 04-05-12 07:25 |
回复: jake007 [jake007] 论坛用户 | 登录 |
四个字 绝对要顶 |
B29层 发表时间: 04-05-12 19:40 |
回复: tiezhong [tiezhong] 论坛用户 | 登录 |
看了 这个程序使我增加了信心,C确实是最NB的语言,我一定要学好! |
B30层 发表时间: 04-05-14 15:28 |
回复: peter [peter] 论坛用户 | 登录 |
帮忙顶下 |
B31层 发表时间: 04-05-29 19:10 |
回复: qqh818 [qqh818] 论坛用户 | 登录 |
我好羡慕呀, 谁能教教我,我也想学呀! |
B32层 发表时间: 04-05-29 19:15 |
回复: yangtaoabc [yangtaoabc] 论坛用户 | 登录 |
c有编辑颜色的能力吗? 用什么工具调试啊 ? |
B33层 发表时间: 04-05-30 18:23 |
回复: apollomz [apollomz] 论坛用户 | 登录 |
怎么回事,在我这有错误,不是真的吧,怎么办 |
B34层 发表时间: 04-05-31 12:01 |
回复: Anubis [shajia2646] 论坛用户 | 登录 |
顶 |
B35层 发表时间: 04-05-31 17:44 |
回复: ricol [ricolwang] 论坛用户 | 登录 |
建议: 小哥最好把这个程序改一点地方:用int86(int,union REGS *,union REGS *)取代asm int ... 这样在tc下都可以编译出来了。 |
B36层 发表时间: 04-07-19 15:35 |
回复: qiezic [qiezic] | 登录 |
goog! |
B37层 发表时间: 04-07-19 17:09 |
回复: lgywan [lgywan] 论坛用户 | 登录 |
为什么我在TC2.0里不能看呢,TC2.0说错误: (flaowe是我给它取的文件名) Error e:\tc\tc\flaowe.c 1:Unable to open include file 'math.h' Error e:\tc\tc\flaowe.c 2:Unable to open include file 'mem.h' Error e:\tc\tc\flaowe.c 3:Unable to open include file 'dos.h' Error e:\tc\tc\flaowe.c 4:Unable to open include file 'stdlib.h' Error e:\tc\tc\flaowe.c 56: IN-line assembly ont allowed in function main Error e:\tc\tc\flaowe.c 81: IN-line assembly ont allowed in function main 为什么会这样呀???!!! |
B38层 发表时间: 04-07-19 17:30 |
回复: fenghuang2 [fenghuang2] 论坛用户 | 登录 |
太厉害了,c语言真的写出这种程序! |
B39层 发表时间: 04-07-20 10:48 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号