當前位置:首頁 » 操作系統 » kk最新源碼

kk最新源碼

發布時間: 2023-07-23 12:24:30

⑴ 新手求大神做一個kk按鍵腳本,第一步按回車,第二步按下,第三步按上

Up, 2
復制上面代碼到按鍵精靈的源碼界面保存就能使用了KeyPress ;Space;;, 1
KeyPress

⑵ 主力識別指標源碼是什麼

主力識別指標源碼是:鉛絕.RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;J1:=REVERSE(J);AA:=REF(MA(C,1),10)>REF(MA(C,60),10);買陸激跡點:CROSS(J,J1)AA;STICKLINE(買點,0,30,6,0),COLORBLUE;STICKLINE(買點,30,60,4,0),COLORWHITE;STICKLINE(買點,60,80,2,0),COLORYELLOW;DRAWTEXT(買點,70,´敵軍潛入´),COLORRED;{主力進出場}VAR1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1);VAR2:=SMA(ABS(LOW-VAR1),13,1)/SMA(MAX(LOW-VAR1,0),10,1);VAR3:=EMA(VAR2,10);VAR4:=LLV(LOW,33);VAR5:=EMA(IF(LOW<=VAR4,VAR3,0),3);主力進場:IF(VAR5>REF(VAR5,1),VAR5,0),COLORRED,NODRAW;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,3,0),COLORRED;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,3,0),COLOR000055;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,2.6,0),COLOR000077;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,2.1,0),COLOR000099;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,1.5,0),COLOR0000BB;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,0.9,0),COLOR0000DD;STICKLINE(VAR5>REF(VAR5,1),0,VAR5,0.3,0),COLOR0000FF;洗盤:IF(VAR5<REF(VAR5,1),VAR5,0),COLORGREEN,NODRAW;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,3,0),COLORGREEN;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,3,0),COLOR005500;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,2.6,0),COLOR007700;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,2.1,0),COLOR009900;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,1.5,0),COLOR00BB00;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,0.9,0),COLOR00DD00;STICKLINE(VAR5<REF(VAR5,1),0,VAR5,0.3,0),COLOR00FF00;VAR12:=SMA(ABS(VAR1-H),13,1)/SMA(MAX(VAR1-H,0),10,1);VAR13:=EMA(VAR12,10);VAR14:=HHV(H,33);VAR15:=EMA(IF(H>=VAR14,VAR13,0),3);沖頂:IF(VAR15>REF(VAR15,1),VAR15,0),COLORFF00FF,NODRAW;STICKLINE(VAR15>REF(VAR15,1),0,VAR15,3,0),COLORFF00FF;STICKLINE(VAR15>早並REF(VAR15,1),0,VAR15,3,0),COLOR550055;STICKLINE(VAR15>REF(VAR15,1),0,VAR15,2.6,0),COLOR770077;STICKLINE(VAR15>REF(VAR15,1),0,VAR15,2.1

⑶ 求C語言小程序源代碼,300行左右

黑白棋游戲
#include "graphics.h" /*圖形系統頭文件*/
#define LEFT 0x4b00 /*游標左鍵值*/
#define RIGHT 0x4d00 /*游標右鍵值*/
#define DOWN 0x5000 /*游標下鍵值*/
#define UP 0x4800 /*游標上鍵值*/
#define ESC 0x011b /* ESC鍵值*/
#define ENTER 0x1c0d /* 回車鍵值*/
int a[8][8]={0},key,score1,score2;/*具體分數以及按鍵與存放棋子的變數*/
char playone[3],playtwo[3];/*兩個人的得分轉換成字元串輸出*/
void playtoplay(void);/*人人對戰函數*/
void DrawQp(void);/*畫棋盤函數*/
void SetPlayColor(int x);/*設置棋子第一次的顏色*/
void MoveColor(int x,int y);/*恢復原來棋盤狀態*/
int QpChange(int x,int y,int z);/*判斷棋盤的變化*/
void DoScore(void);/*處理分數*/
void PrintScore(int n);/*輸出成績*/
void playWin(void);/*輸出勝利者信息*/
/******主函數*********/
void main(void)
{
int gd=DETECT,gr;
initgraph(&gd,&gr,"c:\\tc"); /*初始化圖形系統*/
DrawQp();/*畫棋盤*/
playtoplay();/*人人對戰*/
getch();
closegraph();/*關閉圖形系統*/
}
void DrawQp()/*畫棋盤*/
{
int i,j;
score1=score2=0;/*棋手一開始得分都為0*/
setbkcolor(BLUE);
for(i=100;i<=420;i+=40)
{
line(100,i,420,i);/*畫水平線*/
line(i,100,i,420); /*畫垂直線*/
}
setcolor(0);/*取消圓周圍的一圈東西*/
setfillstyle(SOLID_FILL,15);/*白色實體填凳顫充模式*/
fillellipse(500,200,15,15); /*在顯示得分的位置畫棋*/
setfillstyle(SOLID_FILL,8); /*黑色實體填充模式*/
fillellipse(500,300,15,15);
a[3][3]=a[4][4]=1;/*初始兩個黑棋*/
a[3][4]=a[4][3]=2;/*初始兩個白棋*/
setfillstyle(SOLID_FILL,WHITE);
fillellipse(120+3*40,120+3*40,15,15);
fillellipse(120+4*40,120+4*40,15,15);
setfillstyle(SOLID_FILL,8);
fillellipse(120+3*40,120+4*40,15,15);
fillellipse(120+4*40,120+3*40,15,15);
score1=score2=2; /*有棋後改變分數*/
DoScore();/*輸出開始分數*/
}
void playtoplay()/*人人對戰*/
{
int x,y,t=1,i,j,cc=0;
while(1)/*換棋好悄手走棋*/
{
x=120,y=80;/*每次棋子一開始出來的坐標,x為行坐標,y為列坐標*/
while(1) /*具體一個棋手走棋的過程*/
{
PrintScore(1);/*輸出棋手1的成績*/
PrintScore(2);/*輸出棋手2的成績*/
SetPlayColor(t);/*t變數是友粗渣用來判斷棋手所執棋子的顏色*/
fillellipse(x,y,15,15);
key=bioskey(0);/*接收按鍵*/
if(key==ESC)/*跳出遊戲*/
break;
else
if(key==ENTER)/*如果按鍵確定就可以跳出循環*/
{
if(y!=80&&a[(x-120)/40][(y-120)/40]!=1
&&a[(x-120)/40][(y-120)/40]!=2)/*如果落子位置沒有棋子*/
{
if(t%2==1)/*如果是棋手1移動*/
a[(x-120)/40][(y-120)/40]=1;
else/*否則棋手2移動*/
a[(x-120)/40][(y-120)/40]=2;
if(!QpChange(x,y,t))/*落子後判斷棋盤的變化*/
{
a[(x-120)/40][(y-120)/40]=0;/*恢復空格狀態*/
cc++;/*開始統計嘗試次數*/
if(cc>=64-score1-score2) /*如果嘗試超過空格數則停步*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
break;
}
else
continue;/*如果按鍵無效*/
}
DoScore();/*分數的改變*/
break;/*棋盤變化了,則輪對方走棋*/
}
else/*已經有棋子就繼續按鍵*/
continue;
}
else /*四個方向按鍵的判斷*/
if(key==LEFT&&x>120)/*左方向鍵*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
x-=40;
fillellipse(x,y,15,15);
}
else
if(key==RIGHT&&x<400&&y>80)/*右方向鍵*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
x+=40;
fillellipse(x,y,15,15);
}
else
if(key==UP&&y>120)/*上方向鍵*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
y-=40;
fillellipse(x,y,15,15);
}
else
if(key==DOWN&&y<400)/*下方向鍵*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
y+=40;
fillellipse(x,y,15,15);
}
}
if(key==ESC)/*結束游戲*/
break;
if((score1+score2)==64||score1==0||score2==0)/*格子已經占滿或一方棋子為0判斷勝負*/
{
playWin();/*輸出最後結果*/
break;
}
t=t%2+1; /*一方走後,改變棋子顏色即輪對方走*/
cc=0; /*計數值恢復為0*/
} /*endwhile*/
}
void SetPlayColor(int t)/*設置棋子顏色*/
{
if(t%2==1)
setfillstyle(SOLID_FILL,15);/*白色*/
else
setfillstyle(SOLID_FILL,8);/*灰色*/
}
void MoveColor(int x,int y)/*走了一步後恢復原來格子的狀態*/
{
if(y<100)/*如果是從起點出發就恢復藍色*/
setfillstyle(SOLID_FILL,BLUE);
else/*其他情況如果是1就恢復白色棋子,2恢復黑色棋子,或恢復藍色棋盤*/
switch(a[(x-120)/40][(y-120)/40])
{
case 1:
setfillstyle(SOLID_FILL,15);break; /*白色*/
case 2:
setfillstyle(SOLID_FILL,8);break; /*黑色*/
default:
setfillstyle(SOLID_FILL,BLUE); /*藍色*/
}
}
int QpChange(int x,int y,int t)/*判斷棋盤的變化*/
{
int i,j,k,kk,ii,jj,yes;
yes=0;
i=(x-120)/40; /*計算數組元素的行下標*/
j=(y-120)/40; /*計算數組元素的列下標*/
SetPlayColor(t);/*設置棋子變化的顏色*/
/*開始往8個方向判斷變化*/
if(j<6)/*往右邊*/
{
for(k=j+1;k<8;k++)
if(a[i][k]==a[i][j]||a[i][k]==0)/*遇到自己的棋子或空格結束*/
break;
if(a[i][k]!=0&&k<8)
{
for(kk=j+1;kk<k&&k<8;kk++)/*判斷右邊*/
{
a[i][kk]=a[i][j]; /*改變棋子顏色*/
fillellipse(120+i*40,120+kk*40,15,15);
}
if(kk!=j+1) /*條件成立則有棋子改變過顏色*/
yes=1;
}
}
if(j>1)/*判斷左邊*/
{
for(k=j-1;k>=0;k--)
if(a[i][k]==a[i][j]||!a[i][k])
break;
if(a[i][k]!=0&&k>=0)
{
for(kk=j-1;kk>k&&k>=0;kk--)
{
a[i][kk]=a[i][j];
fillellipse(120+i*40,120+kk*40,15,15);
}
if(kk!=j-1)
yes=1;
}
}
if(i<6)/*判斷下邊*/
{
for(k=i+1;k<8;k++)
if(a[k][j]==a[i][j]||!a[k][j])
break;
if(a[k][j]!=0&&k<8)
{
for(kk=i+1;kk<k&&k<8;kk++)
{
a[kk][j]=a[i][j];
fillellipse(120+kk*40,120+j*40,15,15);
}
if(kk!=i+1)
yes=1;
}
}
if(i>1)/*判斷上邊*/
{
for(k=i-1;k>=0;k--)
if(a[k][j]==a[i][j]||!a[k][j])
break;
if(a[k][j]!=0&&k>=0)
{
for(kk=i-1;kk>k&&k>=0;kk--)
{
a[kk][j]=a[i][j];
fillellipse(120+kk*40,120+j*40,15,15);
}
if(kk!=i-1)
yes=1;
}
}
if(i>1&&j<6)/*右上*/
{
for(k=i-1,kk=j+1;k>=0&&kk<8;k--,kk++)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]&&k>=0&&kk<8)
{
for(ii=i-1,jj=j+1;ii>k&&k>=0;ii--,jj++)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i-1)
yes=1;
}
}
if(i<6&&j>1)/*左下*/
{
for(k=i+1,kk=j-1;k<8&&kk>=0;k++,kk--)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]!=0&&k<8&&kk>=0)
{
for(ii=i+1,jj=j-1;ii<k&&k<8;ii++,jj--)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i+1)
yes=1;
}
}
if(i>1&&j>1)/*左上*/
{
for(k=i-1,kk=j-1;k>=0&&kk>=0;k--,kk--)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]!=0&&k>=0&&kk>=0)
{
for(ii=i-1,jj=j-1;ii>k&&k>=0;ii--,jj--)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i-1)
yes=1;
}
}
if(i<6&&j<6)/* 右下*/
{
for(k=i+1,kk=j+1;kk<8&&kk<8;k++,kk++)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]!=0&&kk<8&&k<8)
{
for(ii=i+1,jj=j+1;ii<k&&k<8;ii++,jj++)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i+1)
yes=1;
}
}
return yes;/*返回是否改變過棋子顏色的標記*/
}
void DoScore()/*處理分數*/
{
int i,j;
score1=score2=0;/*重新開始計分數*/
for(i=0;i<8;i++)
for(j=0;j<8;j++)
if(a[i][j]==1)/*分別統計兩個人的分數*/
score1++;
else
if(a[i][j]==2)
score2++;
}
void PrintScore(int playnum)/*輸出成績*/
{
if(playnum==1)/*清除以前的成績*/
{
setfillstyle(SOLID_FILL,BLUE);
bar(550,100,640,400);
}
setcolor(RED);
settextstyle(0,0,4);/*設置文本輸出樣式*/
if(playnum==1)/*判斷輸出哪個棋手的分,在不同的位置輸出*/
{
sprintf(playone,"%d",score1);
outtextxy(550,200,playone);
}
else
{
sprintf(playtwo,"%d",score2);
outtextxy(550,300,playtwo);
}
setcolor(0);
}
void playWin()/*輸出最後的勝利者結果*/
{
settextstyle(0,0,4);
setcolor(12);
if(score2>score1)/*開始判斷最後的結果*/
outtextxy(100,50,"black win!");
else
if(score2<score1)
outtextxy(100,50,"white win!");
else
outtextxy(60,50,"you all win!");
}

