diff --git a/hanoi b/hanoi new file mode 100644 index 00000000..ca5f17b8 --- /dev/null +++ b/hanoi @@ -0,0 +1,18 @@ +#include +void move(int n,int x,int y,int z) +{ + if(n==1) + { + move(n-1,x,z,y); + printf("%c->%c\n",x,z); + move(n-1,y,x,z); + } +} +void main() +{ + int h; + printf("\ninputnumber:\n"); + scanf("%d",&h); + printf("the step to moving %2d diskes:\n",h); + move(h,'a','b','c'); +} diff --git a/practices/c/level0/10000 he.c b/practices/c/level0/10000 he.c new file mode 100644 index 00000000..df7dfdca --- /dev/null +++ b/practices/c/level0/10000 he.c @@ -0,0 +1,10 @@ +#include + +void main() +{ + int i; + for(i=1;i<=10000;i++) + { + printf("hello "); + } + } diff --git a/practices/c/level0/2.c b/practices/c/level0/2.c new file mode 100644 index 00000000..607aa76f --- /dev/null +++ b/practices/c/level0/2.c @@ -0,0 +1,10 @@ +#include + +void main() +{ + int a; + for(a=2;a<=100;a=a+2) + { + printf("%d ",a); + } + } diff --git a/practices/c/level0/3 and 5.c b/practices/c/level0/3 and 5.c new file mode 100644 index 00000000..66df4b65 --- /dev/null +++ b/practices/c/level0/3 and 5.c @@ -0,0 +1,10 @@ +#include +void main() +{ + int a; + for(a=1;a<=100;a++) + { + if(a%3==0&&a%5!=0) + printf("%d\n",a); + } +} diff --git a/practices/c/level0/3 num.c b/practices/c/level0/3 num.c new file mode 100644 index 00000000..010a04e7 --- /dev/null +++ b/practices/c/level0/3 num.c @@ -0,0 +1,30 @@ +#include + +void main() +{ + int a,b,c; + printf("ÊäÈëÈý¸öÊý£º"); + scanf("%d %d %d",&a,&b,&c); + if(a>b) + { + if(a>c) + { + printf("×î´óµÄΪ%d",a); + } + else + { + printf("×î´óµÄΪ%d",c); + } + } + else + { + if(b + +void main() +{ + int a[5]; + printf("ÊäÈë5¸öÊý"); + int i,b; + for(i=1;i<=5;i++) + { + scanf("%d",&a[i]); + } + printf("ûÓгöÏÖµÄÊýΪ"); + for(b=0;b<=9;b++) + { + if(b!=a[1]&&b!=a[2]&&b!=a[3]&&b!=a[4]&&b!=a[5]) + { + printf("%d",a[i]); + } + } +} diff --git a/practices/c/level0/99.c b/practices/c/level0/99.c new file mode 100644 index 00000000..8dc1780e --- /dev/null +++ b/practices/c/level0/99.c @@ -0,0 +1,23 @@ +#include + +void main() +{ + int a,b,c; + printf(" *"); + for(a=1;a<=9;a++) + { + printf("%4d",a); + } + printf("\n"); + for(a=1;a<=9;a++) + { + printf("%4d",a); + for(b=1;b<=a;b++) + { + c=a*b; + printf("%4d",c); + } + printf("\n"); + } + +} diff --git a/practices/c/level0/about 7.c b/practices/c/level0/about 7.c new file mode 100644 index 00000000..83c65543 --- /dev/null +++ b/practices/c/level0/about 7.c @@ -0,0 +1,13 @@ +#include + +void main() +{ + int a; + for(a=1;a<+100;a++) + { + if(a%7==0||a%10==7) + { + printf("%d\n",a); + } + } + } diff --git a/practices/c/level0/compare 5.c b/practices/c/level0/compare 5.c new file mode 100644 index 00000000..acbd14af --- /dev/null +++ b/practices/c/level0/compare 5.c @@ -0,0 +1,24 @@ +#include + +void main() +{ + int a,b,k; + const n=5; + int i[n]; + printf("ÊäÈë5¸öÊý£º\n"); + for(a=1;a<=n;a++) + { + printf("i[%d]=",a); + scanf("%d",&i[a]); + } + for(a=1;ai[b+1]) + { + k=i[b]; + i[b]=i[b+1]; + i[b+1]=k; + } + for(a=1;a<=n;a++) + printf("%d\n",i[a]); + } diff --git a/practices/c/level0/jiecheng.c b/practices/c/level0/jiecheng.c new file mode 100644 index 00000000..d2ac9e2a --- /dev/null +++ b/practices/c/level0/jiecheng.c @@ -0,0 +1,21 @@ +#include + +int jc(int a) +{ + int b=1,i; + for(i=1;i<=a;i++) + { + b*=i; + } + return b; + } +void main() + +{ + int x,y; + printf("¨º?¨¨???¨ºy¡êo"); + scanf("%d",&x); + y=jc(x); + printf("jc=%d",y); +} + diff --git a/practices/c/level0/nixu.c b/practices/c/level0/nixu.c new file mode 100644 index 00000000..99e5324b --- /dev/null +++ b/practices/c/level0/nixu.c @@ -0,0 +1,39 @@ +#include +#include + +int main() +{ + int n=0; + printf("nÊÇ:"); + scanf("%d",&n); + int* p; + int i=0; + int m=0; + p=(int*)malloc(n*sizeof(int)); + printf("ÊäÈëÊý¾Ý:\n"); + for(i=0;i +int main() +{ + int a; + printf("ÊäÈëÄê·Ý£º"); + scanf("%d",&a); + if(a%400==0||a%100!=0&&a%4==0) + { + printf("aΪÈòÄê"); + } + else + { + printf("a²»ÎªÈòÄê"); + } +} diff --git a/practices/c/level0/zhijiao.c b/practices/c/level0/zhijiao.c new file mode 100644 index 00000000..e124d1ef --- /dev/null +++ b/practices/c/level0/zhijiao.c @@ -0,0 +1,41 @@ +#include + +double zj(float a,float b,float c) +{ + float d; + if(a +#include + +/* run this program using the console pauser or add your own getch, system("pause") or input loop */ + +int main(int argc, char *argv[]) +{ + + printf("add:1£¬decode:2£º"); + int choose; + scanf("%d",&choose); + if(choose==1) + { + char add[30],*a; + a=add; + printf("add£º"); + scanf("%s",add); + while(*a!='\0') + { + *a=*a+'B'-'m'; + a++; + } + printf("%s",add); + } + + else if(choose==2) + { + char decode[30],*b; + b=decode; + printf("decode£º"); + scanf("%s",decode); + while(*b!='\0') + { + *b=*b+'m'-'B'; + b++; + } + printf("%s",decode); + } + + else + { + printf("error"); + } + return 0; +} diff --git a/practices/c/level1/age.c b/practices/c/level1/age.c new file mode 100644 index 00000000..f8008525 --- /dev/null +++ b/practices/c/level1/age.c @@ -0,0 +1,18 @@ +#include +int main() +{ + int life,tn,qn,ds,son; + printf("age may be£º"); + for(life=1;life++;life<=100) + { + tn=life/6; + qn=life/12; + ds=life/7; + son=life/2; + + if(life==tn+qn+ds+5+son+4&&life%84==0) + { + printf("%d",life); + } + } +} diff --git a/practices/c/level1/all primes.c b/practices/c/level1/all primes.c new file mode 100644 index 00000000..021c05b2 --- /dev/null +++ b/practices/c/level1/all primes.c @@ -0,0 +1,19 @@ +#include +int main() +{ + int a,b,c; + printf("primes from 2-1000£º2\t"); + for(a=3;a<=1000;a++) + { + c=0; + for(b=2;b +int sushu(int a) +{ + int b, c=0; + for(b=2;b +void move(int n,int x,int y,int z) +{ + if(n==1) + { + move(n-1,x,z,y); + printf("%c->%c\n",x,z); + move(n-1,y,x,z); + } +} +void main() +{ + int h; + printf("\ninputnumber:\n"); + scanf("%d",&h); + printf("the step to moving %2d diskes:\n",h); + move(h,'a','b','c'); +} diff --git a/practices/c/level1/hanoi.c b/practices/c/level1/hanoi.c new file mode 100644 index 00000000..78a1e2a5 --- /dev/null +++ b/practices/c/level1/hanoi.c @@ -0,0 +1,23 @@ +#include + +void move(int n,int x,int y,int z) +{ + if(n==1) + { + printf("%c->%c\n",x,z); + } + else + { + move(n-1,x,z,y); + printf("%c->%c\n",x,z); + move(n-1,y,x,z); + } +} +void main() +{ + int h; + printf("\ninputnumber:\n"); + scanf("%d",&h); + printf("the step to moving %2d diskes:\n",h); + move(h,'a','b','c'); +} diff --git a/practices/c/level1/is prime.c b/practices/c/level1/is prime.c new file mode 100644 index 00000000..db926e30 --- /dev/null +++ b/practices/c/level1/is prime.c @@ -0,0 +1,21 @@ +#include +int main() +{ + int a,i,b; + b=0; + printf("print the letter£º"); + scanf("%d",&a); + for(i=2;i +#include + +char map[6][6]; +int X,Y,M,N; + +void move(char i) +{ + if(i=='w') + { + if(map[M-1][N]!='*') + { + map[M][N]=' '; + M--; + map[M][N]='A'; + } + } + else if(i=='s') + { + if(map[M+1][N]!='*') + { + map[M][N]=' '; + M++; + map[M][N]='A'; + } + } + else if(i=='a') + { + if(map[M][N-1]!='*') + { + map[M][N]=' '; + N--; + map[M][N]='A'; + } + } + else if(i=='d') + { + if(map[M][N+1]!='*') + { + map[M][N]=' '; + N++; + map[M][N]='A'; + } + } + +} + +void main() +{ + for(X=0;X<6;X++) + { + for(Y=0;Y<6;Y++) + { + map[X][Y]=' '; + } + } + M=0,N=1; + map[M][N]='A'; + + for(Y=0;Y<6;Y++) + { + if(Y!=1) + { + map[0][Y]='*'; + } + } + + for(Y=0;Y<6;Y++) + { + if(Y!=1&&Y!=2) + { + map[1][Y]='*'; + } + } + + for(Y=0;Y<6;Y++) + { + if(Y!=2&&Y!=3) + { + map[2][Y]='*'; + } + } + + for(Y=0;Y<6;Y++) + { + if(Y!=1&&Y!=2) + { + map[3][Y]='*'; + } + } + + + + + for(Y=0;Y<6;Y++) + { + if(Y!=2&&Y!=3) + { + map[4][Y]='*'; + } + } + + for(Y=0;Y<6;Y++) + { + if(Y!=3) + { + map[5][Y]='*'; + } + } + map[5][3]='x'; + + int m,n; + char i; + for(m=0;m<6;m++) + { + for(n=0;n<6;n++) + { + printf("%c",map[m][n]); + } + printf("\n"); + } + while(map[5][3]!='A') + { + scanf("%c",&i); + move(i); + system("cls"); + for(m=0;m<6;m++) + { + for(n=0;n<6;n++) + { + printf("%c",map[m][n]); + } + printf("\n"); + } + + } + printf("nice!"); +} diff --git a/practices/c/level1/narcissus.c b/practices/c/level1/narcissus.c new file mode 100644 index 00000000..507ebd6f --- /dev/null +++ b/practices/c/level1/narcissus.c @@ -0,0 +1,17 @@ +#include +int main() +{ + int shuixianhua,bai,shi,ge; + printf("the narcissus£º"); + for(shuixianhua=100;shuixianhua<1000;shuixianhua++) + { + bai=shuixianhua/100; + shi=(shuixianhua-100*bai)/10; + ge=shuixianhua%10; + + if(shuixianhua==ge*ge*ge+shi*shi*shi+bai*bai*bai) + { + printf("%d\t",shuixianhua); + } + } +} diff --git a/practices/c/level1/new level 1 b/practices/c/level1/new level 1 new file mode 100644 index 00000000..1e832730 --- /dev/null +++ b/practices/c/level1/new level 1 @@ -0,0 +1,225 @@ +#include +#include + +/* run this program using the console pauser or add your own getch, system("pause") or input loop */ + +int main(int argc, char *argv[]) +{ + + printf("add:1,decode:2:"); + int choose; + scanf("%d",&choose); + if(choose==1) + { + char add[30],*a; + a=add; + printf("add:"); + scanf("%s",add); + while(*a!='\0') + { + *a=*a+'B'-'m'; + a++; + } + printf("%s",add); + } + + else if(choose==2) + { + char decode[30],*b; + b=decode; + printf("decode:"); + scanf("%s",decode); + while(*b!='\0') + { + *b=*b+'m'-'B'; + b++; + } + printf("%s",decode); + } + + else + { + printf("error"); + } + return 0; +} + + + +#include +int main() +{ + int life,tn,qn,ds,son; + printf("age may be:"); + for(life=1;life++;life<=100) + { + tn=life/6; + qn=life/12; + ds=life/7; + son=life/2; + + if(life==tn+qn+ds+5+son+4&&life%84==0) + { + printf("%d",life); + } + } +} + + + +#include +int main() +{ + int a,b,c; + printf("primes from 2-1000:2\t"); + for(a=3;a<=1000;a++) + { + c=0; + for(b=2;b +int sushu(int a) +{ + int b, c=0; + for(b=2;b + +void move(int n,int x,int y,int z) +{ + if(n==1) + { + printf("%c->%c\n",x,z); + } + else + { + move(n-1,x,z,y); + printf("%c->%c\n",x,z); + move(n-1,y,x,z); + } +} +void main() +{ + int h; + printf("\ninputnumber:\n"); + scanf("%d",&h); + printf("the step to moving %2d diskes:\n",h); + move(h,'a','b','c'); +} + + + +#include +int main() +{ + int a,i,b; + b=0; + printf("print the letter:"); + scanf("%d",&a); + for(i=2;i +int main() +{ + int shuixianhua,bai,shi,ge; + printf("the narcissus:"); + for(shuixianhua=100;shuixianhua<1000;shuixianhua++) + { + bai=shuixianhua/100; + shi=(shuixianhua-100*bai)/10; + ge=shuixianhua%10; + + if(shuixianhua==ge*ge*ge+shi*shi*shi+bai*bai*bai) + { + printf("%d\t",shuixianhua); + } + } +} + + + +#include +#include + +int main() +{ + int i,j; + for (i=0;i<31;i++) + { + system("cls"); + for(j=0;j= 0;i--) + { + system("cls"); + for(j=0; j +#include + +int main() +{ + int i,j; + for (i=0;i<31;i++) + { + system("cls"); + for(j=0;j= 0;i--) + { + system("cls"); + for(j=0; j +#include + +class Bigen +{ + public: + sf::Sprite convex; + sf::Texture pic; + int statement=0; + int blood; + sf::FloatRect Bigenbounding; + + Bigen() + { + + pic.loadFromFile("big.png"); + convex.setTexture(pic); + } +}; diff --git a/practices/cpp/level1/bigbullet b/practices/cpp/level1/bigbullet new file mode 100644 index 00000000..7c2a8822 --- /dev/null +++ b/practices/cpp/level1/bigbullet @@ -0,0 +1,18 @@ +#include +#include + + +class Bigbullet +{ + public: + sf::Sprite shape; + sf::Texture pic; + int statement=0; + sf::FloatRect Bigbulletbounding; + Bigbullet() + { + pic.loadFromFile("star.png"); + shape.setTexture(pic); + } +}; + diff --git a/practices/cpp/level1/canvas b/practices/cpp/level1/canvas new file mode 100644 index 00000000..0dcbc04c --- /dev/null +++ b/practices/cpp/level1/canvas @@ -0,0 +1,81 @@ +#include +using namespace std; +#include "Shape.h" +#include "Canvas.h" + + +Canvas::Canvas() +{ + Shape* data[20]={0}; + num=0; +} +void Canvas::add(Shape* shape_0) +{ + data[num]=shape_0; + num++; +} +void Canvas::showall() +{ + for(int i=1;i<=num;i++) + { + data[i]->show();#ifndef CIRCLE_H +#define CIRCLE_H + +class Circle :public Shape +{ + public: + void add();#include +using namespace std; +#include "Shape.h" +#include "Circle.h" +#include "Rect.h" +#include "Canvas.h" + +/* run this program using the console pauser or add your own getch, system("pause") or input loop */ + +int main(int argc, char** argv) { + Canvas canvas; + Shape shape; + Circle circle; + Rect rect; + canvas.showall(); + rect.add(); + circle.add(); + #ifndef RECT_H +#define RECT_H + +class Rect :public Shape +{ + public: + void add(); + virtual void show(); + protected: + int a,b,c,d; +};#ifndef SHAPE_H +#define SHAPE_H + +class Shape +{ + public: + virtual void show(){}; + protected: + +}; + +#endif + + +#endif + + return 0; +} + + virtual void show(); + protected: + int x,y,r; +}; + +#endif + + } +} diff --git a/practices/cpp/level1/circuit b/practices/cpp/level1/circuit new file mode 100644 index 00000000..9d462bc5 --- /dev/null +++ b/practices/cpp/level1/circuit @@ -0,0 +1,96 @@ +#include +#include "circuit.h" +using namespace std; + +void PowerOn::Circuit() +{ + Allstate=1; +} + +void PowerOff::Circuit() +{ + Allstate=0; +} + +void ShowState() +{ + printf("��״̬Ϊ%d",Allstate); +} + +void On::Fan() +{#include +using namespace std; + +class Circuit +{ + public: + int Allstate; + void PowerOn(); + void PowerOff(); + void ShowState(); +}; + +class Item +{ + public: + int num; +}; + +class Fan:public Item +{ + public: + int state; + void On(); + void AddFan(); +}; + +class Lamp:public Item +{ + public: + int state; + void On(); + void AddLamp(); +}; + + state=1; +} + +void AddFan::Fan() +{ + num++; +} + +void On::Lamp() +{ + state=1; +} + +void AddLamp::Lamp() +{ + num++; +} + + +#include +#include "circuit.h" +using namespace std; + +/* run this program using the console pauser or add your own getch, system("pause") or input loop */ + +int main(int argc, char** argv) +{ + Circuit Onecircuit; + Item item[10]; + Fan Myfan; + Lamp Mylamp; + + Onecircuit.PowerOn(); + Myfan.AddFan(); + Mylamp.AddLamp(); + + Myfan.On(); + Mylamp.On(); + + Onecircuit.PowerOff(); + return 0; +} diff --git a/practices/cpp/level1/enemy b/practices/cpp/level1/enemy new file mode 100644 index 00000000..306e36f6 --- /dev/null +++ b/practices/cpp/level1/enemy @@ -0,0 +1,16 @@ +#include +#include + +class Enemy +{ + public: + sf::Texture pic; + sf::Sprite convex; + int statement=0; + + Enemy() + { + pic.loadFromFile("enemy.png"); + convex.setTexture(pic); + } +}; diff --git a/practices/cpp/level1/fighter bullet b/practices/cpp/level1/fighter bullet new file mode 100644 index 00000000..06e866d9 --- /dev/null +++ b/practices/cpp/level1/fighter bullet @@ -0,0 +1,21 @@ +#include +#include + +class Bullet +{ + public: + sf::ConvexShape convex; + + int statement=0; + + Bullet() + { + convex.setPointCount(5); + convex.setPoint(0, sf::Vector2f(5, 0)); + convex.setPoint(1, sf::Vector2f(0, 5)); + convex.setPoint(2, sf::Vector2f(0, 20)); + convex.setPoint(3, sf::Vector2f(10, 20)); + convex.setPoint(4, sf::Vector2f(10, 5)); + } + +}; diff --git a/practices/cpp/level1/fighter main b/practices/cpp/level1/fighter main new file mode 100644 index 00000000..bd3f1ba7 --- /dev/null +++ b/practices/cpp/level1/fighter main @@ -0,0 +1,901 @@ +#include +#include +#include +#include "music.h" +#include "plane.h" +#include "enemy.h" +#include "menu.h" +#include "enbullet.h" +#include +#include +#include +#include "small.h" +#include "big.h" +#include "bigbullet.h" +#include "gift.h" +#include "super.h" + + +std::string Int_to_String(int n) +{ + std::stringstream ss; + ss<move(-4,0); + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) + { + thing->move(4,0); + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) + { + thing->move(0,-4); + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) + { + thing->move(0,4); + } +} + + + +int main() +{ + + sf::RenderWindow window(sf::VideoMode(1000,800), "play plane"); + window.setFramerateLimit(60); + double const pi=3.1415926; + + + + //���� + Music mymusic; + mymusic.play(); + + //���� + sf::Texture a; + sf::Sprite b; + a.loadFromFile("bg2.png"); + b.setTexture(a); + + //�ɻ� + sf::Texture texture; + sf::Sprite self; + texture.loadFromFile("feiji1.png"); + self.setTexture(texture); + int myblood=100; + int energy=0; + + //�ӵ� + Bullet mybullet[200]; + + //�л� + Enemy enemy[100]; + int ennum=0; + + //СBOSS + Smallen small[100]; + int smallnum=0; + + //��BOSS + Bigen big; + + //�л��ӵ� + Enbullet enbullet[200]; + + //СBOSS�ӵ� + Enbullet smbullet1[200]; + Enbullet smbullet2[200]; + Enbullet smbullet3[200]; + + //��BOSS�ӵ� + Bigbullet bigbullet[100][9]; + + //���� + Gift gift; + + //�ɻ����� + Super super[25]; + + //��ʼλ�� + self.setOrigin(50,50); + self.setPosition(500,750); + + int key=1; + + //ʱ�� + sf::Clock clock1;//����� + sf::Clock clock2;//�ӵ��ٶ� + sf::Clock clock3;//�л��ٶ� + sf::Clock clock4;//�ӵ�Ƶ�� + sf::Clock clock5;//�о��ӵ�Ƶ�� + sf::Clock clock6;//�о��ӵ��ٶ� + sf::Clock clock7;//СBOSS�ٶ� + sf::Clock clock8;//СBOSS�ӵ� + sf::Clock clock9;//СBOSS�ӵ��ٶ� + sf::Clock clock10;//��BOSS�ٶ� + sf::Clock clock11;//��BOSS�ӵ� + sf::Clock clock12;//��BOSS�ӵ��ٶ� + sf::Clock clock13;//���Ʒɻ��ƶ� + sf::Clock clock14;//Ѫ������Ƶ�� + + + //BLOOD��ʾ + sf::Font font; + font.loadFromFile("Arial.ttf"); + + sf::Text blood; + blood.setFont(font);//���� + blood.setString("Blood"); + blood.setCharacterSize(18); + blood.setFillColor(sf::Color::Red); + blood.setStyle(sf::Text::Bold); + blood.setPosition(10,700); + + //Ѫ����ʾ + sf::RectangleShape rectangle(sf::Vector2f(12, 5)); + + //��������ʾ + sf::RectangleShape energyshape(sf::Vector2f(12, 5)); + + //�Ʒ� + double score=0; + + + sf::Text showscore; + showscore.setFont(font);//���� + + showscore.setCharacterSize(18); + showscore.setFillColor(sf::Color::Red); + showscore.setStyle(sf::Text::Bold); + showscore.setPosition(10,720); + + + + while (window.isOpen()) + { + sf::Event event; + while (window.pollEvent(event)) + { + if (event.type == sf::Event::Closed) + { + window.close(); + } + + //���ӵ� + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Space)) + { + sf::Time elapsed4 = clock4.getElapsedTime(); + if(elapsed4.asSeconds()>=0.2) + { + for(int i=0;i<200;i++) + { + if(mybullet[i].statement==0) + { + mybullet[i].convex.setPosition(self.getPosition()); + mybullet[i].convex.move(0,-60); + mybullet[i].convex.move(-13,0); + mybullet[i].statement=1; + break; + } + + } + clock4.restart(); + } + + }//���ӵ� + }// while event + //���ɻ� + if(self.getPosition().x>42&&self.getPosition().x<958&&self.getPosition().y>52&&self.getPosition().y<800) + { + move(&self); + }//���ɻ� + + + + //����� + sf::Time elapsed1 = clock1.getElapsedTime(); + + if(elapsed1.asSeconds()>=1.2) + { + for(int i=0;i<100;i++) + { + if(enemy[i].statement==0) + { + enemy[i].convex.setPosition(100+rand()%600,0); + enemy[i].statement=1; + ennum++; + break; + } + } + clock1.restart(); + } + + + sf::Time elapsed3 = clock3.getElapsedTime(); + + if(elapsed3.asSeconds()>=0.02) + { + for(int i=0;i<100;i++) + { + if(enemy[i].statement==1) + { + enemy[i].convex.move(0,2); + } + if(enemy[i].convex.getPosition().y>800) + { + enemy[i].statement=0; + } + } + clock3.restart(); + } + //����� + + //СBOSS�������� + + if(ennum%15==0&&ennum>0) + { + for(int i=0;i<100;i++) + { + if(small[i].statement==0) + { + small[i].convex.setPosition(100+rand()%600,0); + small[i].statement=1; + small[i].blood=6; + smallnum++; + break; + } + break; + } + } + + //�ƶ�СBOSS + sf::Time elapsed7 = clock7.getElapsedTime(); + + if(elapsed7.asSeconds()>=0.02) + { + for(int i=0;i<100;i++) + { + if(small[i].statement==1) + { + small[i].convex.move(0,0.5); + } + if(small[i].convex.getPosition().y>800) + { + small[i].statement=0; + } + } + clock7.restart(); + } + //СBOSS���� + + //��BOSS���� + if(smallnum==6&&big.statement==0) + { + big.convex.setPosition(410,-180); + big.statement=1; + big.blood=50; + } + + //�ƶ���BOSS + sf::Time elapsed10 = clock10.getElapsedTime(); + + if(elapsed10.asSeconds()>=0.02) + { + if(big.statement==1) + { + big.convex.move(0,0.1); + } + clock10.restart(); + } + + + //�ɻ��ӵ��ٶȴ��� + sf::Time elapsed2 = clock2.getElapsedTime(); + + if(elapsed2.asSeconds()>=0.02) + { + for(int i=0;i<200;i++) + { + if(mybullet[i].statement==1) + { + mybullet[i].convex.move(0,-8); + + } + + if(mybullet[i].convex.getPosition().y<-20) + { + mybullet[i].statement=0; + } + + } + clock2.restart(); + } + //�ɻ��ӵ��ٶȴ��� + + //�л��ӵ����� + + //�����о��ӵ� + sf::Time elapsed5 = clock5.getElapsedTime(); + + if(elapsed5.asSeconds()>=1.5) + { + clock5.restart(); + if(rand()%2) + { + for(int i=0;i<100;i++) + { + if(enemy[i].statement==1) + { + for(int m=0;m<200;m++) + { + if(smbullet1[m].statement==0) + { + smbullet1[m].shape.setPosition(enemy[i].convex.getPosition()); + smbullet1[m].shape.move(22,70); + smbullet1[m].statement=1; + break; + } + } + + } + } + } + + } + + //�о��ӵ��ٶ� + sf::Time elapsed6 = clock6.getElapsedTime(); + + if(elapsed6.asSeconds()>=0.02) + { + for(int i=0;i<200;i++) + { + if(enbullet[i].statement==1) + { + enbullet[i].shape.move(0,3); + + } + + if(enbullet[i].shape.getPosition().y>800) + { + enbullet[i].statement=0; + } + + } + clock6.restart(); + } + + //����СBOSS�ӵ� + sf::Time elapsed8 = clock8.getElapsedTime(); + + if(elapsed8.asSeconds()>=1.5) + { + clock8.restart(); + if(rand()%3) + { + for(int i=0;i<100;i++) + { + if(small[i].statement==1) + { + for(int m=0;m<200;m++) + { + if(smbullet1[m].statement==0) + { + smbullet1[m].shape.setPosition(small[i].convex.getPosition()); + smbullet1[m].shape.move(50,120); + smbullet1[m].statement=1; + break; + } + } + for(int m=0;m<200;m++) + { + if(smbullet2[m].statement==0) + { + smbullet2[m].shape.setPosition(small[i].convex.getPosition()); + smbullet2[m].shape.move(50,120); + smbullet2[m].statement=1; + break; + } + } + for(int m=0;m<200;m++) + { + if(smbullet3[m].statement==0) + { + smbullet3[m].shape.setPosition(small[i].convex.getPosition()); + smbullet3[m].shape.move(50,120); + smbullet3[m].statement=1; + break; + } + } + + } + } + } + + } + //����СBOSS�ӵ� + + //������BOSS�ӵ� + sf::Time elapsed11 = clock11.getElapsedTime(); + + if(elapsed11.asSeconds()>=3&&big.statement==1) + { + for(int i=0;i<100;i++) + { + if(bigbullet[i][0].statement==0) + { + for(int m=0;m<9;m++) + { + bigbullet[i][m].statement=1; + bigbullet[i][m].shape.setPosition(big.convex.getPosition()); + bigbullet[i][m].shape.move(90,90); + bigbullet[i][m].shape.move(-90*cos(((30+15*m)*pi)/180),90*sin(((30+15*m)*pi)/180)); + } + break; + } + } + clock11.restart(); + } + //������BOSS�ӵ� + + //СBOSS�ӵ��ٶ� + sf::Time elapsed9 = clock9.getElapsedTime(); + + if(elapsed9.asSeconds()>=0.03) + { + for(int i=0;i<200;i++) + { + if(smbullet1[i].statement==1) + { + smbullet1[i].shape.move(0,4); + + } + if(smbullet1[i].shape.getPosition().y>800) + { + smbullet1[i].statement=0; + } + + } + + for(int i=0;i<200;i++) + { + if(smbullet2[i].statement==1) + { + smbullet2[i].shape.move(-3,4); + + } + if(smbullet2[i].shape.getPosition().y>800) + { + smbullet2[i].statement=0; + } + + } + + for(int i=0;i<200;i++) + { + if(smbullet3[i].statement==1) + { + smbullet3[i].shape.move(3,4); + + } + if(smbullet3[i].shape.getPosition().y>800) + { + smbullet3[i].statement=0; + } + + } + clock9.restart(); + } + + //��BOSS�ӵ��ٶ� + sf::Time elapsed12 = clock12.getElapsedTime(); + + if(elapsed12.asSeconds()>=0.03) + { + for(int i=0;i<100;i++) + { + if(bigbullet[i][0].statement==1) + { + for(int m=0;m<9;m++) + { + bigbullet[i][m].shape.move(-3*cos(((30+15*m)*pi)/180),3*sin(((30+15*m)*pi)/180)); + } + } + if(bigbullet[i][0].shape.getPosition().y>800) + { + for(int m=0;m<9;m++) + { + bigbullet[i][m].statement=0; + } + } + } + clock12.restart(); + } + + + + //�ӵ���л���ײ + for(int i=0;i<100;i++) + { + if(enemy[i].statement==1) + { + for(int m=0;m<200;m++) + { + if(mybullet[m].statement==1) + { + if(mybullet[m].convex.getGlobalBounds().intersects(enemy[i].convex.getGlobalBounds())) + { + mybullet[m].statement=0; + enemy[i].statement=0; + score=score+30; + energy++; + } + } + } + } + } + + //�ӵ���СBOSS��ײ + for(int i=0;i<100;i++) + { + if(small[i].statement==1) + { + for(int m=0;m<200;m++) + { + if(mybullet[m].statement==1) + { + if(mybullet[m].convex.getGlobalBounds().intersects(small[i].convex.getGlobalBounds())) + { + mybullet[m].statement=0; + small[i].blood--; + energy++; + } + } + if(small[i].blood<1) + { + small[i].statement=0; + score=score+1; + } + } + } + } + + //�ӵ����BOSS��ײ + for(int m=0;m<200;m++) + { + if(mybullet[m].statement==1) + { + if(mybullet[m].convex.getGlobalBounds().intersects(big.convex.getGlobalBounds())) + { + mybullet[m].statement=0; + big.blood--; + } + } + if(big.blood<1) + { + big.statement=0; + key=0; + } + } + + + //����� + for(int i=0;i<=200;i++) + { + if(enbullet[i].statement==1) + { + if(self.getGlobalBounds().intersects(enbullet[i].shape.getGlobalBounds())) + { + myblood=myblood-5; + enbullet[i].statement=0; + } + } + } + + //��СBOSS�ӵ� + for(int i=0;i<=200;i++) + { + if(smbullet1[i].statement==1) + { + if(self.getGlobalBounds().intersects(smbullet1[i].shape.getGlobalBounds())) + { + myblood=myblood-5; + smbullet1[i].statement=0; + } + } + } + + for(int i=0;i<=200;i++) + { + if(smbullet2[i].statement==1) + { + if(self.getGlobalBounds().intersects(smbullet2[i].shape.getGlobalBounds())) + { + myblood=myblood-5; + smbullet2[i].statement=0; + } + } + } + + for(int i=0;i<=200;i++) + { + if(smbullet3[i].statement==1) + { + if(self.getGlobalBounds().intersects(smbullet3[i].shape.getGlobalBounds())) + { + myblood=myblood-5; + smbullet3[i].statement=0; + } + } + } + //��СBOSS�ӵ� + + + //�д�BOSS�ӵ� + for(int i=0;i<100;i++) + { + for(int m=0;m<9;m++) + { + if(bigbullet[i][m].statement==1) + { + if(self.getGlobalBounds().intersects(bigbullet[i][m].shape.getGlobalBounds())) + { + myblood=myblood-5; + bigbullet[i][m].statement=0; + } + } + + } + } + + + + //�ɻ���л�����ײ + for(int i=0;i<100;i++) + { + if(enemy[i].statement==1) + { + if(self.getGlobalBounds().intersects(enemy[i].convex.getGlobalBounds())) + { + myblood=myblood-8; + enemy[i].statement=0; + } + } + } + + //�ɻ���СBOSS����ײ + for(int i=0;i<100;i++) + { + if(small[i].statement==1) + { + if(self.getGlobalBounds().intersects(small[i].convex.getGlobalBounds())) + { + myblood=myblood-15; + small[i].statement=0; + } + } + } + + //����Ѫ�� + sf::Time elapsed14 = clock14.getElapsedTime(); + + if(elapsed14.asSeconds()>=15) + { + gift.statement=1; + gift.convex.setPosition(100+rand()%600,0); + + clock14.restart(); + } + + //Ѫ���ƶ� + if(gift.statement==1) + { + gift.convex.move(0,3); + } + if(gift.convex.getPosition().y>800) + { + gift.statement=0; + } + + //��Ѫ�� + if(gift.statement==1) + { + if(self.getGlobalBounds().intersects(gift.convex.getGlobalBounds())) + { + myblood=myblood+20; + gift.statement=0; + } + } + + //�ɻ����д��� + if(energy>10) + { + for(int i=0;i<25;i++) + { + super[i].statement=1; + super[i].shape.setPosition(100+32*i,800); + } + energy=0; + } + + + for(int i=0;i<25;i++) + { + if(super[i].statement==1) + { + super[i].shape.move(0,-3); + } + if(super[i].shape.getPosition().y<0) + { + super[i].statement=0; + } + } + + //�ɻ�����ײ���л� + for(int i=0;i<25;i++) + { + for(int m=0;m<100;m++) + { + if(super[i].shape.getGlobalBounds().intersects(enemy[m].convex.getGlobalBounds())) + { + super[i].statement=0; + enemy[m].statement=0; + + } + } + } + + //�ɻ�����ײ��Сboss + for(int i=0;i<25;i++) + { + for(int m=0;m<100;m++) + { + if(super[i].shape.getGlobalBounds().intersects(small[m].convex.getGlobalBounds())) + { + super[i].statement=0; + small[m].statement=0; + + } + } + } + + + + + + + //��ʾ���� + showscore.setString("Score:"+Int_to_String(score)); + + //��Ѫ�� + rectangle.setSize(sf::Vector2f(1.5*myblood, 10)); + rectangle.setPosition(62,708); + rectangle.setFillColor(sf::Color::Red); + + //�������� + energyshape.setSize(sf::Vector2f(1.5*energy, 10)); + energyshape.setPosition(10,745); + energyshape.setFillColor(sf::Color::Yellow); + + + window.clear(); + window.draw(b); + window.draw(blood); + window.draw(showscore); + window.draw(rectangle); + window.draw(self); + window.draw(energyshape); + + //���ӵ� + for(int i=0;i<200;i++) + { + if(mybullet[i].statement==1) + { + window.draw(mybullet[i].convex); + } + } + + //���о��ӵ� + for(int i=0;i<200;i++) + { + if(enbullet[i].statement==1) + { + window.draw(enbullet[i].shape); + } + } + + //���л� + for(int i=0;i<100;i++) + { + if(enemy[i].statement==1) + { + window.draw(enemy[i].convex); + } + } + + //��СBOSS + for(int i=0;i<100;i++) + { + if(small[i].statement==1) + { + window.draw(small[i].convex); + } + } + + //����BOSS + if(big.statement==1) + { + window.draw(big.convex); + } + + //��СBOSS�ӵ� + for(int i=0;i<200;i++) + { + if(smbullet1[i].statement==1) + { + window.draw(smbullet1[i].shape); + } + } + + for(int i=0;i<200;i++) + { + if(smbullet2[i].statement==1) + { + window.draw(smbullet2[i].shape); + } + } + + for(int i=0;i<200;i++) + { + if(smbullet3[i].statement==1) + { + window.draw(smbullet3[i].shape); + } + } + + //����BOSS�ӵ� + for(int i=0;i<100;i++) + { + for(int m=0;m<9;m++) + { + if(bigbullet[i][m].statement==1) + { + window.draw(bigbullet[i][m].shape); + } + } + + } + + //��Ѫ�� + if(gift.statement==1) + { + window.draw(gift.convex); + } + + //���ɻ����� + for(int i=0;i<25;i++) + { + if(super[i].statement==1) + { + window.draw(super[i].shape); + } + } + + + window.display(); + } + + + + + return 0; +} + diff --git a/practices/cpp/level1/fighter music b/practices/cpp/level1/fighter music new file mode 100644 index 00000000..2d2931cb --- /dev/null +++ b/practices/cpp/level1/fighter music @@ -0,0 +1,17 @@ +#include +#include + +class Music +{ + public: + sf::Music music; + int play() + { + if (!music.openFromFile("music.ogg")) + { + return -1; + } + music.play(); + } + +}; diff --git a/practices/cpp/level1/gift b/practices/cpp/level1/gift new file mode 100644 index 00000000..37dc3fc1 --- /dev/null +++ b/practices/cpp/level1/gift @@ -0,0 +1,15 @@ +#include +#include + +class Gift +{ + public: + sf::Sprite convex; + sf::Texture pic; + int statement=0; + Gift() + { + pic.loadFromFile("gift.png"); + convex.setTexture(pic); + } +}; diff --git a/practices/cpp/level1/point and circle b/practices/cpp/level1/point and circle new file mode 100644 index 00000000..22244736 --- /dev/null +++ b/practices/cpp/level1/point and circle @@ -0,0 +1,64 @@ +#include +#include "pac.h" +using namespace std; + +int main() +{ + Point Onepoint; + Onepoint.define(1,1,1); + + Onepoint.move(3,5); + Onepoint.show(); + + Onepoint.expand(20); + Onepoint.show(); +} + + +#include +#include "pac.h" +using namespace std; + +void Point::move(float dx,float dy) +{ + cout<<"x�����ƶ���"; + cin>>dx; + cout<<"y�����ƶ���"; + cin>>dy; + x=x+dx; + y=y+dy; +} + +void Point::expand(float multiple) +{ + cout<<"������:"; + cin>>multiple; + r=r*multiple; +} + +void Point::show() +{ + cout<<"Բ��Ϊ��"< +using namespace std; + +class Point +{ + public: + float x,y,r; + void define(float a,float b,float c); + void move(float dx,float dy); + void expand(float multiple); + void show(); +}; diff --git a/practices/cpp/level1/queue b/practices/cpp/level1/queue new file mode 100644 index 00000000..56cd49d3 --- /dev/null +++ b/practices/cpp/level1/queue @@ -0,0 +1,92 @@ +#include +#include "queue.h" +using namespace std; +/* run this program using the console pauser or add your own getch, system("pause") or input loop */ + +int main(int argc, char** argv) +{ + Queue MyQueue; + MyQueue.append(2); + MyQueue.pop(); + MyQueue.show(); + +} + +#include +#include "queue.h" +using namespace std; + +bool Queue::IsFull() +{ + if(tail==100) + { + return 1; + } + else + { + return 0; + } +} + +bool Queue::IsEmpty() +{ + if(tail==0) + { + return 1; + } + else + { + return 0; + } +} + +void Queue::append(int add) +{ + if(!IsFull) + { + tail++; + num[tail] =add; + } + else + { + printf("full"); + } +} + +void Queue::pop() +{ + if(!Isempty) + { + num[tail] ='0'; + tail--; + return 1; + } + else + { + printf("empty"); + } +} + +void show() +{ + printf("������%d",tail); +} + + +#include +#include "queue.h" +using namespace std; + +#define SIZE 100 +Class Queue +{ + private: + int tail; + int num[100]; + bool IsFull(); + bool IsEmpty(); + public: + void append(int add); + void pop(); + void show(); +}; diff --git a/practices/cpp/level1/smallboss b/practices/cpp/level1/smallboss new file mode 100644 index 00000000..5f27b258 --- /dev/null +++ b/practices/cpp/level1/smallboss @@ -0,0 +1,20 @@ +#include +#include + + +class Smallen +{ + public: + sf::Sprite convex; + sf::Texture pic; + int statement=0; + int blood; + sf::FloatRect Smallenbounding; + + Smallen() + { + + pic.loadFromFile("small3.png"); + convex.setTexture(pic); + } +}; diff --git a/practices/cpp/level1/smallbullet b/practices/cpp/level1/smallbullet new file mode 100644 index 00000000..a273484b --- /dev/null +++ b/practices/cpp/level1/smallbullet @@ -0,0 +1,21 @@ +#include +#include + +class Smbullet +{ + public: + sf::ConvexShape shape; + int statement=0; + sf::FloatRect Smbulletbounding; + Enbullet() + { + shape.setPointCount(3); + shape.setPoint(0, sf::Vector2f(10, 10)); + shape.setPoint(1, sf::Vector2f(20, 0)); + shape.setPoint(2, sf::Vector2f(0, 0)); + + shape.setFillColor(sf::Color(150, 50, 250)); + shape.setOutlineThickness(1); + shape.setOutlineColor(sf::Color(250, 150, 100)); + } +}; diff --git a/practices/cpp/level1/super skill b/practices/cpp/level1/super skill new file mode 100644 index 00000000..259f5969 --- /dev/null +++ b/practices/cpp/level1/super skill @@ -0,0 +1,16 @@ +#include +#include + + +class Super +{ + public: + sf::Sprite shape; + sf::Texture pic; + int statement=0; + Super() + { + pic.loadFromFile("super.png"); + shape.setTexture(pic); + } +};