基于控制台的c语言游戏常用操作
一、清屏
#include<stdlib.h>int main()
{system("cls");
}
二、按任意键继续
#include<stdlib.h>int main()
{system("pause");
}
三、时间
#include<stdio.h>
#include<windows.h>void time()
{SYSTEMTIME sys;GetLocalTime( &sys ); /*按照年、月、日、时、分、秒*/printf( "%4d/%02d/%02d %02d:%02d:%02d",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute, sys.wSecond);
}int main()
{time();
}
调用显示时间的函数time(),运行结果如下:
四、光标
1、转移光标
#include<windows.h>/*转移光标*/
void gotoxy(unsigned short x,unsigned short y)
{COORD pos;pos.X=x; pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}in main()
{gotoxy(1,1);
}
2、隐藏光标
#include<windows.h>/*隐藏光标*/
void hidecursor(void)
{CONSOLE_CURSOR_INFO cursor_info={1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}int main()
{hidecursor();
}
3、显示光标
#include<windows.h>/*显示光标*/
void printCursor(void)
{CONSOLE_CURSOR_INFO cursor_info={20,1};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}int main()
{printCursor();
}
五、更改字体颜色和背景颜色
1、windows.h
①函数代码
#include<windows.h>/*更改字体颜色和背景颜色*/
void color(unsigned short fore,unsigned short back)
{HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hOut,fore+back*16);
}int main()
{color(7,7);
}
②设置说明
0 | 黑色 |
1 | 蓝色 |
2 | 绿色 |
3 | 浅绿色 |
4 | 红色 |
5 | 紫色 |
6 | 黄色 |
7 | 白色 |
8 | 灰色 |
9 | 淡蓝色 |
10 | 淡绿色 |
11 | 淡浅绿色 |
12 | 淡红色 |
13 | 淡紫色 |
14 | 淡黄色 |
15 | 高亮白 |
③效果
通过此方法可以实现如下效果:
2、stdlib.h
①函数代码
#include <stdlib.h>int main()
{system("color 11");
}
②设置说明
0 | 黑色 |
1 | 蓝色 |
2 | 绿色 |
3 | 浅绿色 |
4 | 红色 |
5 | 紫色 |
6 | 黄色 |
7 | 白色 |
8 | 灰色 |
9 | 淡蓝色 |
A(a) | 淡绿色 |
B(b) | 淡浅绿色 |
C(c) | 淡红色 |
D(d) | 淡紫色 |
E(e) | 淡黄色 |
F(f) | 高亮白 |
(3)(1)和(2)的区别
方法1可以更改指定区域的颜色,方法2更改的是全部的颜色且无论代码前面有多少颜色更改也只跟最后的函数参数有关。
六、背景音乐
1、播放mp3格式音乐
(1)头文件
#include<stdio.h>#include<windows.h>#include<mmsystem.h>//windows下与多媒体有关的接口#pragma comment(lib,"Winmm.lib")//windows下调用API的命令
(2)函数mciSendString
/*mciSendString是用来播放多媒体文件的API指令,需要头文件#include <mmsystem.h>*//*相对路径*/
mciSendString("open 1.mp3 alias abc",NULL,0,NULL);
//alias把1.mp3给个别名abc
mciSendString("abc repeat",NULL,0,NULL);
//repeat 循环播放/*绝对路径*/
mciSendString("open C:\\用户\\user\\音乐\\1.mp3"),NULL,0,NULL);
mciSendString("play C:\\用户\\user\\音乐\\1.mp3"),NULL,0,NULL);
(3)模板代码
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"Winmm.lib")int main()
{mciSendString("open 1.mp3",NULL,0,NULL);mciSendString("play 1.mp3 repeat",NULL,0,NULL);while(1){}
}
(4)Dev C++出现错误
[Error] ld returned 1 exit status
解决方式
添加参数
-lwinmm
2、播放mva格式音乐
#include<stdio.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"Winmm.lib")int main(void)
{while(1){ PlaySound(TEXT("1.wav"),NULL,SND_FILENAME | SND_ASYNC | SND_LOOP);system("pause");}return 0;
}
基于控制台的c语言游戏常用操作相关推荐
- 基于控制台的C语言游戏数据存储
一.结构 如果设计的游戏不需要保存数据,只是游戏的过程当中产生了数据变化,那么我们就可以用一种结构描述一个物体,用多种结构去描述多种物体,用多种结构的数据变化去描述物体间的行为. 假如你正在制作一款& ...
- 基于控制台的五子棋小游戏(简易)
基于控制台的五子棋小游戏(简易) 展示 源码: 使用: GoBang类: 展示 话不多说上代码 Don't talk much, say the code! 源码: 使用: new完直接运行 publ ...
- c语言五子棋代码_基于控制台的C语言贪吃蛇
相信对很多人来说,学完C语言以后,都会找一些小程序来练练手.例如贪吃蛇.五子棋.俄罗斯方块等等. 今天给大家分享一个基于控制台的C语言贪吃蛇小程序. 基础知识要求:C语言基础. 知识点补充 这里写一些 ...
- 用C语言API(常用)操作MySql数据库
连接数据库的步骤 MySql数据库是一个典型的C/S结构,包括客户端和服务器.当部署好了MySql服务器,想通过程序访问服务端的数据,在编写程序的时候,可以通过官方提供的C语言API来实现. ...
- C语言字符串、文件操作常用操作函数,
C语言字符串常用操作函数 C语言字符串.文件操作常用操作函数 字符串输出 - puts() 字符串输入 - gets() 字符串比较 - strcmp() 字符串复制 - strcpy() 字符串连接 ...
- Kerberos 入门与常用操作 浅析
. 一 .前言 二 .Kerberos认证流程 三 .Kerberos Principal 四 .Kerberos的优点和不足 4.1. 优点 4.2. 不足 五. KDC常用操作 六.Client常 ...
- 吃豆豆游戏的C语言程序码,C++实现基于控制台界面的吃豆子游戏
本文实例讲述了C++实现基于控制台界面的吃豆子游戏.分享给大家供大家参考.具体分析如下: 程序运行界面如下所示: ESC键可退出游戏. main.cpp源文件如下: #include "li ...
- R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...
一.R语言简介 R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果: 表明R语言是该领域 ...
- c语言迷宫求解毕业设计,毕业设计(论文)-基于Windows平台C语言实现迷宫游戏的设计.doc...
基于Windows平台C语言实现迷宫游戏的设计 摘 要 随着科技的日益发展,计算机信息知识越来越被人们所认知和使用,在当今知识爆炸的时代计算机毫无疑问成为人们常用的日常工具,而Windows和C语言都 ...
最新文章
- 机器学习 | 图像检索开源项目合集
- [HNOI2015]亚瑟王
- 为什么要使用Vuex?
- 通讯框架 t-io 学习——给初学者的Demo:ShowCase设计分析
- Flink1.6系列之—数据流编程模型
- python安装失败找不到指定路径_解决安装python库时windows error5 报错的问题
- linux 5.5 外接usb2.0硬盘,RHEL5 使用pam_usb
- 计算机专业实习心得,计算机毕业实习心得体会范本5篇
- eyb:Java代码通过FastDFS实现文件上传
- NTC热敏电阻(温度传感器)
- 近几十年基础科学的停滞影响研究
- 揭开LiteOS的神秘面纱
- android 虚拟按键源码流程分析
- Elasticsearch-analysis-pinyin7.6.0--可选参数详情
- Openzeppelin库 09.Crowdsale
- Java new Date() 获取的时间不正确 【已解决】
- json 解析 转java对象数组对象数组对象_json字符串转java对象数组
- deny of sb sth_deny的短语
- upc 6617: Finite Encyclopedia of Integer Sequences(树的先序遍历第n/2个结点)
- 信息安全系统设计基础实验五—20135222胡御风20135215黄伟业