五子棋游戲
/*五子棋*/
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<bios.h>
#include<conio.h>

#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define SPACE 0x3920

#define BILI 20
#define JZ 4
#define JS 3
#define N 19

int box[N][N];
int step_x,step_y ;
int key ;
int flag=1 ;

void draw_box();
void draw_cicle(int x,int y,int color);
void change();
void judgewho(int x,int y);
void judgekey();
int judgeresult(int x,int y);
void attentoin();

void attention()
{
char ch ;
window(1,1,80,25);
textbackground(LIGHTBLUE);
textcolor(YELLOW);
clrscr();
gotoxy(15,2);
printf("游戲操作規則:");
gotoxy(15,4);
printf("Play Rules:");
gotoxy(15,6);
printf("1、按左右上下方向鍵移動棋子");
gotoxy(15,8);
printf("1. Press Left,Right,Up,Down Key to move Piece");
gotoxy(15,10);
printf("2、按空格確定落棋子");
gotoxy(15,12);
printf("2. Press Space to place the Piece");
gotoxy(15,14);
printf("3、禁止在棋盤外按空格");
gotoxy(15,16);
printf("3. DO NOT press Space outside of the chessboard");
gotoxy(15,18);
printf("你是否接受上述的游戲規則(Y/N)");
gotoxy(15,20);
printf("Do you accept the above Playing Rules? [Y/N]:");
while(1)
{
gotoxy(60,20);
ch=getche();
if(ch=='Y'||ch=='y')
break ;
else if(ch=='N'||ch=='n')
{
window(1,1,80,25);
textbackground(BLACK);
textcolor(LIGHTGRAY);
clrscr();
exit(0);
}
gotoxy(51,12);
printf(" ");
}
}
void draw_box()
{
int x1,x2,y1,y2 ;
setbkcolor(LIGHTBLUE);
setcolor(YELLOW);
gotoxy(7,2);
printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit.");
for(x1=1,y1=1,y2=18;x1<=18;x1++)
line((x1+JZ)*BILI,(y1+JS)*BILI,(x1+JZ)*BILI,(y2+JS)*BILI);
for(x1=1,y1=1,x2=18;y1<=18;y1++)
line((x1+JZ)*BILI,(y1+JS)*BILI,(x2+JZ)*BILI,(y1+JS)*BILI);
for(x1=1;x1<=18;x1++)
for(y1=1;y1<=18;y1++)
box[x1][y1]=0 ;
}

