TempleOSCDV5.01.ISO
This commit is contained in:
1 parent
f6eacf7744
commit
320c7ee98a
219 files changed
+5211
-4853
No files matched your search
@@ -1,10 +1,10 @@
|
||||
#define MAX_PTS 16
|
||||
#define PTS_NUM 16
|
||||
|
||||
U0 BSplineDemo()
|
||||
{
|
||||
CDC *dc=DCAlias;
|
||||
I64 arg1,arg2,i=0,msg_code;
|
||||
CD3I32 c[MAX_PTS];
|
||||
CD3I32 c[PTS_NUM];
|
||||
|
||||
SettingsPush;
|
||||
Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS-WIF_SELF_BORDER;
|
||||
@@ -20,7 +20,7 @@ U0 BSplineDemo()
|
||||
GrCircle(dc,arg1,arg2,10);
|
||||
i++;
|
||||
}
|
||||
} while (i<MAX_PTS && msg_code!=MSG_MS_R_UP);
|
||||
} while (i<PTS_NUM && msg_code!=MSG_MS_R_UP);
|
||||
dc->color=RED;
|
||||
Gr2BSpline(dc,c,i,TRUE);
|
||||
dc->color=BLUE;
|
||||
|
||||
@@ -10,8 +10,8 @@ U0 Init()
|
||||
MemSet(y,0,sizeof(y));
|
||||
for (i=0;i<16;i++) {
|
||||
é=Rand*2*ã;
|
||||
dx[i]=MAX_I32*Cos(é);
|
||||
dy[i]=MAX_I32*Sin(é);
|
||||
dx[i]=I32_MAX*Cos(é);
|
||||
dy[i]=I32_MAX*Sin(é);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+13
-13
@@ -1,10 +1,10 @@
|
||||
#define NUM_DISKS 6
|
||||
#define DISKS_NUM 6
|
||||
#define PEDESTAL_HEIGHT 20
|
||||
#define DISK_HEIGHT 7
|
||||
#define DISK_UNIT_WIDTH 5
|
||||
|
||||
I64 poles_x[3];
|
||||
I64 disks_x[NUM_DISKS],disks_y[NUM_DISKS],disks_pole[NUM_DISKS];
|
||||
I64 disks_x[DISKS_NUM],disks_y[DISKS_NUM],disks_pole[DISKS_NUM];
|
||||
|
||||
I64 OtherPole(I64 pole1,I64 pole2)
|
||||
{
|
||||
@@ -14,7 +14,7 @@ I64 OtherPole(I64 pole1,I64 pole2)
|
||||
I64 TopDisk(I64 pole)
|
||||
{
|
||||
I64 i;
|
||||
for (i=0;i<NUM_DISKS;i++)
|
||||
for (i=0;i<DISKS_NUM;i++)
|
||||
if (disks_pole[i]==pole)
|
||||
return i;
|
||||
return -1;
|
||||
@@ -23,7 +23,7 @@ I64 TopDisk(I64 pole)
|
||||
I64 PosInStk(I64 pole,I64 disk)
|
||||
{
|
||||
I64 res=0,i;
|
||||
for (i=NUM_DISKS-1;i>disk;i--)
|
||||
for (i=DISKS_NUM-1;i>disk;i--)
|
||||
if (disks_pole[i]==pole)
|
||||
res++;
|
||||
return res;
|
||||
@@ -32,7 +32,7 @@ I64 PosInStk(I64 pole,I64 disk)
|
||||
U0 SetDisksRestXY()
|
||||
{
|
||||
I64 i;
|
||||
for (i=0;i<NUM_DISKS;i++) {
|
||||
for (i=0;i<DISKS_NUM;i++) {
|
||||
disks_x[i]=poles_x[disks_pole[i]];
|
||||
disks_y[i]=Fs->pix_height-PEDESTAL_HEIGHT
|
||||
-(DISK_HEIGHT+1)/2-1-(DISK_HEIGHT+1)*PosInStk(disks_pole[i],i);
|
||||
@@ -56,15 +56,15 @@ U0 DrawIt(CTask *task,CDC *dc)
|
||||
for (i=0;i<3;i++) {
|
||||
dc->color=BLACK;
|
||||
GrRect(dc,poles_x[i]-3,
|
||||
task->pix_height-PEDESTAL_HEIGHT-(NUM_DISKS+1)*(DISK_HEIGHT+1),
|
||||
7,(NUM_DISKS+1)*(DISK_HEIGHT+1));
|
||||
task->pix_height-PEDESTAL_HEIGHT-(DISKS_NUM+1)*(DISK_HEIGHT+1),
|
||||
7,(DISKS_NUM+1)*(DISK_HEIGHT+1));
|
||||
dc->color=YELLOW;
|
||||
GrRect(dc,poles_x[i]-2,
|
||||
task->pix_height-PEDESTAL_HEIGHT+1-(NUM_DISKS+1)*(DISK_HEIGHT+1),
|
||||
5,(NUM_DISKS+1)*(DISK_HEIGHT+1)-1);
|
||||
task->pix_height-PEDESTAL_HEIGHT+1-(DISKS_NUM+1)*(DISK_HEIGHT+1),
|
||||
5,(DISKS_NUM+1)*(DISK_HEIGHT+1)-1);
|
||||
}
|
||||
|
||||
for (i=0;i<NUM_DISKS;i++) {
|
||||
for (i=0;i<DISKS_NUM;i++) {
|
||||
dc->color=BLACK;
|
||||
GrRect(dc,disks_x[i]-(i+1)*DISK_UNIT_WIDTH,
|
||||
disks_y[i]-DISK_HEIGHT/2,(i+1)*(DISK_UNIT_WIDTH*2)+1,DISK_HEIGHT);
|
||||
@@ -92,7 +92,7 @@ U0 MoveDisks(I64 src_pole,I64 dst_pole,I64 num)
|
||||
top=TopDisk(src_pole);
|
||||
for (y=disks_y[top];
|
||||
y>Fs->pix_height-PEDESTAL_HEIGHT-(DISK_HEIGHT+1)/2
|
||||
-(DISK_HEIGHT+1)*(NUM_DISKS+2);y--) {
|
||||
-(DISK_HEIGHT+1)*(DISKS_NUM+2);y--) {
|
||||
disks_y[top]=y;
|
||||
MySleep;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ U0 Init()
|
||||
for (i=0;i<3;i++)
|
||||
poles_x[i]=(1+i)*Fs->pix_width/4;
|
||||
|
||||
for (i=0;i<NUM_DISKS;i++)
|
||||
for (i=0;i<DISKS_NUM;i++)
|
||||
disks_pole[i]=0;
|
||||
|
||||
SetDisksRestXY;
|
||||
@@ -140,7 +140,7 @@ U0 Hanoi()
|
||||
|
||||
Sleep(1000);
|
||||
try {
|
||||
MoveDisks(0,2,NUM_DISKS);
|
||||
MoveDisks(0,2,DISKS_NUM);
|
||||
Beep; Beep;
|
||||
DocClear;
|
||||
DocBottom;
|
||||
|
||||
@@ -2,13 +2,13 @@ U0 PaletteDemo()
|
||||
{
|
||||
I64 i,j;
|
||||
CBGR48 bgr;
|
||||
for (i=0;i<NUM_COLORS;i++)
|
||||
for (i=0;i<COLORS_NUM;i++)
|
||||
"$$BLACK$$$$BG,%d$$__%-8Z__$$FG$$$$BG$$\n",i,i,"ST_COLORS";
|
||||
|
||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||
//Alternatively, use $LK,"GrPaletteSet",A="MN:GrPaletteSet"$(gr_palette_gray);
|
||||
for (i=0;i<NUM_COLORS;i++) {
|
||||
j=0xFFFF*i/(NUM_COLORS-1);
|
||||
for (i=0;i<COLORS_NUM;i++) {
|
||||
j=0xFFFF*i/(COLORS_NUM-1);
|
||||
bgr.b=j;
|
||||
bgr.g=j;
|
||||
bgr.r=j;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+13
-13
@@ -1,23 +1,23 @@
|
||||
#define NUM_ZEROS 2
|
||||
Complex zeros[NUM_ZEROS]={{10.0,0},{-30,0}};
|
||||
#define NUM_POLES 2
|
||||
Complex poles[NUM_POLES]={{-20.0,-15.0},{-20.0,15.0}};
|
||||
#define ZEROS_NUM 2
|
||||
Complex zeros[ZEROS_NUM]={{10.0,0},{-30,0}};
|
||||
#define POLES_NUM 2
|
||||
Complex poles[POLES_NUM]={{-20.0,-15.0},{-20.0,15.0}};
|
||||
|
||||
F64 scale;
|
||||
|
||||
Complex *PoleZeroFind(I64 x,I64 y)
|
||||
{
|
||||
I64 i;
|
||||
F64 dd,best_dd=MAX_F64;
|
||||
F64 dd,best_dd=F64_MAX;
|
||||
Complex *res=NULL;
|
||||
for (i=0;i<NUM_POLES;i++) {
|
||||
for (i=0;i<POLES_NUM;i++) {
|
||||
dd=Sqr(poles[i].x-x)+Sqr(poles[i].y-y);
|
||||
if (dd<best_dd) {
|
||||
best_dd=dd;
|
||||
res=&poles[i];
|
||||
}
|
||||
}
|
||||
for (i=0;i<NUM_ZEROS;i++) {
|
||||
for (i=0;i<ZEROS_NUM;i++) {
|
||||
dd=Sqr(zeros[i].x-x)+Sqr(zeros[i].y-y);
|
||||
if (dd<best_dd) {
|
||||
best_dd=dd;
|
||||
@@ -32,8 +32,8 @@ F64 F(Complex *x)
|
||||
F64 m,a;
|
||||
Complex num,denom,n1;
|
||||
|
||||
CPoly(&num, NUM_ZEROS,zeros,x);
|
||||
CPoly(&denom,NUM_POLES,poles,x);
|
||||
CPoly(&num, ZEROS_NUM,zeros,x);
|
||||
CPoly(&denom,POLES_NUM,poles,x);
|
||||
CDiv(&n1,&num,&denom);
|
||||
|
||||
R2P(&m,&a,n1.x,n1.y);
|
||||
@@ -65,8 +65,8 @@ F64 MPDraw(CTask *task)
|
||||
|
||||
U0 Draw()
|
||||
{
|
||||
CJob *tmpm[MP_MAX_PROCESSORS];
|
||||
F64 y_total,old_y_total=MAX_F64;
|
||||
CJob *tmpm[MP_PROCESSORS_NUM];
|
||||
F64 y_total,old_y_total=F64_MAX;
|
||||
I64 i,w=Fs->pix_width,h=Fs->pix_height,cx=w/2,cy=h/2;
|
||||
CDC *dc=DCAlias;
|
||||
while (TRUE) {
|
||||
@@ -85,9 +85,9 @@ U0 Draw()
|
||||
dc->color=15;
|
||||
GrLine(dc,0,cy,w,cy);
|
||||
GrLine(dc,cx,0,cx,h);
|
||||
for (i=0;i<NUM_ZEROS;i++)
|
||||
for (i=0;i<ZEROS_NUM;i++)
|
||||
GrPrint(dc,cx+zeros[i].x-FONT_WIDTH/2,cy-zeros[i].y-FONT_HEIGHT/2,"o");
|
||||
for (i=0;i<NUM_POLES;i++)
|
||||
for (i=0;i<POLES_NUM;i++)
|
||||
GrPrint(dc,cx+poles[i].x-FONT_WIDTH/2,cy-poles[i].y-FONT_HEIGHT/2,"x");
|
||||
DCDel(dc);
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user