上效果图~~~

灵感来源:谷歌chrome的小恐龙游戏(就是每次断网都会弹出来的那个)

那个#是墙。。。

<是飞弹,移动速度为墙的两倍。。。

飞弹的走位很像小恐龙里的鸟,但它并不算一个墙。。。而鸟算一个仙人掌(墙)。。。

放代码:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
#define N 80
#define up 72
#define left 75
#define right 77
#define down 80
void run();
void yn();
void print(int [][N]);
void menu();
int scr[22][N]={0},pl=9,shit,width=70,score=0,death=0,jump_time=0,game_time=0,day=0,jump_height=0,shift_time=0;
int main(){menu(); run();
}void drawplayer(int a[][N],int xlu,int ylu){//画玩家for(int i=1;i<=3;i++)a[xlu][ylu+i]=1;for(int i=0;i<=4;i++)a[xlu+1][ylu+i]=1;a[xlu+2][ylu+1]=1;a[xlu+2][ylu+3]=1;
}bool search_player(int a[][N],int xlu,int ylu){//检测与障碍的碰撞for(int i=1;i<=3;i++)if(a[xlu][ylu+i]==2 || a[xlu][ylu+i]==3)return false;for(int i=0;i<=4;i++)if(a[xlu+1][ylu+i]==2 || a[xlu+1][ylu+i]==3)return false;if(a[xlu+2][ylu+1]==2 || a[xlu+2][ylu+1]==3)return false;if(a[xlu+2][ylu+3]==2 || a[xlu+2][ylu+3]==3)return false;return true;
}void days(int q,int a[][N]){//太阳&月亮for(int i=3;i<=7;i++){for(int j=51;j<=55;j++){a[i][j]=0;}}if(q==1){//月亮,开启昼夜才有a[4][52]=4;a[7][52]=4;for(int i=53;i<=54;i++){a[4][i]=4;a[5][i]=4;a[6][i]=4;a[7][i]=4;}a[4][54]=0;a[7][54]=0;a[5][55]=4;a[6][55]=4;}else{for(int i=3;i<=7;i++){for(int j=51;j<=56;j++){a[i][j]=4;}}a[4][51]=0;a[4][56]=0;a[7][51]=0;a[7][56]=0; }
}void print(int a[][N]){//绘图函数COORD c={0,0};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);int i,j;for(i=4;i<22;i++){a[i][width-1]=4; for(j=0;j<width;j++){ if(a[i][j]==0){printf(" ");}  if(a[i][j]==1)printf("@");if(a[i][j]==2)printf("#");if(a[i][j]==3)printf("<");if(a[i][j]==4){printf("*");}if(i==4&&j==width-1)printf("score:%d",score/20);if(i==5&&j==width-1) printf("Press Esc to exit");} printf("\n"); } for(j=0;j<width;j++)printf("~");
} void yn(){//死亡界面system("cls"); system("color 07"); printf("\n"); printf("\n"); printf("\t\t\t\t   *****GAME OVER*****\n\a"); printf("\t\t\t\t   *****YOU DIED!***** \n");printf("\t\t\t\t*****YOUR SCORE:%4d*****\n\n",score/20); printf("\t\t\t press y to continue,n to close(y/n)?\n"); printf("\t\t\t"); end:;switch(getch()){case 'y': case 'Y':death=0,score=0,memset(scr,0,sizeof(scr)),run();break; case 'n': case 'N':break; default :goto end;break; }
}void generate_block(int a[][N],int lala=rand()%6+1){//生成障碍,有三种依次为:从上至下的墙,飞弹,从下至上随机高度的墙。。。if(lala==5){for(int i=0;i<=19;i++){a[i][69]=2;}}else if(lala==6){int hehe=rand()%5+1;if(hehe<=1){a[19][69]=3;}else if(hehe<=4){a[14][69]=3;}else if(hehe==5){a[21][69]=3;}}else{for(int i=0;i<=lala;i++)a[21-i][69]=2;}
}void run() {//主函数//system("color 70");shit=0;day=0;system("cls");srand(time(0));while(1){score++;game_time++;if(game_time%60==0)//墙generate_block(scr);if(game_time%80==0)//飞弹generate_block(scr,6);//if(game_time/1000>=1 && day==0)//system("color 07"),game_time=0,day=1;  //去掉这些注释(run函数里的所有)可开启昼夜更替(但我觉得不好看)。。。//else if(game_time/1000>=1 && day==1)//system("color 70"),game_time=0,day=0;days(day,scr);if(kbhit()) //读取输入switch(getch()){case down:case 's': case 'S':if(jump_time<=15)shift_time=20,jump_time=0;break;case up: case 'W': case 'w':if(jump_time<=0)jump_time=25,jump_height=-1,shift_time=0;break;case 13 :system("pause");break;}if(jump_time<=0 && shift_time<=0){//正常if(search_player(scr,19,pl))drawplayer(scr,19,pl);elsegoto end;//新科技goto...感觉比break好用...}else if(jump_time>0){//跳jump_time--;if(jump_time<10){jump_height--;}else if(jump_time>15){jump_height++;}if(search_player(scr,19-jump_height,pl)){drawplayer(scr,19-jump_height,pl);}elsegoto end;}else if(shift_time>0){//蹲shift_time--;if(search_player(scr,20,pl))drawplayer(scr,20,pl);elsegoto end;}for(int i=4;i<22;i++)//移墙for(int j=0;j<=80;j++){if(scr[i][j]==2){scr[i][j]=0;if(j-1>=0)scr[i][j-1]=2;}}for(int i=4;i<22;i++)//移飞弹,可见速度较墙快了一倍for(int j=0;j<=80;j++){if(scr[i][j]==3){scr[i][j]=0;if(scr[i][j-1]==1)goto end;else if(scr[i][j-2]==1)goto end;else if(j-2>=0)scr[i][j-2]=3;}}print(scr);for(int i=4;i<22;i++)for(int j=0;j<=80;j++){if(scr[i][j]==1)scr[i][j]=0;}}end:;yn();
} void menu(){system("color 07");ShowCursor(false);//这一节照抄,指消去光标HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cci;GetConsoleCursorInfo(hOut,&cci);cci.bVisible=false;SetConsoleCursorInfo(hOut,&cci);//一直到这里照抄
}

由于没有bgm&图标黑科技,不需开项目。。。

直接controlACV即可。。。

源代码下载链接:http://pan.baidu.com/s/1c2yZm1M百度网盘

[c++简单小游戏]东搞西搞第二弹——谷歌chrome小恐龙升级版(啊哈)相关推荐

  1. Game-Tech小游戏专场第二趴,这次帝都见

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云 发表于云+社区专栏 自从小游戏推出以来,凭借微信带来的巨大流量和变现能力,小游戏生态极速地建立了起来,短短半年多时间已经出 ...

  2. python入门小游戏代码20行,python入门小游戏代码

    python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...

  3. javascript小游戏_个人网站集成js小游戏《圈小猫》教程及源码

    今天在某网站浏览帖子的时候,发现帖子被删除了,然后弹出了404页面,页面上集成了一个小游戏,小游戏长什么样子呢?看下面这个图! 第一步 查看小游戏源码,发现这个小游戏完全是由JavaScript编写的 ...

  4. python经典小游戏五子棋,适合python编程的小游戏

    python入门可以做的小游戏 1.Python入门拼图小游戏简单介绍:将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状. 2.Python入门推箱子 ...

  5. python做一个小游戏_利用python做个小游戏

    从本期开始,我们将利用几天的时间用python来做个小游戏,当然,在做小游戏之前,我们必须学会一个做小游戏的第三方库--pygame.可能有人会说,python不擅长或者说不适合用来做游戏,的确是这样 ...

  6. 小游戏策划案例精选_趣味小游戏活动方案_趣味游戏活动策划书

    举办活动的时候通常会有一些趣味小活动来活跃气氛,你有玩过哪些趣味小游戏呢,下面学习啦小编给大家整理了一些趣味小游戏活动方案,希望对您有所帮助. 趣味游戏活动方案 活动主旨: 每年农历的正月十五,春节刚 ...

  7. 【抖音小游戏】 Unity制作抖音小游戏方案 最新完整详细教程来袭【持续更新】

    前言 [抖音小游戏] Unity制作抖音小游戏方案 最新完整详细教程来袭[持续更新] 一.相关准备工作 1.1 用到的相关网址 1.2 注册字节开发者后台账号 二.相关集成工作 2.1 下载需要的集成 ...

  8. Python版基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式

    基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式 按空格进入单人模式,按't'进入双人模式,双人模式下玛丽1采用空格键上跳,玛丽2采用方向上键上跳. 完整代码下载地址:Pyth ...

  9. 微信小游戏提供服务器,发布到微信小游戏平台

    发布到微信小游戏平台 早在微信官方正式发布小游戏平台之前,Cocos Creator 团队就和微信开发团队合作完成了 Cocos Creator 对微信小游戏平台的支持.在小游戏正式公布之后,我们也在 ...

最新文章

  1. java怎么自动提示关键词_Eclipse 实现关键字自动补全功能
  2. openresty开发系列4--nginx的配置文件说明
  3. Python内存相关
  4. 公司技术部门内部的发展变化过程。
  5. 用iframe transform: scale() 缩小后点不到按钮_“打分”或者“打多少分”用英文可以怎样去表达?...
  6. 开发转运维有什么好点的理由_芜湖好点的团购社区费用
  7. oracle查看登录时间黑屏,oracle 11g默认用户名、密码解锁 以及安装后重启黑屏问题.doc...
  8. 深挖Kubernetes存储为何如此难及其解决方案
  9. URI 和 URL 的区别
  10. 终于有人把RISC-V讲明白了
  11. jenkins 启动_通过http请求启动jenkins任务
  12. 我常用的那些 Git 命令
  13. 如何用PHP和JavaScript比较时期(包括时间)
  14. 使用librdkafka
  15. python 操作excel 的包 函数
  16. 回收站清空的文件能恢复吗?
  17. JavaFX之Scene Builder的使用(开发一款GUI小工具原来这么简单)
  18. 和隆优化 matlab,misc.m · XJTU_STEI/matlabTools - Gitee.com
  19. JAVA企业面试题精选 JDBC 1-10
  20. wss 协议php,作为ws/wss客户端

热门文章

  1. POJ3238生日相同问题C++
  2. 小白成长记第2期:简单易操的YouTube美金项目,get!
  3. spring cloud服务之间的调用Fegin
  4. excel系列【下拉项二选一】
  5. Java类初始化顺序(变量赋值与静态代码块的执行时间)
  6. Java游戏开发框架LGame-0 2 8版发布(含JavaSE及Android版,已有文档)
  7. 数据库主流容灾方案对比分析
  8. 想学3D建模,去哪儿学比较好
  9. sync、fsync、fdatasync、fflush函数区别和使用举例
  10. oracle存储过程新手学习