void draw_circle(int x,int y,int color)
{
setcolor(color);
setlinestyle(SOLID_LINE,0,1);
x=(x+JZ)*BILI ;
y=(y+JS)*BILI ;
circle(x,y,8);
}

void judgekey()
{
int i ;
int j ;
switch(key)
{
case LEFT :

if(step_x-1<0)
break ;
else
{
for(i=step_x-1,j=step_y;i>=1;i--)
if(box[i][j]==0)
{
draw_circle(step_x,step_y,LIGHTBLUE);
break ;
}
if(i<1)break ;
step_x=i ;
judgewho(step_x,step_y);
break ;
}
case RIGHT :

if(step_x+1>18)
break ;
else
{
for(i=step_x+1,j=step_y;i<=18;i++)
if(box[i][j]==0)
{
draw_circle(step_x,step_y,LIGHTBLUE);
break ;
}
if(i>18)break ;
step_x=i ;
judgewho(step_x,step_y);
break ;
}
case DOWN :

if((step_y+1)>18)
break ;
else
{
for(i=step_x,j=step_y+1;j<=18;j++)
if(box[i][j]==0)
{
draw_circle(step_x,step_y,LIGHTBLUE);
break ;
}
if(j>18)break ;
step_y=j ;
judgewho(step_x,step_y);
break ;
}
case UP :

if((step_y-1)<0)
break ;
else
{
for(i=step_x,j=step_y-1;j>=1;j--)
if(box[i][j]==0)
{
draw_circle(step_x,step_y,LIGHTBLUE);
break ;
}
if(j<1)break ;
step_y=j ;
judgewho(step_x,step_y);
break ;
}
case ESC :
break ;

case SPACE :
if(step_x>=1&&step_x<=18&&step_y>=1&&step_y<=18)
{
if(box[step_x][step_y]==0)
{
box[step_x][step_y]=flag ;
if(judgeresult(step_x,step_y)==1)
{
sound(1000);
delay(1000);
nosound();
gotoxy(30,4);
if(flag==1)
{
setbkcolor(BLUE);
cleardevice();
setviewport(100,100,540,380,1);
/*定義一個圖形窗口*/
setfillstyle(1,2);
/*綠色以實填充*/
setcolor(YELLOW);
rectangle(0,0,439,279);
floodfill(50,50,14);
setcolor(12);
settextstyle(1,0,5);
/*三重筆劃字體, 水平放?5倍*/
outtextxy(20,20,"The White Win !");
setcolor(15);
settextstyle(3,0,5);
/*無襯筆劃字體, 水平放大5倍*/
outtextxy(120,120,"The White Win !");
setcolor(14);
settextstyle(2,0,8);
getch();
closegraph();
exit(0);
}
if(flag==2)
{
setbkcolor(BLUE);
cleardevice();
setviewport(100,100,540,380,1);
/*定義一個圖形窗口*/
setfillstyle(1,2);
/*綠色以實填充*/
setcolor(YELLOW);
rectangle(0,0,439,279);
floodfill(50,50,14);
setcolor(12);
settextstyle(1,0,8);
/*三重筆劃字體, 水平放大8倍*/
outtextxy(20,20,"The Red Win !");
setcolor(15);
settextstyle(3,0,5);
/*無襯筆劃字體, 水平放大5倍*/
outtextxy(120,120,"The Red Win !");
setcolor(14);
settextstyle(2,0,8);
getch();
closegraph();
exit(0);
}
}
change();
break ;
}
}
else
break ;
}
}

void change()
{
if(flag==1)
flag=2 ;
else
flag=1 ;
}

void judgewho(int x,int y)
{
if(flag==1)
draw_circle(x,y,15);
if(flag==2)
draw_circle(x,y,4);
}

int judgeresult(int x,int y)
{
int j,k,n1,n2 ;
while(1)
{
n1=0 ;
n2=0 ;
/*水平向左數*/
for(j=x,k=y;j>=1;j--)
{
if(box[j][k]==flag)
n1++;
else
break ;
}
/*水平向右數*/
for(j=x,k=y;j<=18;j++)
{
if(box[j][k]==flag)
n2++;
else
break ;
}
if(n1+n2-1>=5)
{
return(1);
break ;
}

/*垂直向上數*/
n1=0 ;
n2=0 ;
for(j=x,k=y;k>=1;k--)
{
if(box[j][k]==flag)
n1++;
else
break ;
}
/*垂直向下數*/
for(j=x,k=y;k<=18;k++)
{
if(box[j][k]==flag)
n2++;
else
break ;
}
if(n1+n2-1>=5)
{
return(1);
break ;
}

/*向左上方數*/
n1=0 ;
n2=0 ;
for(j=x,k=y;j>=1,k>=1;j--,k--)
{
if(box[j][k]==flag)
n1++;
else
break ;
}
/*向右下方數*/
for(j=x,k=y;j<=18,k<=18;j++,k++)
{
if(box[j][k]==flag)
n2++;
else
break ;
}
if(n1+n2-1>=5)
{
return(1);
break ;
}

/*向右上方數*/
n1=0 ;
n2=0 ;
for(j=x,k=y;j<=18,k>=1;j++,k--)
{
if(box[j][k]==flag)
n1++;
else
break ;
}
/*向左下方數*/
for(j=x,k=y;j>=1,k<=18;j--,k++)
{
if(box[j][k]==flag)
n2++;
else
break ;
}
if(n1+n2-1>=5)
{
return(1);
break ;
}
return(0);
break ;
}
}

