c语言下落的字母,C语言控制台小游戏之下落的字符
#include
#include//使用true时应包含
#include//使用Sleep()
void EntrySpace(int num)//打印空格
{
int i;
for (i = 0; i < num; i++)
{
printf(" ");
}
}
void EntryEnter(int num)//打印回车
{
int i;
for (i = 0; i < num; i++)
{
printf("\n");
}
}
int AlphbetFall(int levels,int lines,int score,int col,int num)//字母下落及按键检测 返回分数
{ //等级 行 分数 列 字母偏移量
while (true)
{
EntryEnter(1);
lines++;
if (lines > 12)
{
lines = 0;
score -= 10;
if (score == -50)//成绩为-50时,游戏结束
{
system("cls");
EntryEnter(10);
EntrySpace(30);
printf("You lose!");
exit(0);
}
return score;
}
EntrySpace(col);
printf("%c", 'A' + num);
Sleep(300 - levels * 50);//延时函数,等级越高,速度越快
printf("\b \n");
if (kbhit())//kbhit()是一个C和C++函数,用于非阻塞地响应键盘输入事件。其中文可译为“键盘敲击”(keyboard hit)
{//功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。
char c = getch();
if (c == 'A' + num || c == 'a' + num)//检测按键值是否相同,相同成绩+10
{//不区分大小写
score += 10;
return score;
}
else if (c == '0')//按下0,游戏结束
{
system("cls");
EntryEnter(10);
EntrySpace(30);
printf("Game Over!");
exit(0);
}
else if (c == '1')//按下1,游戏暂停
{
EntryEnter(5);
EntrySpace(30);
//printf("Game is pause!");
printf("Pause");//暂停标记
while (1)
{
if (kbhit())
{
char pause = getch();//读取按键值
if (pause == '1')
{
printf("\b\b\b\b\b ");//消除暂停标记
break;
}
}
}
}
}
}
}
void GameRegullar()//游戏主界面
{
int levels = 0, score = 0, lines = 0, col = 0, num = 0;//等级、分数、行、列、字母偏移量
int flag = 1;//控制有游戏等级
while (true)
{
system("cls");
EntrySpace(10);
printf("levels:%-3d ", levels);//等级越高,下落越快
EntrySpace(10);
printf("score:%d \n", score);//成绩为-50游戏结束
EntrySpace(10);
printf("1---Pause");//暂停
EntrySpace(12);
printf("0---Exit\n");//退出
for (int i = 0; i < 60; i++)
printf("-");
num = rand() % 26;//下落的字母偏移量
col = rand() % 60;//下落字母的列位置
score = AlphbetFall(levels,lines, score, col, num);
if (score > 50 * flag)//成绩每提高100,等级上升1
{
levels++;
flag++;
}
else
flag--;
if (score < 50 * flag)//成绩每减少100,等级降低1
{
levels--;
flag--;
}
else
flag++;
}
}
int main()
{
EntryEnter(10);
EntrySpace(30);
printf("press anykey to start");
getchar();//任意键开始游戏
system("cls");
GameRegullar();
return 0;
}
c语言下落的字母,C语言控制台小游戏之下落的字符相关推荐
- c语言使用easyX图形库制作打气球小游戏
大一c语言使用easyX图形库制作打气球小游戏 如果你是入门easyX图形库,那么这个打气球小游戏将会是和不错的入门项目选择,easyX开创了可视化窗口,使用户更加直观的了解到对象的变化,总代码以及素 ...
- 基于Java语言在窗体上实现飞机大战小游戏
全套资料下载地址:https://download.csdn.net/download/sheziqiong/85594271 项目介绍 飞机大战:用 Java 语言在窗体上实现飞机大战小游戏,运行程 ...
- c语言扔骰子随机数的相加,C语言编程学习:制作掷骰子小游戏
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- C语言编程学习:制作掷骰子小游戏!超适合新手的练手项目!
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...
很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...
- C#游戏编程:《控制台小游戏系列》之《七、键盘熟练工实例》
一.游戏分析 相信大家对金山打字通.打字精灵等打字软件非常熟悉,想当年刚接触计算机时还靠它们的打字游戏练习打字基本功.这章的游戏DEMO就是一个打字小游戏,当然,它很简单,只是A~Z字母的打字 ...
- c语言程序设计移动字母,C语言程序设计实例大全(220个例子)
C语言程序设计实例大全,C语言是世界上最流行.使用最广泛的高级程序设计语言之一,这里c语言 程序设计 实例 大全有220个例子供大家参考 c语言开发实例目录: 第一部分 基础篇 001 第一个C程序 ...
- C语言七彩贪吃蛇源代码---AI自动寻径,分数排行,数据保存,背景音乐难度设置等 控制台小游戏
------------------------------------------------------------------------------------------- 七彩贪吃蛇小游戏 ...
- c语言程序设计移动字母,c语言程序设计word版.pdf
c语言程序设计word版 程序设计语言一般分为机器语言.汇编语言和高级语言三大类. 1.机器语言 对于计算机来说,一组机器指令就是程序,称为机器语言程序. 2.汇编语言 为了便于理解与记忆,人们采用能 ...
最新文章
- console.log()的兼容性
- 怎样实现前端裁剪上传图片功能
- win10 无法打开 APICloud Studio 2 的解决方案
- Caffe 编译安装
- Zookeeper的多节点集群详细启动步骤(3或5节点)
- 64位linux安装mysql数据库吗_CentOS7 64位安装mysql教程
- Organization model change - product line item EC
- IOS15 UICollectionViewController 如何初始化
- Ext JS 4.1 RC1发布
- windows 开启telnet 功能
- c#读取solidworks文件_C#初学者教程系列20:Stream流读写
- js高级编号笔记[新]-访问文档对象
- ios刺客信条一直显示连接服务器,刺客信条本色错误代码6002解决方法_刺客信条本色iOS进不去解决方案 _玩游戏网...
- 程序员修炼之道-第二版
- MT1308芯片原厂
- # ** Error: ../tb/bfm/bfm_tb_ddr3/bfm_tb_ddr3.v(186): Illegal task output argument.
- UVALive 7456 Least Crucial Node
- 市面上最适合跑步用的耳机有哪些、分享五款最优秀的跑步耳机
- 涨点技巧:基于Yolov5的微小目标检测,多头检测头提升小目标检测精度
- 数据结构大致包含以下几种存储结构: