C++实现网上冲浪(EDGO上的那个)

#include<bits/stdc++.h>
#include<cstdio>
#include <stdlib.h>
#include<algorithm>  
#include<stdio.h>
#include<iostream>    
#include<windows.h>   
#include<conio.h>    
#include <time.h>    
using namespace std;
int dx,dy;
int mx,my;
int sea[5][3];
int ms=0;
int maxms=0;
int healthy=3;
/*
000
000
080
*/
int x_what(int x) {//取随机数
	srand((unsigned)time(NULL));
	return( rand() % x);
}
int first(){
	char ch;
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			sea[i][j]=0;
		}
	}
	sea[4][1]=8;
	mx=4;
	my=1;
	cout<<"					网上冲浪(无尽)"<<endl;
	cout<<"规则:asd移动,8人1石头"<<endl;
	cout<<"By:黑客小C"<<endl;
	cout<<"按任意键开始";
	while(!kbhit()){
		
	}
	system("cls");
	int dx=1;
}
int out(){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
	cout<<"命:"<<healthy<<endl; 
	for(int i=0;i<5;i++){
		for(int j=0;j<3;j++){
			if(i==mx&&j==my){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
				cout<<8;
			}
			else if(i==dx&&j==dy){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED| FOREGROUND_BLUE|FOREGROUND_GREEN);
				cout<<1;
			}
			else{
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
				cout<<0;
			}
		}
		cout<<endl;
	}
}
int play(){
	char ch;
	if(kbhit()){
		ch=getch();
		if(ch=='a'){
			my=0;
		}
		if(ch=='s'){
			my=1;
		}
		if(ch=='d'){
			my=2;
		}
	}
}
int s(){
	if(dx==4){
		dx=0;
		dy=x_what(3);
	}
	else{
		dx++;
	}
}
int main(){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
	first();
	ms=0;
	while(healthy>0){
		out();
		play();
		s();
		Sleep(500);
		system("cls");
		ms+=50;
		if(dy==my&&dx==mx){
			healthy--;
		}
	}
	system("cls");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED	); 
	cout<<"米数:"<<ms<<endl;
	cout<<"游戏结束!"<<endl;
	cout<<"排行榜:"<<endl;
	if(ms>1000){
		cout<<"1:玩家:"<<ms<<endl;
		cout<<"2:黑客小C:"<<1000;
	}
	else{
		cout<<"1:黑客小C:"<<1000<<endl;
		cout<<"2:玩家:"<<ms;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值