void main()
{
int gdriver=VGA,gmode=VGAHI;
clrscr();
attention();
initgraph(&gdriver,&gmode,"c:\\tc");
/* setwritemode(XOR_PUT);*/
flag=1 ;
draw_box();
do
{
step_x=0 ;
step_y=0 ;
/*draw_circle(step_x,step_y,8); */
judgewho(step_x-1,step_y-1);
do
{
while(bioskey(1)==0);
key=bioskey(0);
judgekey();
}
while(key!=SPACE&&key!=ESC);
}
while(key!=ESC);
closegraph();
}

⑷ kk是開源飛控嗎

是。kk是一個很有趣的開源飛控,由於其硬體要求低,價格大眾化,所以雖然性能有限,還是有著廣泛的使用群體。我也有一個kk飛控板,並且我下載了kk的源碼進行研究,比較麻煩的是,kk的源碼是用匯編寫的,很多人是看不懂的。

開源飛控介紹

在紛繁復雜的無人機產品中,四旋翼飛行器以其結構簡單、使用方便、成本低廉等優勢,最先進入了大眾的視線。但是,這種飛行器對飛行控制能力的要求是最高的,因此它刺激了大批基於MEMS感測器的開源飛控的出現。

開源的概念最早被應用於開源軟體,開放源代碼促進會用其描述那些源碼可以被公眾使用的軟體,並且此軟體的使用、修改和發行也不受許可證的限制。開源軟體的發展逐漸與硬體相結合,產生了開源硬體。硬體與軟體不同之處是實物資源應該始終致力於創造實物商品。


每一個開源項目均擁有自己的論壇,由團隊或個人進行管理,論壇定期發布開源代碼,而對此感興趣的程序員都可以下載這些代碼,並對其進行修改,然後上傳自己的成果,管理者從眾多的修改中選擇合適的代碼改進程序並再次發布新版本。形成「共同開發、共同分享」的良性循環。

⑸ 求老師幫我設一個通達信預警公式 源碼如下: MA3:=MA(C,3); YTSL:=(3*C+L+O+H)/6; 辰星線:(20*YT

先把做好的指標送給樓主吧。
源碼:
中軌:=MA(C,26);
下極限:=(中軌-2*STD(C,20));
KK:=C-下極限;
ABS(KK)<=0.1

順便提醒一下樓主,這個指標我也在用,但我做成的是提示買點,此指標是一個很經典的短線指標,可以配合其他指標,抓住波段。但是准確性需要較多指標產生共振效果。如果樓主還有什麼需要,可以聯系我。還有,提醒一下樓主,驗證一下你這個提示的價值。

剛給你的源碼應該准確,樓主試試便知。

⑹ 購物網站源代碼

你就在www.chinaz.com上搜索商務網站就行了

一、關於asp源碼下載站點

1.中國站長網下載 http://www.chinaz.com/download/

為什麼沒有選擇K6 理由很簡單 做為比K6年輕的源碼下載站點 靠自己的特色 越做越大
並且提供建站相關的一切東西更新速度也很快! 估計很快就可以超過K6了

2.KK66下載中心 http://down.kk66.com/

瘦死的駱駝比馬大,是全國最多的建站源碼基地,但垃圾很多,現在K6的極端商業化已經使他逐漸的失去他自身的魅力。

3.ASP300 http://www.asp300.com/

選擇他,其實主要是他在國內做的很早,又是比較早進行收費的代碼下載站點,姑且不論他收費的對錯,但網路告別免費是遲早的,這一點,他做的很先進,他提供的代碼也是一些商業全站很不錯的東西,雖然有人說他拿其他站點免費的當自己的,但是就現在各個下載站提供他們的代碼都要加上一句"ASP300會員代碼"就可以看出他們做的還不錯。

4,信心網路工作室 http://www.xxsky.com/

做的也挺早,庫存代碼也多,現在不過好象有些迷失自己了,逐漸的被網友所遺忘。

5誰與爭鋒的下載欄目 http://www.china-code.net/

東西比較多 商業的也多 現在免費了。

6,ASP酷 http://www.aspcool.com/

還是老代碼下載基地,沒有什麼說的 排名主要靠他的資格在那裡 ,代碼更新慢,程序的相關資料還比較多。

7,源碼之家 http://www.mycodes.net/

也是比較早的源碼下載站點,好象今年是改版過的,提供的代碼現在也很不錯了,裡面還有很多商業的東西喲,現在庫存少! 更新速度還可以。

8,中國源碼中心 http://www.cncode.com/

老牌的,名字挺大的,沉寂了很長一段時間後重新改版,提供的東西不怎麼樣,全是其他站有的,說明比較齊全,更新比較快。

9,ASPDOWN http://www.aspdown.com/

靠提供商業的東西火了一段時間,然後開始不成熟的收費,使網站慢慢的往下走.現在好象又提出了什麼免費的ASPDOWN又回來了,其實又是一種變相的收費,咳 ,ASPDOWN前途為卜!

10,華迅鯤翔 http://www.ftpshow.com/

後起之秀,靠做論壇起家做然後做下載的,商業的東西很多,但是介紹少,現在庫存很少,但是快趕上CNCODE了,代碼全部是本地提供下載速度很快!。值得期待。

重新整理源碼下載地址及各類資源站點

⑺ Akima 插值和樣條插值的C語言源代碼,要有注釋。

Akima插值

附帶的圖片為運行結果

#include"stdio.h"

#include"math.h"

#include"interpolation.h"

voidinterpolation_akima(AKINTEPap){

intnum,k,kk,m,l;

doublepio,*mtr,*x,*y,u[5],p,q;

num=ap->n;k=ap->k;

pio=ap->t;mtr=ap->s;

x=ap->x;y=ap->y;

if(num<1){

return;

}

elseif(num==1){

mtr[0]=mtr[4]=y[0];

return;

}

elseif(num==2){

mtr[0]=y[0];

mtr[1]=(y[1]-y[0])/(x[1]-x[0]);

if(k<0)

mtr[4]=(y[0]*(pio-x[1])-y[1]*(pio-x[0]))/(x[0]-x[1]);

return;

}

if(k<0){

if(pio<=x[1])kk=0;

elseif(pio>=x[num-1])kk=num-2;

else{

kk=1;m=num;

while(((kk-m)!=1)&&((kk-m)!=-1)){

l=(kk+m)/2;

if(pio<x[l-1])m=l;

elsekk=l;

}

kk--;

}

}

elsekk=k;

if(kk>=num-1)kk=num-2;

u[2]=(y[kk+1]-y[kk])/(x[kk+1]-x[kk]);

if(num==3){

if(kk==0){

u[3]=(y[2]-y[1])/(x[2]-x[1]);

u[4]=2.0*u[3]-u[2];

u[1]=2.0*u[2]-u[3];

u[0]=2.0*u[1]-u[2];

}

else{

u[1]=(y[1]-y[0])/(x[1]-x[0]);

u[0]=2.0*u[1]-u[2];

u[3]=2.0*u[2]-u[1];

u[4]=2.0*u[3]-u[2];

}

}

else{

if(kk<=1){

u[3]=(y[kk+2]-y[kk+1])/(x[kk+2]-x[kk+1]);

if(kk==1){

u[1]=(y[1]-y[0])/(x[1]-x[0]);

u[0]=2.0*u[1]-u[2];

if(num==4)u[4]=2.0*u[3]-u[2];

elseu[4]=(y[4]-y[3])/(x[4]-x[3]);

}

else{

u[1]=2.0*u[2]-u[3];

u[0]=2.0*u[1]-u[2];

u[4]=(y[3]-y[2])/(x[3]-x[2]);

}

}

elseif(kk>=(num-3)){

u[1]=(y[kk]-y[kk-1])/(x[kk]-x[kk-1]);

if(kk==(num-3)){

u[3]=(y[num-1]-y[num-2])/(x[num-1]-x[num-2]);

u[4]=2.0*u[3]-u[2];

if(num==4)u[0]=2.0*u[1]-u[2];

elseu[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);

}

else{

u[3]=2.0*u[2]-u[1];

u[4]=2.0*u[3]-u[2];

u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);

}

}

else{

u[1]=(y[kk]-y[kk-1])/(x[kk]-x[kk-1]);

u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);

u[3]=(y[kk+2]-y[kk+1])/(x[kk+2]-x[kk+1]);

u[4]=(y[kk+3]-y[kk+2])/(x[kk+3]-x[kk+2]);

}

}

