小女也爱c#(3)--俄罗斯方块练习数组

学完c了,总算是有点收获了,自己写了个俄罗斯方块练习数组,在vc6.0控制台环境下编译通过.

ContractedBlock.gifExpandedBlockStart.gifmakehead.h
int Makepanel(char Ary_Panel[][10]);
void gotoxy(int x, int y);
void BrushsScreen(char ary[][20]);
int initializationShape();
void ShowShape(char ary_shapel[][3][3],int nType,int *x, int *y,char Arry_recordXY);
int isNotLandDown(char ary_Panel[][20],char ary_shapel[][3][3],int nType,int *x,int *y);
void SetDownLandStatus(char ary_shapel[][3][3],int nType);
void RemoveRow(char ary_Panel[][23]);
void BrushsScreen2(char Arry_recordXY[][3][2]);
void Cls_Arry_recordXY(char Arry_recordXY[][3][2]);
int isCollision_left(char ary_Panel[][23],char ary_shapel[][3][3] ,int x, int y,int nType);
void Block_Turn(char ary_shapel[][3][3],int nType);
void DownRow(char ary_Panel[][20],int k);
char key(int s);
int isBlock_Turn(char ary_Panel[][20],char ary_shapel[][3][3],int nType,int x,int y);
int isCollision_right(char ary_Panel[][20],char ary_shapel[][3][3] ,int x, int y,int nType);
void GameOver();
int isGameOver(int x);
void Stop();
int maxDown(char ary_Panel[][20],int x,int y);
#define ShapeType 10

 

