-
个人简介
http://oiclass.com/loginpage.php账户设置 - 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
#include <iostream> #include <cstdio> #include <cstdlib> #include <conio.h> #include <cmath> #include <windows.h> #include<ctime> #include<string> #include<conio.h> #include<cstring> #include<cstdlib> #include<iomanip> #include<iostream> #include<algorithm> #include <Windows.h> #include<queue> #include<vector> #include<sstream> #include<stdio.h> #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? true : false) using namespace std; int x=22,y=70,maxx=0; char xy[22][70]; struct bmb{ int xx,yy; }; vector<bmb> bomb; int sj=0,num; bool gch(char ch){if(getch()==ch)return true;return false;} bool chd(char ch){if(KEY_DOWN(ch)){return true; }return false;} void sx(int sc){ string st="Score : ",st1; stringstream ss; ss.clear(); ss<<sc; ss>>st1; st+=st1; st+="\n\n"; system("cls"); for(int i=0;i<x;i++){for(int j=0;j<y;j++){ st+=xy[i][j]; }st+="\n"; }cout<<st; } bool game(){ bomb.clear(); int score=0,ball=35,enemy; double spd=1; bool stopped=false; for(int i=0;i<x;i++)memset(xy[i],' ',y); while(!stopped){ sj=(sj+1)%200; sx(score); Sleep(10); for(int i=0;i<x;i++)memset(xy[i],' ',y); score++; xy[x-1][ball]='*'; if(chd('D')){ball++;cin.sync(); } if(chd('A')){ball--;cin.sync(); } if(ball>=y)ball=y-1; if(ball<0)ball=0; if(sj%2==1){bomb.push_back((bmb){0,rand()%y}); } if(sj%2==1)for(int i=0;i<bomb.size();i++){bomb[i].xx++;if(bomb[i].xx>=x)bomb.erase(bomb.begin()); } for(int i=0;i<bomb.size();i++){if(xy[bomb[i].xx][bomb[i].yy]=='*')stopped=true;xy[bomb[i].xx][bomb[i].yy]='O'; } //spd*=1.1; } if(score>maxx)maxx=score; cout<<endl<<endl<<"YOU DIED!"<<endl; cout<<"MAX:"<<maxx<<endl; Sleep(800); } char a[5][9]; int yg=40,ms; int lq[7]={0,0,2,2,2,5,5}; int k=0; bool flag=false; bool check(){ for(int i=0;i<5;i++){ if(a[i][0]>'0'&&a[i][0]<='9'){ return true; } } return false; } void Do(){ int sum=0; if(k<27){ k++; } yg+=10; for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ if(a[i][j]=='f'){ flag=true; a[i][j]='0'; } } } for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ if(a[i][j]=='g'){ for(int p=0;p<5;p++){ for(int l=0;l<9;l++){ if(a[p][l]>'0'&&a[p][l]<='9'){ a[p][l]='0'; } } } a[i][j]='0'; } } } for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ if(a[i][j]=='c'){ for(int p=i-1;p<i+2;p++){ for(int l=j-1;l<j+2;l++){ if(a[p][l]>'0'&&a[p][l]<='9'){ a[p][l]='0'; } } } a[i][j]='0'; }else if(a[i][j]=='e'){ for(int k=0;k<9;k++){ if(a[i][k]>'0'&&a[i][k]<='9'){ a[i][k]='0'; } } a[i][j]='0'; } } } for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ if(a[i][j]>'0'&&a[i][j]<='9'){ a[i][j-1]=a[i][j]; a[i][j]='0'; } } } for(int i=0;i<7;i++){ if(lq[i]!=0){ lq[i]--; } } for(int i=0;i<5;i++){ a[i][8]=k/3+'0'; } for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ if(a[i][j]=='b'){ yg+=5; }else if(a[i][j]=='a'){ sum++; }else if(a[i][j]=='d'){ sum+=2; } } for(int j=0;j<9;j++){ if(a[i][j]>'0'&&a[i][j]<='9'){ if(a[i][j]-'0'<=sum){ sum-=a[i][j]-'0'; a[i][j]='0'; }else{ a[i][j]-=sum; } } } sum=0; } } /*** 光标定位 ***/ HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE); COORD coord; void locate(int x,int y) { coord.X=y; coord.Y=x; SetConsoleCursorPosition(hout,coord); }; /*** 隐藏光标 ***/ void hide() { CONSOLE_CURSOR_INFO cursor_info={1,0}; SetConsoleCursorInfo(hout, &cursor_info); } /*** 生成随机数 ***/ double random(double start, double end) { return start+(end-start)*rand()/(RAND_MAX + 1.0); } /*** 定义地图的长宽,蛇的坐标,长度,方向,食物的位置 ***/ int m,n; struct node { int x,y; }snake[1000]; int snake_length,dir; node food; int direct[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; /*** 输出墙 ***/ void print_wall() { cout << " "; for (int i=1;i<=n;i++) cout << "-"; cout << endl; for (int j=0;j<=m-1;j++) { cout << "|"; for (int i=1;i<=n;i++) cout << " "; cout << "|" << endl; } cout << " "; for (int i=1;i<=n;i++) cout << "-"; } /*** 首次输出蛇,其中snake[0]代表头 ***/ void print_snake() { locate(snake[0].x,snake[0].y); cout << "@"; for (int i=1;i<=snake_length-1;i++) { locate(snake[i].x,snake[i].y); cout << "*"; } } /*** 判断是否撞墙或者自撞 ***/ bool is_correct() { if (snake[0].x==0 || snake[0].y==0 || snake[0].x==m+1 || snake[0].y==n+1) return false; for (int i=1;i<=snake_length-1;i++) { if (snake[0].x==snake[i].x && snake[0].y==snake[i].y) return false; } return true; } /*** 随机生成并输出食物位置 ***/ bool print_food() { srand((unsigned)time(0)); bool e; while (1) { e=true; int i=(int) random(0,m)+1,j=(int) random(0,n)+1; food.x=i;food.y=j; for (int k=0;k<=snake_length-1;k++) { if (snake[k].x==food.x && snake[k].y==food.y) { e=false;break; } } if (e) break; } locate(food.x,food.y); cout << "$"; return true; } /*** 蛇的前进 ***/ bool go_ahead() { node temp; bool e=false; temp=snake[snake_length-1]; for (int i=snake_length-1;i>=1;i--) snake[i]=snake[i-1]; snake[0].x+=direct[dir][0]; snake[0].y+=direct[dir][1]; locate(snake[1].x,snake[1].y); cout << "*"; /*** 吃到了食物 ***/ if (snake[0].x==food.x && snake[0].y==food.y) { snake_length++; e=true; snake[snake_length-1]=temp; } /*** 输出此时蛇状态 ***/ if (!e) { locate(temp.x,temp.y); cout << " "; } else print_food(); locate(snake[0].x,snake[0].y); cout << "@"; /*** 如果自撞 ***/ if (!is_correct()) { system("cls"); cout << "You lose!" << endl << "Length: " << snake_length << endl; return false; } return true; } int main(){ cin>>ms; if(ms==1){ for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ a[i][j]='0'; } } while(true){ if(check()){ cout << endl << "僵尸吃掉了你的脑子!"; return 0; } Do(); cout << "阳光:" << yg << endl << endl; for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ cout << a[i][j] << " "; } cout << endl << endl; } cout << "a:豌豆,b:向日葵,c:樱桃" << endl; int x,y; char z; for(int i=0;i<3;i++){ cout << lq[i] << endl; } cin >> x >> y >> z; if(z-'a'==0||z-'a'==1){ if(lq[z-'a']==0){ if(yg>=20){ a[x-1][y-1]=z; lq[z-'a']+=2; yg-=20; } } }else if(z-'a'==2){ if(lq[z-'a']==0){ if(yg>=35){ a[x-1][y-1]=z; lq[z-'a']+=4; yg-=35; } } } } } if(ms==2){ for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ a[i][j]='0'; } } while(true){ if(check()){ cout << endl << "僵尸吃掉了你的脑子!"; return 0; } Do(); cout << "阳光:" << yg << endl << endl; for(int i=0;i<5;i++){ for(int j=0;j<9;j++){ cout << a[i][j] << " "; } cout << endl << endl; } cout << "a:豌豆,b:向日葵,c:樱桃,d:双发,e:辣椒" << endl; cout << "隐藏植物 f:一次性,使用后下一次种植物时在上下左右召唤该植物,100阳光" << endl; cout << "g:核弹,约等于五个辣椒,150阳光" << endl; int x,y; char z; for(int i=0;i<7;i++){ cout << lq[i] << endl; } cin >> x >> y >> z; if(z-'a'==0||z-'a'==1){ if(lq[z-'a']==0){ if(yg>=20){ if(flag){ a[x-1][y]=z; a[x-1][y-2]=z; a[x-2][y-1]=z; a[x][y-1]=z; flag=false; } a[x-1][y-1]=z; lq[z-'a']+=2; yg-=20; } } }else if(z-'a'==2){ if(lq[z-'a']==0){ if(yg>=35){ if(flag){ a[x-1][y]=z; a[x-1][y-2]=z; a[x-2][y-1]=z; a[x][y-1]=z; flag=false; } a[x-1][y-1]=z; lq[z-'a']+=4; yg-=35; } } }else if(z-'a'==3||z-'a'==4){ if(lq[z-'a']==0){ if(yg>=40){ if(flag){ a[x-1][y]=z; a[x-1][y-2]=z; a[x-2][y-1]=z; a[x][y-1]=z; flag=false; } a[x-1][y-1]=z; lq[z-'a']+=4; yg-=40; } } }else if(z-'a'==5){ if(lq[z-'a']==0){ if(yg>=100){ if(flag){ a[x-1][y]=z; a[x-1][y-2]=z; a[x-2][y-1]=z; a[x][y-1]=z; flag=false; } a[x-1][y-1]=z; lq[z-'a']+=10; yg-=100; } } }else if(z-'a'==6){ if(lq[z-'a']==0){ if(yg>=150){ if(flag){ a[x-1][y]=z; a[x-1][y-2]=z; a[x-2][y-1]=z; a[x][y-1]=z; flag=false; } a[x-1][y-1]=z; lq[z-'a']+=15; yg-=150; } } } } } if(ms==3){ /*** 主函数 ***/ cout << "--------------------贪吃蛇---------------------" << endl; cout << "请注意窗口大小,以免发生错位.建议将窗口调为最大." << endl; cout << "先选择难度.请在1-10中输入1个数,1最简单,10则最难" << endl; cout << "然后进入游戏画面,以方向键控制方向.祝你游戏愉快!" << endl; cout << "-----------------------------------------------" << endl; m=25; n=40; if (m<10 || n<10 || m>25 || n>40) { cout << "ERROR" << endl; system("pause"); return 0; } int hard; cin >> hard; if (hard<=0 || hard>100) { cout << "ERROR" << endl; system("pause"); return 0; } /*** 数据全部初始化,包括蛇长,位置,方向 ***/ snake_length=5; clock_t a,b; char ch; double hard_len; for (int i=0;i<=4;i++) { snake[i].x=1; snake[i].y=5-i; } dir=3; /*** 输出初始地图,蛇与食物 ***/ system("cls"); hide(); print_wall(); print_food(); print_snake(); locate(m+2,0); cout << "Now length: "; /*** 开始游戏 ***/ while (1) { /*** 难度随长度增加而提高 ***/ hard_len=(double)snake_length/(double) (m*n); /*** 调节时间,单位是ms ***/ a=clock(); while (1) { b=clock(); if (b-a>=(int)(400-30*hard)*(1-sqrt(hard_len))) break; } /*** 接受键盘输入的上下左右,并以此改变方向 ***/ if (kbhit()) { ch=getch(); if (ch==-32) { ch=getch(); switch(ch) { case 72: if (dir==2 || dir==3) dir=0; break; case 80: if (dir==2 || dir==3) dir=1; break; case 75: if (dir==0 || dir==1) dir=2; break; case 77: if (dir==0 || dir==1) dir=3; break; } } } /*** 前进 ***/ if (!go_ahead()) break; /*** 在最后输出此时长度 ***/ locate(m+2,12); cout << snake_length; } system("pause"); return 0; }if(ms=4){ char chh; srand((unsigned)getpid()); while(true){ cout<<"R to start--a to left,d to right"; cout<<"coutR 开始AD左右"; fflush(stdin); chh=getch(); while(chh!='R'&&chh!='r')chh=getch(); if(chh=='r'||chh=='R'){ game(); } else break; } cout<<"BYE!"; } }