mtr[0]=fabs(u[3]-u[2]);

mtr[1]=fabs(u[0]-u[1]);

if((fabs(mtr[0])<0.0000001)&&(fabs(mtr[1])<0.0000001))

p=(u[1]+u[2])/2.0;

elsep=(mtr[0]*u[1]+mtr[1]*u[2])/(mtr[0]+mtr[1]);

mtr[0]=fabs(u[3]-u[4]);

mtr[1]=fabs(u[2]-u[1]);

if((fabs(mtr[0])<0.0000001)&&(fabs(mtr[1])<0.0000001))

q=(u[2]+u[3])/2.0;

elseq=(mtr[0]*u[2]+mtr[1]*u[3])/(mtr[0]+mtr[1]);

mtr[0]=y[kk];

mtr[1]=p;

mtr[3]=x[kk+1]-x[kk];

mtr[2]=(3.0*u[2]-2.0*p-q)/mtr[3];

mtr[3]=(q+p-2.0*u[2])/(mtr[3]*mtr[3]);

if(k<0){

p=pio-x[kk];

mtr[4]=mtr[0]+mtr[1]*p+mtr[2]*p*p+mtr[3]*p*p*p;

}

return;

}

main()

{

doublex[11]={3.0,5.0,8.0,13.0,17.0,25.0,27.0,29.0,31.0,35.0,39.0};

doubley[11]={7.0,10.0,11.0,17.0,23.0,18.0,13.0,6.0,3.0,1.0,0.0};

AKINTEaa={11,x,y,-1,14.0,{0}};

AKINTEab={11,x,y,-1,28.0,{0}};

printf(" ");

interpolation_akima(&aa);

printf("x=%6.3f,f(x)=%e ",aa.t,aa.s[4]);

printf("mtr0=%e,mtr1=%e,mtr2=%e,mtr3=%e ",aa.s[0],aa.s[1],aa.s[2],aa.s[3]);

printf(" ");

interpolation_akima(&ab);

printf("x=%6.3f,f(x)=%e ",ab.t,ab.s[4]);

printf("mtr0=%e,mtr1=%e,mtr2=%e,mtr3=%e ",ab.s[0],ab.s[1],ab.s[2],ab.s[3]);

printf(" ");

}

三次樣條插值的實現

1、程序比較簡單的:

#include<iostream>

#include<iomanip>

usingnamespacestd;