#include <windows.h>
#include<stdio.h>
#include<conio.h>
#define Nop	0
#define Wall	1
#define Solid	2
#define Landing 3//函数名&功能:显示主界面显示
//参数:主界面的二维数组
//返回值:intint Makepanel(char Ary_Panel[][20])
{int i=0,j=0;for(i=0,j=0;i<23;i++){for(j=0;j<20;j++){if(j==0||j==19||i==22){Ary_Panel[i][j]=1;}else{Ary_Panel[i][j]=0; }if(Ary_Panel[i][j]==Wall){printf("⊙");}else if(Ary_Panel[i][j]==Nop){printf("  ");}if(j==19){printf("\r\n");}}}printf("上下左右->wsad,暂停为空格键");return 0;
}//函数名&功能:移动到x,y点
//参数:x,y为坐标
//返回值:voidvoid gotoxy(int x, int y)
{COORD point;point.X = x; point.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);
}//函数名&功能:刷新屏目
//参数:x,y为坐标
//返回值:voidvoid BrushsScreen(char ary[][20],int x,int y)
{int i=0,j=0;for(i=0;i<23;i++){for(j=1;j<19;j++){gotoxy(j+j,i);if(ary[i][j]==Nop){printf("  ");}}}
}//函数名&功能:刷新屏目
//参数:x,y为坐标
//返回值:voidvoid BrushsScreen2(char Arry_recordXY[][3][2])
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){ if(Arry_recordXY[i][j][0]!=0 || Arry_recordXY[i][j][1]!=0){gotoxy(Arry_recordXY[i][j][1],Arry_recordXY[i][j][0]);printf("  ");Arry_recordXY[i][j][0]=0x00;Arry_recordXY[i][j][1]=0x00;}}}
}//函数名&功能:方块初始化
//参数:x,y为坐标
//返回值:voidint initializationShape()
{int nType=0,i=0,j=0;srand( (unsigned)time( NULL ) );nType = rand() % 10;return nType;
}//函数名&功能:刷新显示方块边上的区域
//参数:x,y为坐标
//返回值:voidvoid ShowShape(char ary_shapel[][3][3],int nType,int *x, int *y,char Arry_recordXY[][3][2])
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(ary_shapel[nType][i][j]==Solid){if(i==0 && j==0 && (*x-1)>=0){//打印原点左边上方的点gotoxy((*y+*y-2),*x-1);printf("■");Arry_recordXY[i][j][0]=*x-1;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y-2;}else if(i==0 && j==1 && (*x-1)>=0){//打印原点上方的点gotoxy((*y+*y),*x-1);printf("■");Arry_recordXY[i][j][0]=*x-1;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y;}else if(i==0 && j==2 && (*x-1)>=0){//打印原点右边上方的点gotoxy((*y+*y+2),*x-1);printf("■");Arry_recordXY[i][j][0]=*x-1;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y+2;}else if(i==1 && j==0 && *x>=0){//打印原点左边的点gotoxy((*y+*y-2),*x);printf("■");Arry_recordXY[i][j][0]=*x;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y-2;}else if(i==1 && j==1 && *x>=0){gotoxy((*y+*y),*x);//打印原点printf("■");Arry_recordXY[i][j][0]=*x;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y;}else if(i==1 && j==2 && *x>=0){//打印原点右边的点gotoxy((*y+*y+2),*x);printf("■");Arry_recordXY[i][j][0]=*x;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y+2;}else if(i==2 && j==0 && (*x+1)>=0){//打印原点左边下方的点gotoxy((*y+*y-2),*x+1);printf("■");Arry_recordXY[i][j][0]=*x+1;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y-2;}else if(i==2 && j==1 && (*x+1)>=0){//打印原点下边的点gotoxy((*y+*y),*x+1);printf("■");Arry_recordXY[i][j][0]=*x+1;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y;}else if(i==2 && j==2 && (*x+1)>=0){//打印原点右边下方的点gotoxy((*y+*y)+2,*x+1);printf("■");Arry_recordXY[i][j][0]=*x+1;//记录要清除的点Arry_recordXY[i][j][1]=*y+*y+2;}}}}
}//函数名&功能:是否落地
//参数:x,y为坐标
//返回值:1为不落地,0为落地int isNotLandDown(char ary_Panel[][20],char ary_shapel[][3][3],int nType,int *x,int *y)
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(ary_shapel[nType][i][j]==Solid)//是否是实体{if(i==0 && j==0 ){//打印原点左边上方的点if(ary_Panel[*x-1+1][(*y-1)]==Wall || ary_Panel[*x-1+1][(*y-1)]==Landing){return 0;}}else if(i==0 && j==1 ){//打印原点上方的点if(ary_Panel[*x-1+1][(*y)]==Wall || ary_Panel[*x-1+1][(*y)]==Landing){return 0;}}else if(i==0 && j==2 ){//打印原点右边上方的点if(ary_Panel[*x-1+1][(*y+1)]==Wall || ary_Panel[*x-1+1][(*y+1)]==Landing){return 0;}}else if(i==1 && j==0 ){//打印原点左边的点if(ary_Panel[*x+1][(*y-1)]==Wall || ary_Panel[*x+1][(*y-1)]==Landing){return 0;}}else if(i==1 && j==1){if(ary_Panel[*x+1][(*y)]==Wall || ary_Panel[*x+1][(*y)]==Landing){return 0;}}else if(i==1 && j==2 ){//打印原点右边的点if(ary_Panel[*x+1][(*y+1)]==Wall || ary_Panel[*x+1][(*y+1)]==Landing){return 0;}}if(i==2 && j==0 ){//打印原点左边下方的点if(ary_Panel[*x+1+1][(*y-1)]==Wall || ary_Panel[*x+1+1][(*y-1)]==Landing){return 0;}}else if(i==2 && j==1 ){//打印原点下边的点if(ary_Panel[*x+1+1][*y]==Wall || ary_Panel[*x+1+1][*y]==Landing){return 0;}}else if(i==2 && j==2 ){//打印原点右边下方的点if(ary_Panel[*x+1+1][*y+1]==Wall || ary_Panel[*x+1+1][*y+1]==Landing){return 0;}}}}}return 1;
}//函数名&功能:设置落地的状态
//参数:
//返回值:voidvoid SetDownLandStatus(char ary_Panel[][20],char ary_shapel[][3][3],int nType,int x,int y)
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(ary_shapel[nType][i][j]==Solid)//是否是实体{if(i==0&&j==0){ary_Panel[x-1][y-1]=Landing;}else if(i==0&&j==1){ary_Panel[x-1][y]=Landing;}else if(i==0&&j==2){ary_Panel[x-1][y+1]=Landing;}else if(i==1&&j==0){ary_Panel[x][y-1]=Landing;}else if(i==1&&j==1){ary_Panel[x][y]=Landing;}else if(i==1&&j==2){ary_Panel[x][y+1]=Landing;}else if(i==2&&j==0){ary_Panel[x+1][y-1]=Landing;}else if(i==2&&j==1){ary_Panel[x+1][y]=Landing;}else if(i==2&&j==2){ary_Panel[x+1][y+1]=Landing;}}}}
}//函数名&功能:掉下
//参数:k为当前消除的行
//返回值:voidvoid DownRow(char ary_Panel[][20],int k)
{int i=0,j=0;for(k=k-1;k>=0;k--){for(j=1;j<19;j++){if(ary_Panel[k][j]==Landing){ary_Panel[k+1][j]=ary_Panel[k][j];ary_Panel[k][j]=Nop;}}}
}//函数名&功能:消除填满的行
//参数:
//返回值:1返回消行,0int  RemoveRow(char ary_Panel[][20],int x,int y)
{int i=0,j=0,isSolidRow=0;for(i=0;i<22;i++){for(j=1;j<19;j++){if(ary_Panel[i][j]==Nop)//是否满足消行?{isSolidRow=0;goto gotoNOP;}}for(j=1;j<19;j++){if(ary_Panel[i][j]==Landing)//是否满足消行?{isSolidRow=1;ary_Panel[i][j]=Nop;//消行;}}DownRow(ary_Panel,i);BrushsScreen(ary_Panel,x,y);//刷新屏gotoNOP:;}
}//函数名&功能:清记录的坐标
//参数:
//返回值:voidvoid Cls_Arry_recordXY(char Arry_recordXY[][3][2])
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){Arry_recordXY[i][j][0]=0x00;Arry_recordXY[i][j][1]=0x00;}}
}//函数名&功能:left是否发生碰撞
//参数:
//返回值:0发生碰撞int  isCollision_left(char ary_Panel[][20],char ary_shapel[][3][3] ,int x, int y,int nType)
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(ary_shapel[nType][i][j]==Solid)//是否是实体{if(i==0&&j==0){if(ary_Panel[x-1][y-1-1]==Landing || ary_Panel[x-1][y-1-1]==Wall){return 0;}}else if(i==0&&j==1){if(ary_Panel[x-1][y-1]==Landing || ary_Panel[x-1][y-1]==Wall){return 0;}}else if(i==0&&j==2){if(ary_Panel[x-1][y+1-1]==Landing || ary_Panel[x-1][y+1-1]==Wall){return 0;}}else if(i==1&&j==0){if(ary_Panel[x][y-1-1]==Landing || ary_Panel[x][y-1-1]==Wall){return 0;}}else if(i==1&&j==1){if(ary_Panel[x][y-1]==Landing || ary_Panel[x][y-1]==Wall){return 0;}}else if(i==1&&j==2){if(ary_Panel[x][y+1-1]==Landing || ary_Panel[x][y+1-1]==Wall){return 0;}}else if(i==2&&j==0){if(ary_Panel[x+1][y-1-1]==Landing || ary_Panel[x+1][y-1-1]==Wall){return 0;}}else if(i==2&&j==1){if(ary_Panel[x+1][y-1]==Landing || ary_Panel[x+1][y-1]==Wall){return 0;}}else if(i==2&&j==2){if(ary_Panel[x+1][y+1-1]==Landing || ary_Panel[x+1][y+1-1]==Wall){return 0;}}}}}return 1;
}//函数名&功能:翻转
//参数:
//返回值:void
//02=00	12=01
//22=02	21=12
//20=22	10=21
//00=20	01=10void Block_Turn(char ary_shapel[][3][3],int nType)
{char kk=0;int i=0,j=0,k=0;char cstr=0x00;cstr=ary_shapel[nType][0][2];ary_shapel[nType][0][2]=ary_shapel[nType][0][0];ary_shapel[nType][0][0]=ary_shapel[nType][2][0];ary_shapel[nType][2][0]=ary_shapel[nType][2][2];ary_shapel[nType][2][2]=cstr;cstr=ary_shapel[nType][1][2];ary_shapel[nType][1][2]=ary_shapel[nType][0][1];ary_shapel[nType][0][1]=ary_shapel[nType][1][0];ary_shapel[nType][1][0]=ary_shapel[nType][2][1];ary_shapel[nType][2][1]=cstr;
}//函数名&功能:key
//参数:
//返回值:voidchar key(int s)
{long t1, t2;char c;t1 = clock();dot2 = clock();while (((t2 - t1) < s) && !kbhit());if (kbhit()) {c = getch();} else {c = 0;}return c;
}//函数名&功能:是否能翻转
//参数:
//返回值:1能翻,0反之int isBlock_Turn(char ary_Panel[][20],char ary_shapel[][3][3],int nType,int x,int y)
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(i==0&&j==0){if(ary_Panel[x-1][y-1]==Landing||ary_Panel[x-1][y-1]==Wall){return 0;}}else if(i==0&&j==1){if(ary_Panel[x-1][y]==Landing||ary_Panel[x-1][y]==Wall){return 0;}}else if(i==0&&j==2){if(ary_Panel[x-1][y+1]==Landing||ary_Panel[x-1][y+1]==Wall){return 0;}}else if(i==1&&j==0){if(ary_Panel[x][y-1]==Landing||ary_Panel[x][y-1]==Wall){return 0;}}else if(i==1&&j==1){if(ary_Panel[x][y]==Landing||ary_Panel[x][y]==Wall){return 0;}}else if(i==1&&j==2){if(ary_Panel[x][y+1]==Landing||ary_Panel[x][y+1]==Wall){return 0;}}else if(i==2&&j==0){if(ary_Panel[x+1][y-1]==Landing||ary_Panel[x+1][y-1]==Wall){return 0;}}else if(i==2&&j==1){if(ary_Panel[x+1][y]==Landing||ary_Panel[x+1][y]==Wall){return 0;}}else if(i==2&&j==2){if(ary_Panel[x+1][y+1]==Landing||ary_Panel[x+1][y+1]==Wall){return 0;}}}}return 1;
}//函数名&功能:right是否发生碰撞
//参数:
//返回值:0发生碰撞int  isCollision_right(char ary_Panel[][20],char ary_shapel[][3][3] ,int x, int y,int nType)
{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if(ary_shapel[nType][i][j]==Solid)//是否是实体{if(i==0&&j==0){if(ary_Panel[x-1][y-1+1]==Landing || ary_Panel[x-1][y-1+1]==Wall){return 0;}}else if(i==0&&j==1){if(ary_Panel[x-1][y+1]==Landing || ary_Panel[x-1][y+1]==Wall){return 0;}}else if(i==0&&j==2){if(ary_Panel[x-1][y+1+1]==Landing || ary_Panel[x-1][y+1+1]==Wall){return 0;}}else if(i==1&&j==0){if(ary_Panel[x][y-1+1]==Landing || ary_Panel[x][y-1+1]==Wall){return 0;}}else if(i==1&&j==1){if(ary_Panel[x][y+1]==Landing || ary_Panel[x][y+1]==Wall){return 0;}}else if(i==1&&j==2){if(ary_Panel[x][y+1+1]==Landing || ary_Panel[x][y+1+1]==Wall){return 0;}}else if(i==2&&j==0){if(ary_Panel[x+1][y-1+1]==Landing || ary_Panel[x+1][y-1+1]==Wall){return 0;}}else if(i==2&&j==1){if(ary_Panel[x+1][y+1]==Landing || ary_Panel[x+1][y+1]==Wall){return 0;}}else if(i==2&&j==2){if(ary_Panel[x+1][y+1+1]==Landing || ary_Panel[x+1][y+1+1]==Wall){return 0;}}}}}return 1;
}//函数名&功能:游戏是否结束
//参数:
//返回值:1为结束,0反之int isGameOver(int x)
{if((x-1)<0){return 1;}return 0;
}//函数名&功能:游戏结束
//参数:
//返回值:1为结束,0反之void GameOver()
{system("cls");printf("Game over");
}//函数名&功能:暂停
//参数:
//返回值:void Stop()
{while(1){int chKey=0;chKey=key(200);if(chKey==0x20){break;}}
}//函数名&功能:可以下落的最大值
//参数:
//返回值:int maxDown(char ary_Panel[][20],char ary_shapel[][3][3],int nType,int x,int y)
{int x1=0;int i=0,j=0,k=0,z=0;while(1){if(ary_shapel[nType][2][0]==2){if(ary_Panel[x+1+1+x1][y-1]==0){i++;x1++;}else{break;}}else{break;}}x1=0;while(1){if(ary_shapel[nType][2][1]==2){if(ary_Panel[x+1+1+x1][y]==0){j++;x1++;}else{break;}}else{break;}}x1=0;while(1){if(ary_shapel[nType][2][2]==2){if(ary_Panel[x+1+1+x1][y+1]==0){k++;x1++;}else{break;}}else{break;}}z=i<=j?i:j;z=z<=k?z:k;return z;
}
#include<stdio.h>
#include"makehead.h"
#include<Windows.h>
#include<conio.h>int main()
{char ary_Panel[23][20]={0};char ary_shapel[ShapeType][3][3] = {//长条{{0, 2, 0},{0, 2, 0},{0, 2, 0}},//田字格{{2, 2, 2},{2, 2, 2},{2, 2, 2}},//L形{{0, 2, 0},{0, 2, 0},{0, 2, 2}},//L2形{{0, 2, 0},{0, 2, 0},{2, 2, 0}},//Z形{{0, 0, 0},{2, 2, 0},{0, 2, 2}},//Z2形{{0, 0, 0},{0, 2, 2},{2, 2, 0}},//T形{{2, 2, 2},{0, 2, 0},{0, 2, 0}},//小M形{{0, 0, 0},{2, 2, 2},{2, 0, 2}},//大M形{{2, 2, 2},{2, 0, 2},{2, 0, 2}},//大I形{{2, 3, 2},{2, 2, 2},{2, 0, 2}}};int i=0,j=0,chKey=0,nType=0;//初始化坐标int x=0,y=10;//方块的初始化坐标char Arry_recordXY[3][3][2]={0};
Gamestrat:i=Makepanel(ary_Panel) ;//显示主界面nType=initializationShape();//初始化方块的形状//nType=3;while(1){BrushsScreen2(Arry_recordXY);ShowShape(ary_shapel,nType,&x,&y,Arry_recordXY);//刷新显示方块边上的区域chKey=key(200);//if(_kbhit())if(chKey){//得到键盘输入//chKey= _getch() ;switch(chKey){case 'w'://翻转if(isBlock_Turn(ary_Panel,ary_shapel,nType,x,y)){Block_Turn(ary_shapel,nType);}break;case 's'://向下if(isNotLandDown(ary_Panel,ary_shapel,nType,&x,&y)){//x=x+maxDown(ary_Panel,ary_shapel,nType,x,y);x++;}break;case 'a'://向左if(isCollision_left(ary_Panel,ary_shapel,x,y,nType)){y--;}break;case 'd'://向右if(isCollision_right(ary_Panel,ary_shapel,x,y,nType)){y++;}break;case 0x20://暂停Stop();break;}chKey=0;}BrushsScreen2(Arry_recordXY);ShowShape(ary_shapel,nType,&x,&y,Arry_recordXY);//刷新显示方块边上的区域if(isNotLandDown(ary_Panel,ary_shapel,nType,&x,&y))//是否落地{x++;//方块自然下落Sleep(100);}else{if(isGameOver(x))//游戏是否失败{GameOver();goto gotoGameOver;}Cls_Arry_recordXY(Arry_recordXY);//清除记录的坐标SetDownLandStatus(ary_Panel,ary_shapel,nType,x,y);//设置落地的状态nType=initializationShape();//初始化方块的形状//nType=3;x=0;y=10;//方块的初始化坐标}RemoveRow(ary_Panel);//消除填满的行}
gotoGameOver:return 0;
}

转载于:https://www.cnblogs.com/baihelianzi/archive/2011/09/06/2169169.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

放松时刻——C#分割字符串

让我们来练习一下字符串的分割~把话倒过来说&#xff1a; private void change_button_Click(object sender, EventArgs e) {var after_text before_TextBox.Text?.Select(x>x.ToString()).ToArray();string result "";for (int i after_text.Length - 1; i &…

cmd 调用JLink.exe 下载程序

1、新建download.jlink脚本 loadbin "D:\Data\ARM\vstestPro\vscode_cubemx_testLED.bin" 0x08000000 r g qc 脚本指明待下载的bin文件位置&#xff0c;指明下载的FLash起始地址。 2、调用jlink 下载bin程序 "C:\Program Files (x86)\SEGGER\JLink_V502c\JL…

黑马程序员---JVM内存组成

java把内存分两种&#xff1a;一种是栈内存&#xff0c;另一种是堆内存1。在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配&#xff1b;2。堆内存用来存放由 new创建的对象和数组在函数&#xff08;代码块&#xff09;中定义一个变量时&#xff0c; java就在…

使用WCF建立起Silverlight客户端与服务端的桥梁

最近正在开发一个项目&#xff0c;需要应用到Silverlight以及数据库。在正式开工之前需要掌握将数据从服务端送到客户端的技术&#xff0c;我们采用建立WCF服务的方法。 “做中学”是最好的学习方法&#xff0c;真正实践之后学习者将会有更多的自信和把握&#xff0c;这种感觉将…

[react] <div onClick={handlerClick}>单击</div>和<div onClick={handlerClick(1)}>单击</div>有什么区别?

[react] <div onClick{handlerClick}>单击</div>和<div onClick{handlerClick(1)}>单击</div>有什么区别&#xff1f; 绑定函数有三种方法 1、constructor绑定constructor(props) {super(props);this.handleClick this.handleClick.bind(this); //构…

我的AutoHotkey配置

关键配置&#xff1a; #IfWinActive ^L:: {WinGetClass, active_class, AIfInString, active_class, Afx:400000:8:Send !{Del}elseSend ^L } return #IfWinActive#IfWinActive F4:: {WinGetClass, sClass, Aif (sClass"Chrome_WidgetWin_1" or sClass"MozillaW…

[react] 怎么防止HTML被转义?

[react] 怎么防止HTML被转义&#xff1f; <h1 dangerouslySetInnerHTML{{__html: cc © 2015}}></h1> 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

如何用脚本可靠关闭一个linux服务或进程

一、脚本样例 以quectel的EC20模组关闭ppp拨号服务脚本为例&#xff0c;以下为脚本源码&#xff1a; #!/bin/sh timeout5 killall -15 pppd sleep 1 killall -0 pppd while [ $? -eq 0 ] dotimeoutexpr $timeout - 1if [ $timeout -eq 0 ]thenexit 1fisleep 1killall -0 ppp…

myeclipse8.5安装反编译工具

1.下载最新的jad.exe应用程序 2.下载net.sf.jadclipse_3.3.0.jar&#xff0c;在myeclipse8.5安装的文件夹中创建一个文件夹如jad&#xff0c;在jad文件夹中建立一个文件夹plugin&#xff0c;将下载的net.sf.jadclipse_3.3.0.jar文件放到新建的plugin文件中 3.在myeclipse8.5安…

C++中include 与 include 的区别

<>时先去系统目录中找头文件&#xff0c;如果没有再到当前目录下找。所以像标准的头文件 stdio.h, stdlib.h等都用<>;""则首先到当前目录下找&#xff0c;如果找不到再到系统目录下找。当include自定义的头文件时&#xff0c;优先使用“”。转载于:https…

hdparm命令详解

hdparm命令详解--------------------http://www.linuxsir.org/bbs/showthread.php?p175167hdparm 功能&#xff1a;获取/设置硬盘参数语法&#xff1a;hdparm [参数] [设备名] ..说明(英文不太好&#xff0c;就不在此献丑啦&#xff0c;麻烦英文好的兄弟翻译一下)&#xff1a;…

[react] 请说下react组件更新的机制是什么

[react] 请说下react组件更新的机制是什么 靠事务批量更新 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

vscode 新建python 终端

ctrlshiftp 输入python&#xff0c; 选择Python:创建终端

linux的strace命令(详解)

linux的strace命令(详解)本文详细讲述linux下的strace命令的用法。 strace 命令是一种强大的工具&#xff0c;它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息&#xff0c;而且不需要以任何特殊的方式来构建…

UVA-11536 Smallest Sub-Array

题目大意&#xff1a;给出一个有n个数的序列&#xff0c;找出最短的涵盖1~k之间所有整数的连续区间。 题目分析&#xff1a;扫描一遍序列&#xff0c;维护head、tail两个位置。要注意&#xff0c;最短的区间上两端的数一定[1,k]上。 代码如下&#xff1a; # include<iostrea…

[react] 你有用过哪些React的UI库?它们的优缺点分别是什么

[react] 你有用过哪些React的UI库&#xff1f;它们的优缺点分别是什么 antd ui 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

display:inline-block的深入理解

在使用CSS实现表现的时候&#xff0c;会经常接触到display:inline-block这一属性&#xff0c;无论是初接触Web标准还是接触标准已久的朋友&#xff0c;大都会对这一属性感觉很迷惑和模糊。 display:inline-block 引用:将对象呈递为内联对象&#xff0c;但是对象的内容作为块对象…

Ubuntu下安装nfs服务

From: http://blog.csdn.net/shawnrong/article/details/1656668 1. sudo apt-get install nfs-kernel-server 会自动安装nfs-common和portmap 2. 配置portmap: 2.1. 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉. 2.2. 配置/etc/hosts.deny&#xff0c;禁止任何…