diff --git a/practices/c/level1/p01_runningLetter/level_1_p01.c b/practices/c/level1/p01_runningLetter/level_1_p01.c new file mode 100644 index 00000000..06ea8ee9 --- /dev/null +++ b/practices/c/level1/p01_runningLetter/level_1_p01.c @@ -0,0 +1,21 @@ +#include +#include +main() +{ + for(int i=1;i<=50;i++){ + for(int j=1;j<=i;j++){ + printf(" "); + } + printf("R"); + Sleep(10); + system("cls"); + } + for(int i=50;i>=1;i--){ + for(int j=i;j>=1;j--){ + printf(" "); + } + printf("R"); + Sleep(10); + system("cls"); + } +} diff --git a/practices/c/level1/p02_isPrime/level_1_p02.c b/practices/c/level1/p02_isPrime/level_1_p02.c new file mode 100644 index 00000000..39f2ba00 --- /dev/null +++ b/practices/c/level1/p02_isPrime/level_1_p02.c @@ -0,0 +1,15 @@ +#include +main() +{ + int a; + scanf("%d",&a); + if(a==1){ + printf("非素数");} + for(int i=2;i<=a-1;i++){ + if(a%i==0){ + printf("非素数"); + break;} + else + printf("素数"); + } +} diff --git a/practices/c/level1/p03_Diophantus/level_1_p03.c b/practices/c/level1/p03_Diophantus/level_1_p03.c new file mode 100644 index 00000000..066217a9 --- /dev/null +++ b/practices/c/level1/p03_Diophantus/level_1_p03.c @@ -0,0 +1,14 @@ +#include +main() +{ + int ageDio;int ageSon; + int i,j; + for(i=1;i<=100;i++) + for(j=1;j<=100;j++){ + ageDio=12*i*7*j; + ageSon=ageDio/2; + if(ageSon==((ageDio-4)-(ageDio*11/28+5))){ + printf("%d",ageDio); + } + } +} diff --git a/practices/c/level1/p04_ narcissus/level_1_p04.c b/practices/c/level1/p04_ narcissus/level_1_p04.c new file mode 100644 index 00000000..fc3cbbef --- /dev/null +++ b/practices/c/level1/p04_ narcissus/level_1_p04.c @@ -0,0 +1,12 @@ +#include + +main() +{ + for(int a=1;a<=9;a++) + for(int b=0;b<=9;b++) + for(int c=0;c<=9;c++){ + if(100*a+10*b+c==a*a*a+b*b*b+c*c*c){ + printf("%d\n",100*a+10*b+c); + } + } +} diff --git a/practices/c/level1/p05_allPrimes/level_1_p05.c b/practices/c/level1/p05_allPrimes/level_1_p05.c new file mode 100644 index 00000000..2b1e03b0 --- /dev/null +++ b/practices/c/level1/p05_allPrimes/level_1_p05.c @@ -0,0 +1,25 @@ +#include +#include + +int prime(int m) +{ + for (int i=2;i*i<=m;i++){ + if(m%i==0) + {return 0;} + } + return 1; +} + +main() +{ + double start,finish; + start=clock(); + for(int i=2;i<=1000;i++){ + if(prime(i)>0){ + printf("%d\n",i); + } + } + finish=clock(); + printf("\n"); + printf("%f",finish-start); +} diff --git a/practices/c/level1/p06_Goldbach/level_1_p06.c b/practices/c/level1/p06_Goldbach/level_1_p06.c new file mode 100644 index 00000000..3090d97e --- /dev/null +++ b/practices/c/level1/p06_Goldbach/level_1_p06.c @@ -0,0 +1,31 @@ +#include + +int checkprime(int m) +{ + for (int i=2;i*i<=m;i++){ + if(m%i==0) + {return 0;} + } + return 1; +} + +int main() +{ + int a;int prime[100];int control_1=0; + + for(int i=2;i<=100;i++){ + if(checkprime(i)==1){ + prime[control_1]=i; + control_1++; + } + + } + for(int i=2;i<=50;i++){ + for(int j=0;j<=24;j++){ + a=2*i-prime[j]; + if(checkprime(a)==1){ + printf("%d=%d+%d\n",2*i,a,prime[j]);break; + } + } + } +} diff --git a/practices/c/level1/p07_encrypt_decrypt/level_1_p07.c b/practices/c/level1/p07_encrypt_decrypt/level_1_p07.c new file mode 100644 index 00000000..a9147f55 --- /dev/null +++ b/practices/c/level1/p07_encrypt_decrypt/level_1_p07.c @@ -0,0 +1,16 @@ +#include +#include +main(){ + char password[1000]; + + scanf("%s",password); + for(int i=0;i +void hanoi(int n,char a,char b,char c){ + if(n==1){ + printf("move plate %d from column %c to column %c\n",n,a,c); + } + else{ + hanoi(n-1,a,c,b); + printf("move plate %d from column %c to column %c\n",n,a,c); + hanoi(n-1,b,a,c); + } +} + +main(){ + int n; + scanf("%d",&n); + hanoi(n,'A','B','C'); +} diff --git a/practices/cpp/level1/p11_Fighters/AirGameFinal/Classes.hpp b/practices/cpp/level1/p11_Fighters/AirGameFinal/Classes.hpp new file mode 100644 index 00000000..6c85106c --- /dev/null +++ b/practices/cpp/level1/p11_Fighters/AirGameFinal/Classes.hpp @@ -0,0 +1,333 @@ +#include +#include +#include +#include +#include +#include +#include + +using namespace sf; +int amount=50; +int scores=0; +float playerSpeed=10; +int EnemySpeed=2; +int level=1; +int yourlife=3; +int bulletspeed=7; +int ebulletspeed=5; +void musicplay(Music &t,std::string musicname,bool isLoop,bool pause=false){ + t.openFromFile(musicname); + t.play(); + t.setLoop(isLoop); + if(pause==true){ + t.pause(); + } +} + +bool beginwindow(){ + RenderWindow window(VideoMode(1200,630),"AirGameFinal"); + while(window.isOpen()){ + Event event; + while(window.pollEvent(event)){ + if(event.type==Event::Closed) + window.close(); + if(Keyboard::isKeyPressed(Keyboard::Space)){ + return true; + window.close(); + } + } + Texture beginwindow; + beginwindow.loadFromFile("begin.jpg"); + Sprite sprite(beginwindow); + Font font; + font.loadFromFile("pixelmix.ttf"); + Text text; + text.setFont(font); + text.setPosition(300,400); + text.setString("Press Space To Enter Game"); + window.clear(); + window.draw(sprite); + window.draw(text); + window.display(); + } +} + +class Entity{ + public: + float x,y,R; + bool life; + std::string name; + Sprite sprite; + Entity(){life=1;} + void settings(Texture &t,int X,int Y,int radius=1){ + sprite.setTexture(t); + x=X; + y=Y; + R=radius; + } + + virtual void update(){}; + + void draw(RenderWindow &window){ + sprite.setPosition(x,y); + window.draw(sprite); + } + + virtual ~Entity(){}; +}; + +class enemyflight: public Entity{ + public: + enemyflight(){name="enemyflight";} + + void update(){ + y+=EnemySpeed; + if(y>1080){ + life=false; + } + } +}; + + + + +class bullet:public Entity{ + public: + bullet(){name="bullet";} + + void update(){ + y-=bulletspeed; + /////sidemanage///// + if(y<0){ + life=false; + } + } +}; + +class ebullet:public Entity{ + public: + ebullet(){name="ebullet";} + + void update(){ + y+=ebulletspeed; + /////sidemanage///// + if(y>1080){ + life=false; + } + } +}; + +class player:public Entity{ + public: + player(){name="player";} + void update(){ + + } +}; +bool isCollide(Entity *a,Entity *b){ + return (b->x - a->x)*(b->x - a->x)+ + (b->y - a->y)*(b->y - a->y)< + (a->R + b->R)*(a->R + b->R); +} + +class Game{ + public: + Font font; + + void over(){ + Texture texture; + texture.loadFromFile("gameover.jpg"); + Sprite sprite(texture); + Text text; + text.setFont(font); + text.setString("Press Space"); + text.setPosition(125,150); + RenderWindow window(VideoMode(500,200),"AirGameFinal"); + while(window.isOpen()){ + Event event; + while(window.pollEvent(event)){ + if(event.type==Event::Closed) + window.close(); + } + if (Keyboard::isKeyPressed(Keyboard::Space)){ + window.close(); + } + window.clear(); + window.draw(sprite); + window.draw(text); + window.display(); + } + } + + void run(){ + + srand(time(0)); + + + RenderWindow window(VideoMode(1000,1080),"AirGameFinal"); + window.setFramerateLimit(60); + + + + Texture eBullet; + eBullet.loadFromFile("ebullet.png"); + + Texture Background,Player; + Player.loadFromFile("player.png"); + + Background.loadFromFile("background.jpg"); + Sprite mBackground(Background); + + Texture mbullet; + mbullet.loadFromFile("bullet.png"); + + Texture enemy; + enemy.loadFromFile("enemy.png"); + + Texture explosion; + explosion.loadFromFile("explosion.png"); + + font.loadFromFile("pixelmix.ttf"); + + Text text; + text.setFont(font); + text.setPosition(600,0); + text.setString("Scores"); + + Text text1; + text1.setFont(font); + text1.setPosition(750,0); + + Text text2; + text2.setFont(font); + text2.setString("Level"); + text2.setPosition(600,100); + + Text Level; + Level.setFont(font); + Level.setPosition(750,100); + + Text text3; + text3.setFont(font); + text3.setString("Life"); + text3.setPosition(600,200); + + Text life; + life.setFont(font); + life.setPosition(700,200); + + Music backgroundmusic; + Music explosionsound; + musicplay(backgroundmusic,"backgroundmusic.ogg",true); + + + std::deque entities; + + player *p = new player(); + p->sprite.setOrigin(32,32); + p->settings(Player,260,900,32); + entities.push_back(p); + + + while(window.isOpen()){ + Event event; + while(window.pollEvent(event)){ + if(event.type==Event::Closed) + window.close(); + if (event.type == Event::KeyPressed) + if (event.key.code == Keyboard::Space){ + bullet *b = new bullet(); + bullet *c = new bullet(); + b->settings(mbullet,p->x-30,p->y-30,1); + c->settings(mbullet,p->x+30,p->y-30,1); + entities.push_back(b); + entities.push_back(c); + } + + } + + + if (Keyboard::isKeyPressed(Keyboard::Down)&&p->y<=980){p->y+=playerSpeed;} + if (Keyboard::isKeyPressed(Keyboard::Up)&&p->y>=0){p->y-=playerSpeed;} + if (Keyboard::isKeyPressed(Keyboard::Left)&&p->x>=100){p->x-=playerSpeed;} + if (Keyboard::isKeyPressed(Keyboard::Right)&&p->x<=500){p->x+=playerSpeed;} + + + int randomflighty=rand()%(100)+50; + int randomflightx=rand()%(400)+100; + + if(clock()%amount==0){ + + enemyflight *e= new enemyflight(); + e->sprite.setOrigin(100,100); + e->settings(enemy,randomflightx,randomflighty,100); + entities.push_back(e); + + ebullet *a = new ebullet(); + a->settings(eBullet,e->x,e->y,1); + entities.push_back(a); + } + + for(auto a:entities) + for(auto b:entities){ + if(a->name=="enemyflight"&&b->name=="bullet") + if(isCollide(a,b)){ + a->life=false; + b->life=false; + scores+=10; + musicplay(explosionsound,"explosionsound.ogg",false); + } + + if(a->name=="ebullet"&&b->name=="player"){ + if(isCollide(a,b)){ + a->life=false; + yourlife-=1; + } + } + if(a->name=="enemyflight"&&b->name=="player"){ + if(isCollide(a,b)){ + a->life=false; + yourlife-=1; + } + } + if(scores%100==0&&scores>=100){ + EnemySpeed=2*(int)scores/100; + ebulletspeed=EnemySpeed+3; + } + + } + + text1.setString(std::to_string(scores)); + Level.setString(std::to_string(level)); + level=EnemySpeed/2; + life.setString(std::to_string(yourlife)); + + for(auto i=entities.begin();i!=entities.end();){ + Entity *e=*i; + e->update(); + if(e->life==false){i=entities.erase(i);delete e;} + else i++; + } + if(yourlife==0){ + window.close(); + musicplay(backgroundmusic,"backgroundmusic.ogg",true,true); + over(); + } + window.clear(); + window.draw(mBackground); + for(auto i:entities){i->draw(window);} + window.draw(text); + window.draw(text1); + window.draw(text2); + window.draw(Level); + window.draw(text3); + window.draw(life); + window.display(); + + } + + } + +}; + + diff --git a/practices/cpp/level1/p11_Fighters/AirGameFinal/README.md b/practices/cpp/level1/p11_Fighters/AirGameFinal/README.md new file mode 100644 index 00000000..9fcbb99c --- /dev/null +++ b/practices/cpp/level1/p11_Fighters/AirGameFinal/README.md @@ -0,0 +1,23 @@ +# AirGameFinal + + + + +This is my first big program to make a air-fight game Version1.0. + + +The code is not so perfect as I see. I hope to update my code if I can. + + +2017.06.12 00:12 MON + + +Good night. + +************* + +Improve some functions. + +make some data visible. + +2017.06.13 21:45 TUE \ No newline at end of file diff --git a/practices/cpp/level1/p11_Fighters/TodoList.md b/practices/cpp/level1/p11_Fighters/AirGameFinal/TodoList.md old mode 100755 new mode 100644 similarity index 58% rename from practices/cpp/level1/p11_Fighters/TodoList.md rename to practices/cpp/level1/p11_Fighters/AirGameFinal/TodoList.md index 497725f5..937ff4cc --- a/practices/cpp/level1/p11_Fighters/TodoList.md +++ b/practices/cpp/level1/p11_Fighters/AirGameFinal/TodoList.md @@ -1,22 +1,22 @@ - | 任务(功能) | Value | Effort | 是否已完成 + 序号 | 任务(功能) | Value | Effort | 是否已完成 -----|-------------------------------|-----------|-----------|------------| -1 | 完成SFML配置,显示“SFML works” | 0 | | | -2 | 显示一架静止的飞机于屏幕底部 | 5 | | | -3 | 背景音乐 | 1 | | | -4 | 左右键,控制移动飞机 | 10 | | | -5 | 限制左右边界 | 1 | | | -6 | 空格键开炮,显示运动的炮弹 | 5 | | | -7 | 炮弹飞出边界处理 | 2 | | | -8 | 随机产生敌机,并向下运动 | 10 | | | -9 | 敌机飞出边界处理 | 2 | | | -10 | 碰撞处理(敌机与炮弹碰撞) | 10 | | | -11 | 显示敌机爆炸过程 | 10 | | | -12 | 爆炸声音 | 2 | | | -13 | 计分及显示 | 5 | | | -14 | 敌机炮弹处理 | 10 | | | -15 | 被敌机击中处理(炸毁、3条命) | 10 | | | -16 | 过关控制(过关需要计分、游戏速度控制)| 20 | | | -17 | | | | | +1 | 完成SFML配置,显示“SFML works” | 0 | 10 | yes | +2 | 显示一架静止的飞机于屏幕底部 | 5 | 5 | yes | +3 | 背景音乐 | 1 | 1 | yes | +4 | 左右键,控制移动飞机 | 10 | 5 | yes | +5 | 限制左右边界 | 1 | 1 | yes | +6 | 空格键开炮,显示运动的炮弹 | 5 | 15 | yes | +7 | 炮弹飞出边界处理 | 2 | 5 | yes | +8 | 随机产生敌机,并向下运动 | 10 | 15 | yes | +9 | 敌机飞出边界处理 | 2 | 5 | yes | +10 | 碰撞处理(敌机与炮弹碰撞) | 10 | 10 | yes | +11 | 显示敌机爆炸过程 | 10 | 15 | yes | +12 | 爆炸声音 | 2 | 5 | yes | +13 | 计分及显示 | 5 | 5 | yes | +14 | 敌机炮弹处理 | 10 | 5 | yes | +15 | 被敌机击中处理(炸毁、3条命) | 10 | 10 | yes | +16 | 过关控制(过关需要计分、游戏速度控制)| 20 | 5 | yes | +17 | 开始界面 | 10 | 5 | yes | 18 | | | | | 19 | | | | | 20 | | | | | diff --git a/practices/cpp/level1/p11_Fighters/AirGameFinal/main.cpp b/practices/cpp/level1/p11_Fighters/AirGameFinal/main.cpp new file mode 100644 index 00000000..e71fb18c --- /dev/null +++ b/practices/cpp/level1/p11_Fighters/AirGameFinal/main.cpp @@ -0,0 +1,18 @@ +#include "Classes.hpp" + +using namespace sf; + +int main(){ + + beginwindow(); + + if(beginwindow()==true){ + + Game game1; + + game1.run(); + + } + + return 0; +} diff --git a/practices/cpp/level1/p11_Fighters/AirGameFinal/oldedition.cpp b/practices/cpp/level1/p11_Fighters/AirGameFinal/oldedition.cpp new file mode 100644 index 00000000..671bdeb0 --- /dev/null +++ b/practices/cpp/level1/p11_Fighters/AirGameFinal/oldedition.cpp @@ -0,0 +1,335 @@ +#include +#include +#include +#include +#include +#include +using namespace sf; +const int H=1080; +const int W=1920; + +class Entity{ + public: + float x,y,dx,dy,R,angle; + bool life; + std::string name; + Sprite sprite; + Entity(){life=1;} + +void settings(Texture &t,int X,int Y,int radius=1){ + sprite.setTexture(t); + x=X; y=Y; + R = radius; +} + +virtual void update(){}; + +void draw(RenderWindow &window) +{ + sprite.setPosition(x,y); + window.draw(sprite); +} + +virtual ~Entity(){}; +}; + +class enemyflight: public Entity{ + public: + enemyflight(){name="enemyflight";} + + void update(){ + x-=3; + if(x<0){ + life=false;} + } +}; + +class bullet:public Entity{ + public: + bullet(){name="bullet";} + + void update(){ + x+=10; + /////sidemanage///// + if(x>2000){ + life=false; + } + /////////explosion////// + if(life==false){ + + } + } +}; + +bool isCollide(Entity *a,Entity *b){ + return (b->x - a->x)*(b->x - a->x)+ + (b->y - a->y)*(b->y - a->y)< + (a->R + b->R)*(a->R + b->R); +} +int main(){ + srand(time(0)); +//////////window/////////// + RenderWindow window(VideoMode(W,H),"AirGameFinal+1s"); +// window.setFramerateLimit(60); +// window.setVerticalSyncEnabled(true); +/////////background//////// + Texture background; + background.loadFromFile("rmdht.jpg"); + Sprite mBackground(background); +////////player//////////// + Texture player; + player.loadFromFile("jzm.jpg"); + Sprite mPlayer(player); + mPlayer.setPosition(0,500); +/////////////backgroundmusic//////////// + Music music; + music.openFromFile("backgroundmusic.ogg"); + music.play(); + music.setLoop(true); +///////////////explosion//////////// + Texture explosion; + explosion.loadFromFile("images/explosions/type_A.png"); + Sprite mExplosion; + +///////////////////bullet///////////////////// + Texture mbullet; + mbullet.loadFromFile("bullet.png"); +///////////////linklist//////////// +std::deque entities; +/////////////////// + int scores=0; + +////////mainloop////////// + while(window.isOpen()){ + Vector2f pos=mPlayer.getPosition(); + Event event; + while(window.pollEvent(event)){ + if(event.type==Event::Closed) + window.close(); + } +////////////////explosion///////// + mExplosion.setPosition(300,300); + float Frame=0; + float animSpeed=0.4; + int frameCount=20; + Frame+=animSpeed; + if(Frame>frameCount)Frame-=frameCount; + mExplosion.setTextureRect(IntRect(int(Frame)*50,0,50,50)); +///////////////////enemy///////////////// + Texture enemy; + int randomflighty=rand()%1080; + int randomflightx=rand()%(30000-1900)+1900; + enemy.loadFromFile("enemy.png"); + enemyflight *e= new enemyflight(); + e->settings(enemy,randomflightx,randomflighty,100); + entities.push_back(e); + +////////bulletcontrol/////// + if (Keyboard::isKeyPressed(Keyboard::Space)){ + bullet *b = new bullet(); + b->settings(mbullet,(int)pos.x+81,(int)pos.y+40); + b->sprite.setRotation(90); + entities.push_back(b); + } + +/////////collide///////// + for(auto a:entities) + for(auto b:entities){ + if(a->name=="enemyflight"&&b->name=="bullet") + if(isCollide(a,b)){ + scores+=10; + a->life=false; + b->life=false; + } + + } +//////////player move///// + if (Keyboard::isKeyPressed(Keyboard::Right)&&pos.x<=1840) mPlayer.move(5,0); + if (Keyboard::isKeyPressed(Keyboard::Left)&&pos.x>=0) mPlayer.move(-5,0); + if (Keyboard::isKeyPressed(Keyboard::Up)&&pos.y>=0) mPlayer.move(0,-5); + if (Keyboard::isKeyPressed(Keyboard::Down)&&pos.y<=1000) mPlayer.move(0,5); +//////////////////////// +////////////////////through//////////// + for(auto i=entities.begin();i!=entities.end();){ + Entity *e=*i; + e->update(); + if(e->life==false){i=entities.erase(i);delete e;} + else i++; + } +//////////draw////////// + window.clear(); + window.draw(mBackground); + window.draw(mPlayer); + for(auto i:entities) i->draw(window); + window.draw(mExplosion); + window.display(); + } +} + + + + + + + + + + + + + + + + + + + + +/*#include +#include +#include + +const int H = 800; +const int W = 1200; + +using namespace sf; + +class Animation{ + public: + + float Frame,speed; + Sprite sprite; + std::vector frames; + + Animation(){} + + Animation(Texture &t,int x,int y,int w,int h,int count,float Speed){ + Frame=0; + speed=Speed; + + for(int i=0;i=n) Frame-=n; + if(n>0) sprite.setTextureRect(frames[int(Frame)]); + } + +}; + +class Entity{ + public: + float x,y,R; + bool life; + std::string name; + Animation anim; + + Entity(){life=1;} + + void settings(Animation &a,int X,int Y,int radius=1){ + x=X;y=Y; anim=a; + R=radius; + } + + virtual void update(){}; + + void draw(RenderWindow &window){ + anim.sprite.setPosition(x,y); + window.draw(anim.sprite); + } +}; + +class bullet:public Entity{ + public: + bullet(){ + name="bullet"; + } + void update(){ + if(x>W||x<0||y>H||y<0) life=0; + } +}; + + +int main(){ + RenderWindow window(VideoMode(W,H),"AirGameFinal+1s"); + window.setFramerateLimit(60); + + Texture background,player,explosions,rock,fire; + + background.loadFromFile("background.jpg"); + player.loadFromFile("spaceship.png"); + explosions.loadFromFile("images/explosions/type_A.png"); + rock.loadFromFile("images/rock.png"); + fire.loadFromFile("images/fire_blue.png"); + + Sprite mBackground(background); + + Sprite mPlayer(player); + mPlayer.setOrigin(20,20); + + + Sprite mExplosions(explosions); + mExplosions.setPosition(300,300); + + + Animation mRock(rock,0,0,64,64,16,0.2); + Animation mBullet(fire,0,0,32,64,16,0.8); + mRock.sprite.setPosition(400,400); + + +std::list entities; + float Frame=0; + float animSpeed=0.4; + int frameCount=20; + + float x=300,y=300; + + + while(window.isOpen()){ + Event event; + while(window.pollEvent(event)){ + if(event.type==Event::Closed){ + window.close(); + } + if(event.type==Event::KeyPressed) + if(event.key.code==Keyboard::Space){ + bullet *b=new bullet(); + b->settings(mBullet,x,y,10); + entities.push_back(b); + } + if(Frame>frameCount) Frame-=frameCount; + mExplosions.setTextureRect(IntRect(int(Frame)*50,0,50,50)); + + + + + + + + + Vector2f pos=mPlayer.getPosition(); + float airspeed=5; + if(Keyboard::isKeyPressed(Keyboard::Right)&&pos.x<=1200) mPlayer.move(airspeed,0); + if(Keyboard::isKeyPressed(Keyboard::Left)&&pos.x>=0) mPlayer.move(-airspeed,0); + if(Keyboard::isKeyPressed(Keyboard::Up)&&pos.y>=0) mPlayer.move(0,-airspeed); + if(Keyboard::isKeyPressed(Keyboard::Down)&&pos.y<=800) mPlayer.move(0,airspeed); + + mRock.update(); + + window.clear(); + window.draw(mBackground); + window.draw(mPlayer); + window.draw(mExplosions); + window.draw(mRock.sprite); + window.display(); + } + } + return 0; +} +*/ diff --git a/practices/cpp/level1/p11_Fighters/README.md b/practices/cpp/level1/p11_Fighters/README.md deleted file mode 100755 index 58761a68..00000000 --- a/practices/cpp/level1/p11_Fighters/README.md +++ /dev/null @@ -1,5 +0,0 @@ -### 题目:打飞机小游戏 - -### 功能要求: - -随心所欲!!! \ No newline at end of file