constintMAX=50;

floatx[MAX],y[MAX],h[MAX];

floatc[MAX],a[MAX],fxym[MAX];

floatf(intx1,intx2,intx3){

floata=(y[x3]-y[x2])/(x[x3]-x[x2]);

floatb=(y[x2]-y[x1])/(x[x2]-x[x1]);

return(a-b)/(x[x3]-x[x1]);

}//求差分

voidcal_m(intn){//用追趕法求解出彎矩向量M……

floatB[MAX];

B[0]=c[0]/2;

for(inti=1;i<n;i++)

B[i]=c[i]/(2-a[i]*B[i-1]);

fxym[0]=fxym[0]/2;

for(i=1;i<=n;i++)

fxym[i]=(fxym[i]-a[i]*fxym[i-1])/(2-a[i]*B[i-1]);

for(i=n-1;i>=0;i--)

fxym[i]=fxym[i]-B[i]*fxym[i+1];

}

voidprintout(intn);

intmain(){

intn,i;charch;

do{

cout<<"Pleaseputinthenumberofthedots:";

cin>>n;

for(i=0;i<=n;i++){

cout<<"PleaseputinX"<<i<<':';

cin>>x[i];//cout<<endl;

cout<<"PleaseputinY"<<i<<':';

cin>>y[i];//cout<<endl;

}

for(i=0;i<n;i++)//求步長

h[i]=x[i+1]-x[i];

cout<<"Please輸入邊界條件 1:已知兩端的一階導數 2:兩端的二階導數已知 默認:自然邊界條件 ";

intt;

floatf0,f1;

cin>>t;

switch(t){

case1:cout<<"PleaseputinY0'Y"<<n<<"' ";

cin>>f0>>f1;

c[0]=1;a[n]=1;

fxym[0]=6*((y[1]-y[0])/(x[1]-x[0])-f0)/h[0];

fxym[n]=6*(f1-(y[n]-y[n-1])/(x[n]-x[n-1]))/h[n-1];

break;

case2:cout<<"PleaseputinY0"Y"<<n<<"" ";

cin>>f0>>f1;

c[0]=a[n]=0;

fxym[0]=2*f0;fxym[n]=2*f1;

break;

default:cout<<"不可用 ";//待定

};//switch

for(i=1;i<n;i++)

fxym[i]=6*f(i-1,i,i+1);

for(i=1;i<n;i++){

a[i]=h[i-1]/(h[i]+h[i-1]);

c[i]=1-a[i];

}

a[n]=h[n-1]/(h[n-1]+h[n]);

cal_m(n);

cout<<" 輸出三次樣條插值函數: ";

printout(n);

cout<<"Doyoutohaveanthertry?y/n:";

cin>>ch;

}while(ch=='y'||ch=='Y');

return0;

}

voidprintout(intn){

cout<<setprecision(6);

for(inti=0;i<n;i++){

cout<<i+1<<":["<<x[i]<<","<<x[i+1]<<"] "<<" ";

/*

cout<<fxym[i]/(6*h[i])<<"*("<<x[i+1]<<"-x)^3+"<<<<"*(x-"<<x[i]<<")^3+"

<<(y[i]-fxym[i]*h[i]*h[i]/6)/h[i]<<"*("<<x[i+1]<<"-x)+"

<<(y[i+1]-fxym[i+1]*h[i]*h[i]/6)/h[i]<<"(x-"<<x[i]<<") ";

cout<<endl;*/

floatt=fxym[i]/(6*h[i]);

if(t>0)cout<<t<<"*("<<x[i+1]<<"-x)^3";

elsecout<<-t<<"*(x-"<<x[i+1]<<")^3";

t=fxym[i+1]/(6*h[i]);

if(t>0)cout<<"+"<<t<<"*(x-"<<x[i]<<")^3";

elsecout<<"-"<<-t<<"*(x-"<<x[i]<<")^3";

cout<<" ";

t=(y[i]-fxym[i]*h[i]*h[i]/6)/h[i];

if(t>0)cout<<"+"<<t<<"*("<<x[i+1]<<"-x)";

elsecout<<"-"<<-t<<"*("<<x[i+1]<<"-x)";

t=(y[i+1]-fxym[i+1]*h[i]*h[i]/6)/h[i];

if(t>0)cout<<"+"<<t<<"*(x-"<<x[i]<<")";

elsecout<<"-"<<-t<<"*(x-"<<x[i]<<")";

cout<<endl<<endl;

}

cout<<endl;

}

2、程序比較復雜的:

(程序前面的01.,02.,03.等等為語句編號,實際應用時請一一刪除)01./*=======================================================================*/

02.#include<stdio.h>

03.////////////////////////////////////////////////////////////////////////////////

04.#defineMAXNUM50//定義樣條數據區間個數最多為50個

05.typedefstructSPLINE//定義樣條結構體,用於存儲一條樣條的所有信息

