-
个人简介
此生无悔入MC,来世还做方块人
小游戏:
1.炸弹人
#include<bits/stdc++.h> #include<windows.h> #include<stdio.h> #include<conio.h> #include<time.h> #define KEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0) using namespace std; int m[10001][21]; struct node {int xx,yy,Zhong,rr,mr;} B[100001]; int K,X,Y,tX,tY,tY2,tT,Er,T,Yb,Zb,Win,Blood,Score,Kb; void Color(int a) { if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE); if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN); if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE); if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED); if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN); if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE); if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN); if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_INTENSITY|BACKGROUND_RED); if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE|BACKGROUND_INTENSITY|BACKGROUND_BLUE); } void SetPos(int x,int y) { COORD pos; pos.X=y*2-1,pos.Y=x+1; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); } void Zha(int x,int y) { Zb++; int k1=rand()%2+2,k2=rand()%3+2,r=rand()%6; if(r==0) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=1,B[Zb].rr=0,B[Zb].mr=k1*2; if(r==1) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=2; if(r==2) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=3,B[Zb].rr=k2,B[Zb].mr=k1; if(r==3) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=4; if(r==4) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=5,B[Zb].rr=1,B[Zb].mr=k2*2; if(r==5) B[Zb].xx=x-K,B[Zb].yy=y,B[Zb].Zhong=rand()%2+6,B[Zb].rr=k1+1,B[Zb].mr=k2+3; } void Cout(int i,int j,int a) { int R=rand()%500,jk=0; if(i-K>=0&&i-K<=1&&j>=2&&j<=6) return; if(a!=4) { if(m[i][j]==0&&(a==0||a==3)) SetPos(i-K,j),Color(7),cout<<"■"; if(m[i][j]==1&&a==5) SetPos(i-K,j),Color(0),cout<<" ";//空气 if(m[i][j]==2) SetPos(i-K,j),Color(8),cout<<"■"; if(m[i][j]>=3&&m[i][j]<6) SetPos(i-K,j),Color(5),cout<<"█",m[i][j]++; if(m[i][j]==6&&a!=5) SetPos(i-K,j),cout<<" ",m[i][j]=1; if(m[i][j]==7) SetPos(i-K,j),Color(9),cout<<"~ "; if(m[i][j]==8) SetPos(i-K,j),Color(10),cout<<"~ "; if(m[i][j]==9) SetPos(i-K,j),Color(3),cout<<"◆"; if((m[i][j]==1||m[i][j]==8)&&m[i-1][j]>=10&&m[i-1][j]<=30&&a!=5) {int M=m[i][j];m[i][j]=m[i-1][j],m[i-1][j]=M;if(M==1) SetPos(i-K-1,j),cout<<" ";}//炸弹下落 if(m[i][j]==1&&m[i-1][j]==9&&a!=5) {m[i][j]=9,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<" ";jk=1;}//宝石下落 if(m[i][j]>=10&&m[i][j]<=30) {m[i][j]++;if(m[i][j]%3==0) Color(4);else Color(5);SetPos(i-K,j),cout<<"●";}//炸弹计时 if(m[i][j]==1&&m[i-1][j]==7&&a!=5) {m[i][j]=7,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<" ";jk=1;}//岩浆下落 if(m[i][j]==0&&m[i-1][j]==7&&R<=2) m[i][j]=m[i-1][j],m[i-1][j]=1,SetPos(i-K-1,j),cout<<" ";//岩浆融解 if(m[i][j]==7&&R>2&&R<=5) {int r=rand()%3-1; if(m[i][j+r]==1) m[i][j+r]=m[i][j];if(m[i][j+r]==8) m[i][j+r]=2;}//岩浆扩散 if(R<50&&R>=20&&m[i+1][j+1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j+1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<" "; if(R<80&&R>=50&&m[i+1][j-1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j-1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<" ";//岩浆平面 if(m[i][j]==1&&m[i-1][j]==8&&a!=5) {m[i][j]=8,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<" ";jk=1;}//水下落 if(m[i+1][j+1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j+1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<" "; if(m[i+1][j-1]==1&&m[i+1][j]==8&&m[i][j]==8) m[i+1][j-1]=8,m[i][j]=1,SetPos(i-K,j),Color(0),cout<<" ";//水平面 if((m[i+1][j]==8&&m[i][j]==7)||(m[i+1][j]==7&&m[i][j]==8)) m[i][j]=2,m[i-1][j]=1,SetPos(i-K-1,j),Color(0),cout<<" ";//变石头 if(m[i][j]==0&&m[i-1][j]==8&&R>5&&R<=7) m[i][j]=m[i-1][j],m[i-1][j]=1,SetPos(i-K-1,j),cout<<" ";//水融解 if(m[i][j]==8&&R>7&&R<=9) {int r=rand()%3-1; if(m[i][j+r]==1) m[i][j+r]=m[i][j];if(m[i][j+r]==7) m[i][j+r]=2;}//水扩散 if(m[i][j]==31) SetPos(i-K,j),cout<<" ",Zha(i,j); } else if(a!=5)//界外 { if(m[i][j]>=3&&m[i][j]<6) m[i][j]++; if(m[i][j]==6) m[i][j]=1; if((m[i][j]==1||(m[i][j]>=3&&m[i][j]<=6))&&m[i-1][j]>=10&&m[i-1][j]<=30) m[i][j]=m[i-1][j],m[i-1][j]=1;//炸弹下落 if(m[i][j]>=10&&m[i][j]<=30) m[i][j]++;//炸弹计时 if(m[i][j]==1&&m[i-1][j]==9) m[i][j]=9,m[i-1][j]=1;//宝石下落 if(m[i][j]==1&&m[i-1][j]==7) m[i][j]=7,m[i-1][j]=1;//岩浆下落 if(m[i][j]==1&&m[i-1][j]==8) m[i][j]=8,m[i-1][j]=1;//水下落 }if(jk==1) jk=0,Cout(i,j,5); Color(0); } void Map(int a); void Wo() { SetPos(X-K,Y),cout<<" "; //清除上一次残影 if(m[X][Y]==9) Blood++,Score+=5,m[X][Y]=1,system("color 2F"),Sleep(50),system("color 0F"),Map(3); if(tX!=0&&(m[X-1][Y]==1||m[X-1][Y]==7||m[X-1][Y]==8||m[X-1][Y]==9||(m[X-1][Y]>=3&&m[X-1][Y]<=6))) tX--,X-=2; //上跳 if(m[X+1][Y]==1||(m[X+1][Y]>=3&&m[X+1][Y]<=6)||m[X+1][Y]==7||m[X+1][Y]==8||m[X+1][Y]==9) X++; //掉落 if(m[X+1][Y]==0||m[X+1][Y]==2||(m[X+1][Y]>=3&&m[X+1][Y]<=6)) tX=Er=0; //跳跃次数清零 if(m[X-1][Y]==0||m[X-1][Y]==2||(m[X-1][Y]>=10&&m[X-1][Y]<=31)) tX=Er=0; //跳跃次数清零 if(X<=K) tX=Er=0,X=K; if(X>=K+28) X=K+28,Kb=1; //高度上下限 if(m[X][Y]==7) m[X-1][Y]=m[X-2][Y]=1,tX+=8; if(m[X][Y]!=1&&m[X][Y]!=8&&m[X][Y]!=9) Blood--,m[X][Y]=1,system("color 4F"),Sleep(50),system("color 0F"),Map(3); if(Blood<=0) Win=-1; SetPos(X-K,Y),Color(1),cout<<"●"; } void Map(int a) { SetPos(0,2);cout<<"生命 :"<<Blood<<" "; SetPos(1,2);cout<<"得分 :"<<Score<<" "; if(a==3) system("cls"); for(int i=K+28;i>=K;i--)for(int j=1;j<=20;j++) Cout(i,j,a); for(int i=K+33;i>K+28;i--)for(int j=1;j<=20;j++) Cout(i,j,4); if(a!=3) Wo(); } void CircleBomb(int x,int y,int s,int ms) { if(s==ms) return; for(int i=x-s;i<=x+s;i++) for(int j=y-s;j<=y+s;j++) { float k=(i-x)*(i-x)+(j-y)*(j-y)-s*s; if(k<=s&&k>=-s&&j>0&&j<=20&&m[i+K][j]!=2&&m[i+K][j]!=9) m[i+K][j]=3; }Zb++; B[Zb].xx=x,B[Zb].yy=y,B[Zb].Zhong=1,B[Zb].rr=s+1,B[Zb].mr=ms; Sleep(30); } void LineBomb(int i,int j) { for(int k=0;j+k<=20;k++) if(m[i+K][j+k]!=2&&m[i+K][j+k]!=9) m[i+K][j+k]=3; for(int k=0;j+k<=20;k++) if(m[i+K+1][j+k]!=2&&m[i+K+1][j+k]!=9) m[i+K+1][j+k]=3; for(int k=0;j-k>0;k++) if(m[i+K][j-k]!=2&&m[i+K][j-k]!=9) m[i+K][j-k]=3; for(int k=0;j-k>0;k++) if(m[i+K+1][j-k]!=2&&m[i+K+1][j-k]!=9) m[i+K+1][j-k]=3; } void ZuanBomb(int i,int j) { int k; for(k=0;m[i+K+k][j]!=2&&k<=7;k++) if(m[i+K+k][j]!=9) m[i+K+k][j]=3; int k1=rand()%2+2;Zb++; B[Zb].xx=i+k,B[Zb].yy=j,B[Zb].Zhong=1,B[Zb].rr=0,B[Zb].mr=k1*3/2; } void TrigleBomb(int i,int j,int r,int mr) { if(r==mr) return; if(r==1) m[i+K][j]=3,i++; for(int k=max(0,j-r);k<=min(20,j+r);k++) if(m[i+K][k]!=2&&m[i+K][k]!=9) m[i+K][k]=3; Zb++;B[Zb].xx=i+1,B[Zb].yy=j,B[Zb].Zhong=5,B[Zb].rr=r+1,B[Zb].mr=mr; } void GunBomb(int i,int j,int r,int mr) { if(mr<=0) return;Zb++; B[Zb].xx=i,B[Zb].yy=j+2,B[Zb].Zhong=6,B[Zb].rr=r,B[Zb].mr=mr-1;Zb++; B[Zb].xx=i,B[Zb].yy=j,B[Zb].Zhong=1,B[Zb].rr=r-1,B[Zb].mr=r; } void GunBomb2(int i,int j,int r,int mr) { if(mr<=0) return;Zb++; B[Zb].xx=i,B[Zb].yy=j-2,B[Zb].Zhong=7,B[Zb].rr=r,B[Zb].mr=mr-1;Zb++; B[Zb].xx=i,B[Zb].yy=j,B[Zb].Zhong=1,B[Zb].rr=r-1,B[Zb].mr=r; } void ThreeBomb(int x,int y,int s,int ms) { for(int i=1;i<=3;i++) { int Xx=rand()%(2*s+1)-s,Yy=rand()%(2*s+1)-s; Zb++; B[Zb].xx=Xx+x,B[Zb].yy=Yy+y,B[Zb].Zhong=1,B[Zb].rr=0,B[Zb].mr=ms+rand()%3-1; } } void Sheng(int a) { K++; for(int i=1;i<=20;i++) { int R=rand()%max(80-(K/10),30);int Rr=rand()%200; if(R<=3) m[K+28][i]=2; else if(R<=6) m[K+28][i]=7; else if(R<=9) m[K+28][i]=8; if(Rr==0) m[K+28][i]=9; } if(a!=1) system("cls"),Map(0); } void Jiao() { SetPos(0,2);Color(1),cout<<"●",Color(7),cout<<" ■ ",Color(8),cout<<" ■ ",Color(4),cout<<" ● ",Color(9),cout<<"~ ",Color(0),cout<<" ",Color(10),cout<<"~ ",Color(3),cout<<" ◆"; SetPos(2,2);Color(0),cout<<"你 泥土 石块 炸弹 岩浆 水 宝石"; SetPos(4,1),cout<<" ↑ 空格放炸弹..."; SetPos(5,1),cout<<"← →移动 "; SetPos(6,1),cout<<" ↓ 可二段跳。"; SetPos(8,1),cout<<"炸弹种类随机,计时3秒爆炸。"; SetPos(10,1),cout<<"(一共有7种炸弹,有几率组合一起爆炸)"; SetPos(12,1),cout<<"岩浆和水有几率向左右扩散..."; SetPos(14,1),cout<<"它们相融会产生石块。"; SetPos(16,1),cout<<"岩浆和爆炸波会使你减血..."; SetPos(18,1),cout<<"岩浆还会使你上跳,宝石可以加血。"; SetPos(20,1),cout<<"画面每隔一段时间会下降..."; SetPos(22,1),cout<<"当你抵达画面底部时,画面会随你一起下降..."; SetPos(24,1),cout<<"当你被抵在画面顶部时,会持续减血。"; SetPos(26,1),cout<<"每隔一段时间分数会增加...",Color(5),cout<<"200分即可通关!"; SetPos(28,1);Color(1);cout<<"按 y 开始游戏!"; char tt;while(tt!='y') tt=_getch(); } void Start() { Color(5); SetPos(2,3);Color(7),cout<<" ■ ",Color(5),cout<<"掘",Color(7),cout<<" ■■■■ "; SetPos(3,3);Color(7),cout<<" ■■ ",Color(5),cout<<" ↓",Color(7),cout<<" ■■■■ "; SetPos(4,3);Color(7),cout<<" ■■■■ ",Color(5),cout<<" ↓",Color(7),cout<<" ■■■■■ "; SetPos(5,3);Color(7),cout<<" ■■■■■",Color(5),cout<<"↓",Color(7),cout<<" ■■■■■ "; SetPos(6,3);Color(7),cout<<" ■■■■■ ■■■",Color(5),cout<<"地",Color(7),cout<<"■■ "; SetPos(7,3);Color(7),cout<<" ■■■■■■■■■■■■ ";Color(5); SetPos(22,2);Color(1);cout<<"按 y 确定!"; SetPos(22,10);Color(9);cout<<" 开始游戏! "; SetPos(24,10);Color(0);cout<<" 操作攻略! "; SetPos(27,1);Color(3);cout<<"注意!这里 绝对不能是拼音输入法!"; SetPos(28,5);Color(3);cout<<"↓";Color(0); char tt;int Ee=0; while(tt!='y') { tt=_getch(); if(tt==72&&Ee!=0) Ee--; if(tt==80&&Ee!=2) Ee++; SetPos(22,10);if(Ee==0) Color(9);else Color(0);cout<<" 开始游戏! "; SetPos(24,10);if(Ee==1) Color(9);else Color(0);cout<<" 操作攻略! "; }system("color 0F");system("cls");Color(0); if(Ee==1) Jiao(); } int main() { system("mode con cols=42 lines=31"); CONSOLE_CURSOR_INFO cursor_info={1,0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info); srand((unsigned)time(NULL)); Start(); St:system("cls"); K=-5,T=Win=Score=0;X=Y=2;Blood=20; memset(m,0,sizeof(m));memset(B,0,sizeof(B)); for(int i=5;i<=15;i++) for(int j=1;j<=20;j++) m[i][j]=1; for(int i=1;i<=10;i++) Sheng(1); Map(0); while(Win==0) { T++;Kb=0;if(Score>=200) Win=1; if(GetAsyncKeyState(VK_UP)&0x8000&&tT==0&&Er<2) tT++,tX+=4,Er++; if((GetAsyncKeyState(VK_UP)&0x8000)?0:1) tT=0; if(GetAsyncKeyState(VK_LEFT)&0x8000&&Y>1&&(m[X][Y-1]==1||m[X][Y-1]==7||m[X][Y-1]==8||m[X][Y-1]==9)&&(tY==0||tY>=2)) SetPos(X-K,Y),cout<<" ",Y--; if(GetAsyncKeyState(VK_RIGHT)&0x8000&&Y<20&&(m[X][Y+1]==1||m[X][Y+1]==7||m[X][Y+1]==8||m[X][Y+1]==9)&&(tY2==0||tY2>=2)) SetPos(X-K,Y),cout<<" ",Y++; if((GetAsyncKeyState(VK_LEFT)&0x8000)?0:1) tY=0;if((GetAsyncKeyState(VK_RIGHT)&0x8000)?0:1) tY2=0; if((GetAsyncKeyState(VK_LEFT)&0x8000)?1:0) tY++;if((GetAsyncKeyState(VK_RIGHT)&0x8000)?1:0) tY2++; if(kbhit()) {char e=_getch();if(e==' '&&m[X-1][Y]!=0&&m[X-1][Y]!=2&&(m[X+1][Y]<=10||m[X+1][Y]>=31)&&Kb==0) m[X][Y]=10,X--;} int zb=Zb; for(int i=zb-10;i<=zb;i++) { if(B[i].Zhong==1) CircleBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0; if(B[i].Zhong==2) LineBomb(B[i].xx,B[i].yy),B[i].Zhong=0; if(B[i].Zhong==3) ThreeBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0; if(B[i].Zhong==4) ZuanBomb(B[i].xx,B[i].yy),B[i].Zhong=0; if(B[i].Zhong==5) TrigleBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0; if(B[i].Zhong==6) GunBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0; if(B[i].Zhong==7) GunBomb2(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong=0; } Map(1);Sleep(40); if(T%max(10,40-Score/16)==0||Kb>=1) Sheng(0); if(T%20==0) Score++; } if(Win!=0) { if(Win>0) {system("color 6E"),Color(3);SetPos(0,2);cout<<"You! Win!!!",Sleep(1000);} if(Win<0) {system("color 7F"),Color(4);SetPos(0,2);cout<<"You! Die!!!",Sleep(1000);} SetPos(1,2);cout<<"请输入y重新开始游戏"; A:char e=_getch();if(e!='y') goto A;goto St; } }2.贪吃蛇
#include <iostream> #include <cstdio> #include <cstdlib> #include <ctime> #include <conio.h> #include <cmath> #include <windows.h> using namespace std; 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=25,n=40; 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<< "-"; } 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 0; for(int i=1;i<=snake_length-1;i++)if(snake[0].x==snake[i].x&&snake[0].y==snake[i].y)return 0; return 1; } 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() { cout<<"--------------------贪吃蛇---------------------"<<endl; cout<<"请注意窗口大小,以免发生错位.建议将窗口调为最大."<<endl; cout<<"先选择难度.请在1-10中输入1个数,1最简单,10则最难"<<endl; cout<<"然后进入游戏画面,以方向键控制方向.祝你游戏愉快!"<<endl; cout<<"-----------------------------------------------"<<endl; 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); 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; }MC不灭!
-
通过的题目
- 1
- 2
- 3
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 24
- 25
- 32
- 33
- 37
- 84
- 183
- 189
- 230
- 351
- 356
- 357
- 360
- 362
- 518
- 561
- 565
- 569
- 577
- 613
- 641
- 657
- 659
- 663
- 676
- 677
- 678
- 684
- 685
- 688
- 691
- 694
- 696
- 701
- 703
- 704
- 709
- 715
- 720
- 738
- 749
- 752
- 755
- 800
- 811
- 815
- 816
- 817
- 818
- 819
- 822
- 823
- 824
- 825
- 826
- 828
- 829
- 833
- 834
- 835
- 836
- 837
- 839
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 849
- 850
- 851
- 852
- 853
- 855
- 856
- 857
- 859
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 870
- 871
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 894
- 896
- 898
- 899
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 910
- 914
- 915
- 917
- 919
- 921
- 924
- 925
- 926
- 928
- 931
- 932
- 933
- 935
- 941
- 944
- 946
- 947
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 962
- 963
- 964
- 966
- 967
- 970
- 972
- 974
- 975
- 977
- 978
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1014
- 1016
- 1017
- 1018
- 1020
- 1023
- 1024
- 1025
- 1026
- 1028
- 1030
- 1034
- 1035
- 1036
- 1037
- 1042
- 1043
- 1044
- 1049
- 1052
- 1055
- 1058
- 1059
- 1062
- 1063
- 1068
- 1071
- 1073
- 1075
- 1078
- 1080
- 1084
- 1085
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1098
- 1099
- 1104
- 1107
- 1108
- 1110
- 1114
- 1115
- 1118
- 1120
- 1128
- 1132
- 1134
- 1138
- 1140
- 1153
- 1162
- 1163
- 1166
- 1178
- 1190
- 1191
- 1215
- 1218
- 1219
- 1222
- 1223
- 1224
- 1225
- 1230
- 1237
- 1238
- 1239
- 1244
- 1250
- 1252
- 1263
- 1265
- 1276
- 1278
- 1279
- 1280
- 1282
- 1283
- 1284
- 1285
- 1289
- 1304
- 1309
- 1341
- 1344
- 1345
- 1348
- 1363
- 1378
- 1407
- 1413
- 1422
- 1425
- 1433
- 1436
- 1485
- 1489
- 1490
- 1491
- 1498
- 1500
- 1501
- 1502
- 1503
- 1505
- 1506
- 1507
- 1508
- 1511
- 1538
- 1551
- 1554
- 1562
- 1564
- 1594
- 1595
- 1621
- 1622
- 1637
- 1654
- 1663
- 1673
- 1682
- 1685
- 1686
- 1687
- 1688
- 1722
- 1732
- 1734
- 1763
- 1764
- 1783
- 1826
- 1836
- 1860
- 1907
- 1930
- 1954
- 1966
- 2275
- 2308
- 2438
- 2445
- 2495
- 2549
- 2550
- 2554
- 2555
- 2627
- 2630
- 2632
- 2720
- 2721
- 2722
- 2723
- 2800
- 2811
- 2910
- 2916
- 2948
- 2953
- 2954
- 2956
- 2965
- 2975
- 2999
- 3004
- 3005
- 3007
- 3014
- 3021
- 3031
- 3032
- 3033
- 3034
- 3035
- 3040
- 3044
- 3046
- 3047
- 3048
- 3063
- 3064
- 3070
- 3074
- 3075
- 3080
- 3096
- 3102
- 3103
- 3104
- 3122
- P0165
- 3142
- 3148
- 3160
- P0168
- P3199
- 3200
- 3219
- 3222
- 3235
- 3236
- 3237
- 3238
- 3240
- 3247
- 3248
- 3260
- 3269
- 3270
- 3271
- 3272
- 3274
- 3275
- 3278
- 3291
- 3294
- 3312
- 3358
- 3359
- 3362
-
最近活动
- 2025 CSP-J重现 IOI
- 阅读量超大的CSP题目 IOI
- 第四届小云雀杯普及组初赛 ACM/ICPC
- csp普专提模拟5 OI
- csp普专提模拟4 OI
- csp普专提模拟3 OI
- 深搜 作业
- 递推 作业
- 基础强化4 IOI
- 少年宫暑期零基础day5(2025/07/09)【张正标】 作业
- GESP四级真题打卡1 IOI
- 少年宫周日晚上高级C2期末测试【张正标】 IOI
- 红盾周六上午班期末测试 IOI
- 红盾周六上午班(20250607) 作业
- 红盾周六上午班(20250602) 作业
- 红盾周六上午班(20250524) 作业
- 越秀区第九届STEAM科创教育展示活动C++项目——小学组 OI
- 少年宫周日晚上高级C1C2班(2025/06/08)【张正标】 作业
- 红盾周六上午班(20250510) 作业
- 少年宫周日晚上高级C1C2班(2025/04/20)【张正标】 作业
- 少年宫周日下午高级A1班03 作业
- 红盾周六上午班(20250412) 作业
- 越秀区少年宫4月月测(初级) OI
- 阶段测试test 作业
- 越秀区少年宫4月月测(普及组难度) OI
- 红盾周六上午班(20250405) 作业
- 少年宫周日晚上高级C1C2班(2025/04/13)【张正标】 作业
- 少年宫周日晚上高级C1C2班(2025/03/16)【张正标】 作业
- 红盾周六上午班(2025/03/15)【张正标】 作业
- 少年宫周三下午四点班(20250312)【陈潮雄】 作业
- 少年宫周三下午六点班(20250312)【陈潮雄】 作业
- 16中课堂+作业【20250311】 作业
- 少年宫周日晚上高级C1C2班(2025/03/09)【张正标】 作业
- 少年宫周日晚上高级C1班开学测试 IOI
- 少年宫周六晚上中级B班【吴飞】 作业
- 少年宫周五晚上中级C2班【吴飞】 作业
- 红盾周六上午班test IOI
- 2025年天河区数字素养大赛C++赛项小学组正式赛 OI
- 2025年天河区数字素养大赛C++赛项小学组热身赛 OI
- 红盾寒假下午班test IOI
- 添胜集训day4 IOI
- 添胜集训day3 IOI
- 添胜集训day2 IOI
- 添胜数组集训day1 IOI
- 周日晚上 深搜 IOI
- C++初级A1班06-字符串2 IOI
- C++初级A1班05-排序基础 IOI
- C++初级C2C3班06-循环结构2 IOI
- 初级C3班测试 IOI
- C++初级A1班04-字符、字符数组、字符串 IOI
- C++高级B1班03-背包DP IOI
- C++初级A1班03-二维数组 IOI
- C++初级C2C3班05-循环结构1 IOI
- C++初级C2C3班04-选择结构练习 IOI
- C++初级A1班02-一维数组 IOI
- C++高级B1班02-动态规划 IOI
- J组赛前模拟3 OI
- J组赛前模拟2 OI
- J组赛前模拟7 20241001 IOI
- C++初级C2C3班02-顺序结构练习 IOI
- C++初级A1班01-循环复习 IOI
- C++初级C2C3班01-顺序结构基础 IOI
-
最近编写的题解
题目标签
- 语言基础
- 164
- 循环语句
- 74
- 其他
- 55
- 竞赛
- 36
- 字符串
- 36
- 选择语句
- 36
- 一维数组
- 33
- 动态规划
- 31
- 字符数组
- 29
- NOIP
- 27
- 语言入门
- 25
- 二维数组
- 22
- 搜索
- 20
- 位运算
- 17
- 排序
- 17
- 递归
- 16
- 普及组
- 16
- 贪心
- 13
- 数学
- 11
- 年份
- 11