#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语言控制台小游戏之下落的字符相关推荐

  1. c语言使用easyX图形库制作打气球小游戏

    大一c语言使用easyX图形库制作打气球小游戏 如果你是入门easyX图形库,那么这个打气球小游戏将会是和不错的入门项目选择,easyX开创了可视化窗口,使用户更加直观的了解到对象的变化,总代码以及素 ...

  2. 基于Java语言在窗体上实现飞机大战小游戏

    全套资料下载地址:https://download.csdn.net/download/sheziqiong/85594271 项目介绍 飞机大战:用 Java 语言在窗体上实现飞机大战小游戏,运行程 ...

  3. c语言扔骰子随机数的相加,C语言编程学习:制作掷骰子小游戏

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  4. C语言编程学习:制作掷骰子小游戏!超适合新手的练手项目!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...

  6. C#游戏编程:《控制台小游戏系列》之《七、键盘熟练工实例》

    一.游戏分析     相信大家对金山打字通.打字精灵等打字软件非常熟悉,想当年刚接触计算机时还靠它们的打字游戏练习打字基本功.这章的游戏DEMO就是一个打字小游戏,当然,它很简单,只是A~Z字母的打字 ...

  7. c语言程序设计移动字母,C语言程序设计实例大全(220个例子)

    C语言程序设计实例大全,C语言是世界上最流行.使用最广泛的高级程序设计语言之一,这里c语言 程序设计 实例 大全有220个例子供大家参考 c语言开发实例目录: 第一部分 基础篇 001 第一个C程序 ...

  8. C语言七彩贪吃蛇源代码---AI自动寻径,分数排行,数据保存,背景音乐难度设置等 控制台小游戏

    ------------------------------------------------------------------------------------------- 七彩贪吃蛇小游戏 ...

  9. c语言程序设计移动字母,c语言程序设计word版.pdf

    c语言程序设计word版 程序设计语言一般分为机器语言.汇编语言和高级语言三大类. 1.机器语言 对于计算机来说,一组机器指令就是程序,称为机器语言程序. 2.汇编语言 为了便于理解与记忆,人们采用能 ...

最新文章

  1. console.log()的兼容性
  2. 怎样实现前端裁剪上传图片功能
  3. win10 无法打开 APICloud Studio 2 的解决方案
  4. Caffe 编译安装
  5. Zookeeper的多节点集群详细启动步骤(3或5节点)
  6. 64位linux安装mysql数据库吗_CentOS7 64位安装mysql教程
  7. Organization model change - product line item EC
  8. IOS15 UICollectionViewController 如何初始化
  9. Ext JS 4.1 RC1发布
  10. windows 开启telnet 功能
  11. c#读取solidworks文件_C#初学者教程系列20:Stream流读写
  12. js高级编号笔记[新]-访问文档对象
  13. ios刺客信条一直显示连接服务器,刺客信条本色错误代码6002解决方法_刺客信条本色iOS进不去解决方案 _玩游戏网...
  14. 程序员修炼之道-第二版
  15. MT1308芯片原厂
  16. # ** Error: ../tb/bfm/bfm_tb_ddr3/bfm_tb_ddr3.v(186): Illegal task output argument.
  17. UVALive 7456 Least Crucial Node
  18. 市面上最适合跑步用的耳机有哪些、分享五款最优秀的跑步耳机
  19. 涨点技巧:基于Yolov5的微小目标检测,多头检测头提升小目标检测精度
  20. 数据结构大致包含以下几种存储结构:

热门文章

  1. POJ 2386 Lake Counting [DFS]
  2. XJTU_ 西安交通大学2020大学计算机作业-第十二周
  3. OSChina 周日乱弹 ——奥运已经变成里约大冒险了
  4. AD如何设置过孔盖油
  5. leetcode 45跳跃游戏II
  6. 【数据集NO.4】遥感图像数据集汇总
  7. matlab计算abc三相短路电流_什么是短路计算电压?
  8. 4大妙招教你解决喷墨打印机堵头故障
  9. 三方Android模拟器安装(天天)安装使用
  10. 关于成功的 21 个信念。