06.{//初始化數據輸入

07.floatx[MAXNUM+1];//存儲樣條上的點的x坐標,最多51個點

08.floaty[MAXNUM+1];//存儲樣條上的點的y坐標,最多51個點

09.unsignedintpoint_num;//存儲樣條上的實際的點的個數

10.floatbegin_k1;//開始點的一階導數信息

11.floatend_k1;//終止點的一階導數信息

12.//floatbegin_k2;//開始點的二階導數信息

13.//floatend_k2;//終止點的二階導數信息

14.//計算所得的樣條函數S(x)

15.floatk1[MAXNUM+1];//所有點的一階導數信息

16.floatk2[MAXNUM+1];//所有點的二階導數信息

17.//51個點之間有50個段,func[]存儲每段的函數系數

18.floata3[MAXNUM],a1[MAXNUM];

19.floatb3[MAXNUM],b1[MAXNUM];

20.//分段函數的形式為Si(x)=a3[i]*{x(i+1)-x}^3+a1[i]*{x(i+1)-x}+

21.//b3[i]*{x-x(i)}^3+b1[i]*{x-x(i)}

22.//xi為x[i]的值,xi_1為x[i+1]的值

23.}SPLINE,*pSPLINE;

24.typedefintRESULT;//返回函數執行的結果狀態,下面為具體的返回選項

25.#ifndefTRUE

26.#defineTRUE1

27.#endif

28.#ifndefFALSE

29.#defineFALSE-1

30.#endif

31.#ifndefNULL

32.#defineNULL0

33.#endif

34.#ifndefERR

35.#defineERR-2

36.#endif

37.//////////////////////////////////////////////////////////////////////////////////

38./*===============================================================================

39.***函數名稱:Spline3()

40.***功能說明:完成三次樣條差值,其中使用追趕法求解M矩陣

41.***入口參數:(pSPLINE)pLine樣條結構體指針pLine中的x[],y[],num,begin_k1,end_k1

42.***出口參數:(pSPLINE)pLine樣條結構體指針pLine中的函數參數

43.***返回參數:返回程序執行結果的狀態TRUEorFALSE

44.================================================================================*/

45.RESULTSpline3(pSPLINEpLine)

46.{

47.floatH[MAXNUM]={0};//小區間的步長

48.floatFi[MAXNUM]={0};//中間量

49.floatU[MAXNUM+1]={0};//中間量

50.floatA[MAXNUM+1]={0};//中間量

51.floatD[MAXNUM+1]={0};//中間量

52.floatM[MAXNUM+1]={0};//M矩陣

53.floatB[MAXNUM+1]={0};//追趕法中間量

54.floatY[MAXNUM+1]={0};//追趕法中間變數

55.inti=0;

56.////////////////////////////////////////計算中間參數

57.if((pLine->point_num<3)||(pLine->point_num>MAXNUM+1))

58.{

59.returnERR;//輸入數據點個數太少或太多

60.}

61.for(i=0;i<=pLine->point_num-2;i++)

62.{//求H[i]

63.H[i]=pLine->x[i+1]-pLine->x[i];

64.Fi[i]=(pLine->y[i+1]-pLine->y[i])/H[i];//求F[x(i),x(i+1)]

65.}

66.for(i=1;i<=pLine->point_num-2;i++)

67.{//求U[i]和A[i]和D[i]

68.U[i]=H[i-1]/(H[i-1]+H[i]);

69.A[i]=H[i]/(H[i-1]+H[i]);

70.D[i]=6*(Fi[i]-Fi[i-1])/(H[i-1]+H[i]);

71.}

72.//若邊界條件為1號條件,則

73.U[i]=1;

74.A[0]=1;

75.D[0]=6*(Fi[0]-pLine->begin_k1)/H[0];

76.D[i]=6*(pLine->end_k1-Fi[i-1])/H[i-1];

77.//若邊界條件為2號條件,則

78.//U[i]=0;

79.//A[0]=0;

80.//D[0]=2*begin_k2;

81.//D[i]=2*end_k2;

82./////////////////////////////////////////追趕法求解M矩陣

83.B[0]=A[0]/2;

84.for(i=1;i<=pLine->point_num-2;i++)

85.{

86.B[i]=A[i]/(2-U[i]*B[i-1]);

87.}

88.Y[0]=D[0]/2;

89.for(i=1;i<=pLine->point_num-1;i++)

90.{

91.Y[i]=(D[i]-U[i]*Y[i-1])/(2-U[i]*B[i-1]);

92.}

93.M[pLine->point_num-1]=Y[pLine->point_num-1];

94.for(i=pLine->point_num-1;i>0;i--)

95.{

96.M[i-1]=Y[i-1]-B[i-1]*M[i];

97.}

98.//////////////////////////////////////////計算方程組最終結果

99.for(i=0;i<=pLine->point_num-2;i++)

100.{

101.pLine->a3[i]=M[i]/(6*H[i]);

102.pLine->a1[i]=(pLine->y[i]-M[i]*H[i]*H[i]/6)/H[i];

103.pLine->b3[i]=M[i+1]/(6*H[i]);

104.pLine->b1[i]=(pLine->y[i+1]-M[i+1]*H[i]*H[i]/6)/H[i];

105.}

106.returnTRUE;

107.}

108.//////////////////////////////////////////////////////////////////////////////////

109.SPLINEline1;

110.pSPLINEpLine1=&line1;

111.//////////////////////////////////////////////////////////////////////////////////

112.main()

113.{

114.line1.x[0]=27.7;

115.line1.x[1]=28;

116.line1.x[2]=29;

117.line1.x[3]=30;

118.line1.y[0]=4.1;

119.line1.y[1]=4.3;

120.line1.y[2]=4.1;

121.line1.y[3]=3.0;

122.line1.point_num=4;

123.line1.begin_k1=3.0;

124.line1.end_k1=-4.0;

125.Spline3(pLine1);

126.return0;

127.}

128.//////////////////////////////////////////////////////////////////////////////////

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:969
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:677
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:830
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:309
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:189
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:830