不好意思让大家久等了

代码如下:

#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h>
#define high 20
#define length 500
using namespace std;
int row=19,line=2,a[high][length]={0};
void get_new(void);//开始新游戏
void SetTitle(LPCSTR lpTitle) {SetConsoleTitle(lpTitle);
}
void all_in_2(void){for(int i=1;i<=high;i++) for(int j=1;j<=length;j++) a[i][j]=2;
}
void DrawInMillSecond(int millsecond_of_words,string pll){//逐字输出 for(int i=0;i<=pll.size()-1;i++) Sleep(millsecond_of_words),cout<<pll[i];cout<<endl;
}
void HideCursor(void){CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void color(string pll){if(pll=="g") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN);if(pll=="b") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_BLUE);if(pll=="o") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED |FOREGROUND_BLUE| FOREGROUND_GREEN );if(pll=="r") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);if(pll=="c") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN |FOREGROUND_BLUE);if(pll=="p") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED |FOREGROUND_BLUE);
}
void clear(int x,int y){system("cls");/*COORD coordScreen = { 0, 0 };DWORD cCharsWritten;CONSOLE_SCREEN_BUFFER_INFO csbi;DWORD dwConSize;HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsole, &csbi);dwConSize = csbi.dwSize.X * csbi.dwSize.Y;FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten);GetConsoleScreenBufferInfo(hConsole, &csbi);FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);SetConsoleCursorPosition(hConsole, coordScreen);*/
}
void rand_map(void){all_in_2();srand(time(NULL));for(int i=16;i<=19;i++)for(int j=2;j<=499;j++){int s=rand()%8;if(s==0) a[i][j]=1;//stop}for(int i=1;i<=20;i++) for(int j=1;j<=500;j++) if(i==1||j==1||i==20||j==500) a[i][j]=3;//stopa[row][line]=4,a[19][499]=5;
}
void draw(void){a[row][line]=4;for(int i=row-9;i<=row+9;i++){for(int j=line-16;j<=line+16;j++){if(i>0&&j>0&&i<21&&j<501){if(a[i][j]==1||a[i][j]==3) color("r"),cout<<"*",color("o");if(a[i][j]==2) cout<<" ";if(a[i][j]==4) color("g"),cout<<"*",color("o");if(a[i][j]==5) color("b"),cout<<"*",color("o");}}cout<<endl;}
}
void drop(void){while(a[row+1][line]==2||a[row+1][line]==0) a[row+1][line]=4,a[row][line]=2,row++;
}
void got(void){if(_kbhit()){char g=getch();if(g=='d'){if(a[row][line+1]!=1&&a[row][line+1]!=3){line++;a[row][line-1]=2;a[row][line]=4;drop();clear(0,0);draw();}}if(g=='a'){if(a[row][line-1]!=1&&a[row][line-1]!=3){line--;a[row][line+1]=2;a[row][line]=4;drop();clear(0,0);draw();}}if(g=='w'){clock_t start,finish;if(a[row-2][line]!=1&&a[row-2][line]!=3){row-=2;a[row+2][line]=2;a[row][line]=4;clear(0,0);draw();start=clock();finish=clock();while(finish-start<=200){got();finish=clock();}    drop(); clear(0,0);draw();} }if(g=='q'){clock_t start,finish;if(a[row-1][line]!=1&&a[row-1][line]!=3){row-=1;a[row+1][line]=2;a[row][line]=4;clear(0,0);draw();start=clock();finish=clock();while(finish-start<=200){got();finish=clock();}    drop();     clear(0,0);draw();} }if(g=='e'){clock_t start,finish;if(a[row-3][line]!=1&&a[row-3][line]!=3){row-=3;a[row+3][line]=2;a[row][line]=4;clear(0,0);draw();start=clock();finish=clock();while(finish-start<=200){got();finish=clock();}    drop(); clear(0,0);draw();} }if(g=='f'){if(a[row][line+2]==2){a[row][line+2]=4;a[row][line]=2;line+=2;drop(); clear(0,0);draw();}   }if(g=='p'){row=19,line=2;memset(a,0,sizeof(a));get_new();}}
}
void play(void){while(true)if(a[19][499]!=5) goto win;else got();win:clear(0,0);color("r");DrawInMillSecond(150,"win!");color("o");
}
void get_new(void){clear(0,0);HideCursor();rand_map();draw();play();
}
void menu(void){ DrawInMillSecond(100,"欢迎来到马里奥!");Sleep(250);clear(0,0);cout<<"跳过教程?(y/n)"<<endl;char skip=getch();if(skip=='y'||skip=='Y')goto skips;clear(0,0);DrawInMillSecond(100,"规则:w跳,q小跳,e大跳,a左,d右,p重来,f穿墙。绿色的是你,红色为障碍,蓝色为终点。");Sleep(250);clear(0,0);DrawInMillSecond(100,"开始吧!");Sleep(250);system("pause"); clear(0,0);skips:HideCursor();
}
void change_in_english_wordline(void){keybd_event(16,0,0,0);keybd_event(16,0,0x2,0);
}
int main(){SetTitle("马里奥");change_in_english_wordline();menu(); get_new();
}

马里奥(附代码windows)相关推荐

  1. C++马里奥(附代码)

    这个代码要在linux环境下运行,过几天在上windows的 ,请大家多多支持,谢谢!好,话不多说,上代码! #include <termio.h> #include <unistd ...

  2. 独家 | 手把手教TensorFlow(附代码)

    上一期我们发布了"一文读懂TensorFlow(附代码.学习资料)",带领大家对TensorFlow进行了全面了解,并分享了入门所需的网站.图书.视频等资料,本期文章就来带你一步步 ...

  3. Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载

    场景 HSSFworkbook,XSSFworkbook,SXSSFworkbook区别 HSSFWorkbook: 是操作Excel2003以前(包括2003)的版本,扩展名是.xls:导出exce ...

  4. 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

    一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...

  5. html5 websocket插件,html5实现的WebSocket一个小例子(附代码)

    本篇文章给大家带来的内容是关于html5实现的WebSocket一个小例子(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 客户端代码: var socket; if (&q ...

  6. (转)大数据量分页存储过程效率测试附代码

    大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存: ...

  7. c++简易病毒(附代码)

    闲的没事做了个病毒,可以用来整朋友,在Dev-c++上可以运行,附代码 #include<windows.h> #include #include #include using names ...

  8. 基于单片机的压力流量报警器(附代码+仿真+论文)

    基于单片机的压力流量报警器(附代码+仿真+论文) **==完整论文+代码+仿真可关注我在主页私我==** 摘要 关键字 第一章绪论 1.1课题背景及其意义 1.2 国内外的研究状况 1.3本文的主要研 ...

  9. SLAM学习 | 单目相机标定(附代码实测可用)

    SLAM学习 | 单目相机标定(附代码实测可用) 1 针孔相机模型 2 张正友标定法 3 VS2013下配置openCV 4 标定过程与结果 5 经验总结与注意事项 概要: 这篇文章介绍如何解决做SL ...

最新文章

  1. 服务器集群负载均衡(F5,LVS,DNS,CDN)区别以及选型
  2. Verify that you have sufficient access to that key
  3. BZOJ 1012: [JSOI2008]最大数maxnumber(线段树)
  4. 腾讯视频怎么删除收藏的内容
  5. 上传图片插件鼠标手cursor:pointer;不生效
  6. (41)css 三大隐藏属性
  7. java 多线程基础, 我觉得还是有必要看看的
  8. 厦门大学c语言第七八章作业答案,厦门大学 运筹学 第七、八章作业
  9. linux内核编译(升级)
  10. 读《scikiit-learn机器学习》黄永昌第二章
  11. 还在用iTunes管理iPhone这款软件帮你轻松解决
  12. python之math_cmath
  13. c语言一个数平方表示,C语言 - 利用 汇编思想 写一个数的平方
  14. 查看计算机软件配置,最齐全的查看电脑配置指令集锦 查看电脑配置软件推荐【图文】...
  15. Hyper-v 实现桌面虚拟化
  16. Android 网络请求框架浅解析
  17. Linux系统(三)系统基础扫盲大全
  18. VuePress + GitHub Pages 生成静态网站
  19. WordPress网站更改后台登录地址保姆级图文教程
  20. 查询一列不同值的数据 mysql_怎样查询两个表中同一字段的不同数据值

热门文章

  1. 从申请到调用:全国快递物流查询 API 使用教程
  2. 支付宝门店码,全面助力商家快速实现数字化经营
  3. 安卓虚拟摄像头_iPhone 的第四颗摄像头位置,为什么给了激光雷达?
  4. 三维模型obj文件解析
  5. 网迅wx1860网卡原理图驱动
  6. tp5shop tp5商城 WSTMart B2B2C开源商城系统
  7. 服务器远程不上怎么办?
  8. Python 比较大小
  9. 线性代数拾遗(1)—— 行列式的三种公理化构造
  10. 【数字华容道】一、核心