人月團圓趣味程式:用C實現的愛情宣言(轉)
人月團圓趣味程式:用C實現的愛情宣言(轉)[@more@]祝有情人團圓
#include "stdio.h"
#include "graphics.h"
#include "time.h"
#include "math.h"
#define N 2
#define TIME 0.8/*微粒的的運動時間,TIME/步,每一步長為25個單位*/
void *buf[N];
struct
{
int x,y;
} lizi[]={{0,0},{75,75}};
void alter_place_lizi(int *x,int *y,int key)/*根據隨機方向改變粒子的方位*/
{
switch(key)
{case 0:
case 1:
case 2:*x-=25;break;
case 4:
case 5:
case 6:*x+=25;break;
}
switch(key)
{ case 0:
case 7:
case 6:*y-=25;break;
case 2:
case 3:
case 4:*y+=25;break;
}
if(*x<0) *x=0;
if(*x>250) *x=250;
if(*y<0) *y=0;
if(*y>250) *y=250;
}
void make_graphics()/*畫方框*/
{int i,j,driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
for(i=0;i<=10;i++)
line(0,25*i,250,25*i);
for(i=0;i<=10;i++)
line(25*i,0,25*i,250);
}void make_circle(int x,int y,int n)/*根據提供的離子所在方位畫圓*/
{
int size;
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1,10);
circle(x+25/2,y+25/2,25/2);
floodfill(x+25/2,y+25/2,12);
size=imagesize(x,y,x+25,y+25);
buf[n]=(void *)malloc(size);/*儲存每一個圓*/
}
void sport(int *x,int *y)/*粒子的運動*/
{
time_t starttime,endtime;
int seed=0,i,j;
int key;
char s[300];
int t=1;
srand(seed);
/*儲存現場圖形*/
for(i=0;i getimage(x,y,x+25,y+25,buf);
cleardevice();/*清除*/
setbkcolor(BLUE);
cleardevice();
setviewport(50, 50, 590, 430, 1); /*定義一個圖形視窗*/
setfillstyle(1, 2); /*綠色以實填充*/
setcolor(YELLOW);
rectangle(0, 0,590, 230);
floodfill(50, 50, 14);
setcolor(12);
settextstyle(1, 0, 8); /*三重筆劃字型, 水平放大8倍*/
outtextxy(20, 20, "I miss you");
setcolor(11);
settextstyle(1, 0, 4); /*三重筆劃字型, 水平放大4倍*/
outtextxy(100, 100, "where are you");
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=2.0;time(&endtime));
setbkcolor(YELLOW);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
while(t)
{
if(fabs(x[0]-x[1])==25&&fabs(y[0]-y[1])==25)
{for(i=0;i {key=rand()%8;
alter_place_lizi(&x,&y,key);
}
}
else if(fabs(x[0]-x[1])==25||fabs(y[0]-y[1])==25)
{key=rand()%8;
for(i=0;i alter_place_lizi(&x,&y,key);t++;
}
else
{for(i=0;i {key=rand()%8;
alter_place_lizi(&x,&y,key);
}
}
for(i=0;i putimage(x,y,buf,COPY_PUT);
/*介面維持0.5秒鐘*/
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=TIME;time(&endtime));
for(i=0;i getimage(x,y,x+25,y+25,buf);
cleardevice();
switch(t)
{case 1:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I am tired to look after you"); delay(1e10);
break;
case 2:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "could you wait for me please?");delay(1e10);
break;
case 3:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I can not catch up with you");delay(1e10); break;
case 4:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "you walk so quckily");delay(1e10); break;
case 5:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I will not give up and I believe I can keep up with you one day");delay(1e10); break;
case 6:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I can not help stoping as result of your beauty");delay(1e10); break;
default:setcolor(t);
settextstyle(1, 0, 5); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t-3, t-3, "I will go with you forever");
}
}
}
main()
{time_t starttime,endtime;
int i,j;
int x[N],y[N],t[N];
make_graphics();
for(i=0;i make_circle(lizi.x,lizi.y,i);
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=1.0;time(&endtime));
for(i=0;i{x=lizi.x;
y=lizi.y;
}
sport(x,y);
}
#include "stdio.h"
#include "graphics.h"
#include "time.h"
#include "math.h"
#define N 2
#define TIME 0.8/*微粒的的運動時間,TIME/步,每一步長為25個單位*/
void *buf[N];
struct
{
int x,y;
} lizi[]={{0,0},{75,75}};
void alter_place_lizi(int *x,int *y,int key)/*根據隨機方向改變粒子的方位*/
{
switch(key)
{case 0:
case 1:
case 2:*x-=25;break;
case 4:
case 5:
case 6:*x+=25;break;
}
switch(key)
{ case 0:
case 7:
case 6:*y-=25;break;
case 2:
case 3:
case 4:*y+=25;break;
}
if(*x<0) *x=0;
if(*x>250) *x=250;
if(*y<0) *y=0;
if(*y>250) *y=250;
}
void make_graphics()/*畫方框*/
{int i,j,driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
for(i=0;i<=10;i++)
line(0,25*i,250,25*i);
for(i=0;i<=10;i++)
line(25*i,0,25*i,250);
}void make_circle(int x,int y,int n)/*根據提供的離子所在方位畫圓*/
{
int size;
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1,10);
circle(x+25/2,y+25/2,25/2);
floodfill(x+25/2,y+25/2,12);
size=imagesize(x,y,x+25,y+25);
buf[n]=(void *)malloc(size);/*儲存每一個圓*/
}
void sport(int *x,int *y)/*粒子的運動*/
{
time_t starttime,endtime;
int seed=0,i,j;
int key;
char s[300];
int t=1;
srand(seed);
/*儲存現場圖形*/
for(i=0;i getimage(x,y,x+25,y+25,buf);
cleardevice();/*清除*/
setbkcolor(BLUE);
cleardevice();
setviewport(50, 50, 590, 430, 1); /*定義一個圖形視窗*/
setfillstyle(1, 2); /*綠色以實填充*/
setcolor(YELLOW);
rectangle(0, 0,590, 230);
floodfill(50, 50, 14);
setcolor(12);
settextstyle(1, 0, 8); /*三重筆劃字型, 水平放大8倍*/
outtextxy(20, 20, "I miss you");
setcolor(11);
settextstyle(1, 0, 4); /*三重筆劃字型, 水平放大4倍*/
outtextxy(100, 100, "where are you");
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=2.0;time(&endtime));
setbkcolor(YELLOW);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
while(t)
{
if(fabs(x[0]-x[1])==25&&fabs(y[0]-y[1])==25)
{for(i=0;i {key=rand()%8;
alter_place_lizi(&x,&y,key);
}
}
else if(fabs(x[0]-x[1])==25||fabs(y[0]-y[1])==25)
{key=rand()%8;
for(i=0;i alter_place_lizi(&x,&y,key);t++;
}
else
{for(i=0;i {key=rand()%8;
alter_place_lizi(&x,&y,key);
}
}
for(i=0;i putimage(x,y,buf,COPY_PUT);
/*介面維持0.5秒鐘*/
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=TIME;time(&endtime));
for(i=0;i getimage(x,y,x+25,y+25,buf);
cleardevice();
switch(t)
{case 1:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I am tired to look after you"); delay(1e10);
break;
case 2:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "could you wait for me please?");delay(1e10);
break;
case 3:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I can not catch up with you");delay(1e10); break;
case 4:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "you walk so quckily");delay(1e10); break;
case 5:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I will not give up and I believe I can keep up with you one day");delay(1e10); break;
case 6:setcolor(t);
settextstyle(1, 0, 2); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t, t, "I can not help stoping as result of your beauty");delay(1e10); break;
default:setcolor(t);
settextstyle(1, 0, 5); /*三重筆劃字型, 水平放大4倍*/
outtextxy(t-3, t-3, "I will go with you forever");
}
}
}
main()
{time_t starttime,endtime;
int i,j;
int x[N],y[N],t[N];
make_graphics();
for(i=0;i make_circle(lizi.x,lizi.y,i);
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=1.0;time(&endtime));
for(i=0;i{x=lizi.x;
y=lizi.y;
}
sport(x,y);
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-957857/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 純 CSS 實現像極了愛情CSS
- 程式設計師的愛情程式設計師
- 中國愛情電視劇的"核心程式"
- 程式設計師的愛情詩程式設計師
- C/C++,我的至愛!!! (轉)C++
- css實現圓形、橢圓和半圓效果程式碼例項CSS
- 團隊宣言及專案設想
- 請相信程式設計師的愛情程式設計師
- 用標準C實現shell功能(轉)
- 也用 C++ 實現 Property 功能 (轉)C++
- 程式設計師們的愛情表白書程式設計師
- 一個程式設計師的愛情自白程式設計師
- 為激情為生—“激情團隊宣言”薦
- 程式設計師之愛情觀程式設計師
- css3實現橢圓軌跡旋轉CSSS3
- HTML+CSS+JS實現趣味相簿HTMLCSSJS
- 用C#下的Raw Socket程式設計實現網路封包監視 (轉)C#程式設計
- 程式設計師老爸的宣言程式設計師
- 軟體工業的JIT宣言 (轉)
- 一個用C#實現的簡單http server (轉)C#HTTPServer
- 用C語言編寫Linux實用程式的藝術(轉)C語言Linux
- 一個程式設計師的愛情表白書程式設計師
- 純C#鉤子實現及應用(轉)C#
- 影片直播美顏sdk趣味功能的實現流程
- 圓形 ImageView 的實現方法View
- 程式猿生存指南-48 何為愛情
- 窄門——形而上的愛情
- 自定義View實現箭頭沿圓轉動View
- 用XML實現程式語言間的互譯 (轉)XML
- Android 圓角、圓形 ImageView 實現AndroidView
- 團隊作業—預則立&&他山之石(人月神教)
- 團隊作業——系統設計(人月神教)
- 分享 用CSS實現無圖片圓角效果CSS
- canvas實現的圓形鐘錶效果程式碼例項Canvas
- css3實現的圓角效果程式碼例項CSSS3
- C語言趣味程式設計100例pdfC語言程式設計
- 用C語言實現常見的三種中文內碼轉換(轉)C語言
- 實現熱鍵啟用後臺程式 (轉)