C语言移动一个点
#include"stdio.h"
#include"windows.h"
#include"conio.h"
#define M 3
#define row 20
int m[row][row];
int n[M][M] = {0,1,0,1,0,1,0,1,0};
char w,a,s,d;
void push_m(){
for(int i = 0;i < row;i++){
for(int j = 0;j < row;j++){
m[i][j] = 0;
}
}
}
void add_m(int x,int y){
if(x >= 0 && x < row - M && y >= 0 && y < row - M ){
for(int i = 0;i < 3;i++){
for(int j = 0;j < 3;j++){
m[x + i][y + j] = n[i][j];
}
}
}
}
void print_m(){
for(int i = 0;i < row;i++){
printf("\n");
for(int j = 0;j < row;j++){
if(m[i][j] == 0)
printf("□");
else
printf("★");
}
}
}
void direction(int x,int y){
while(1){
switch(char ch = getch()){
case 'w': x = x - 1;
break;
case 'a': y = y - 1;
break;
case 's': x = x + 1;
break;
case 'd': y = y + 1;
default : break;
}
push_m();
add_m(x,y);
system("cls");
print_m();
}
}
int main(int argc,char** argv){
int x = 5,y = 5;
push_m();
system("color 1e");
add_m(x,y);
print_m();
direction(x,y);
return 0;
}
C语言移动一个点的更多相关文章
- (转)如何学好C语言,一个成功人士的心得!
zidier111发表于 2013-1-26 08:59:05 今 天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所 ...
- 怎样学好C语言,一个成功人士的心得!
今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...
- 用C语言写一个“事件”的模拟程序
源:用C语言写一个“事件”的模拟程序 Example.c //定义一个函数指针 func int (*func) (void); //调用该函数相当于触发了事件. //该事件触发后,会检查函数指针fu ...
- 用C语言编写一个简单的词法分析程序
问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...
- 用Go语言实现一个简单的聊天机器人
一.介绍 目的:使用Go语言写一个简单的聊天机器人,复习整合Go语言的语法和基础知识. 软件环境:Go1.9,Goland 2018.1.5. 二.回顾 Go语言基本构成要素:标识符.关键字.字面量. ...
- C语言学习一个月后感想
C语言学习一个月后感想 感谢李晓东老板及计算机工程师联盟的学长学姐和某神秘同级同学的辛勤指导,感谢宋雨田的督促和陪伴. 初识C的1..体会 我本以为凭借瓜皮思维和花里胡哨操作可以让我熟练地学习语言,现 ...
- 使用C语言实现一个虚拟机
使用C语言实现一个虚拟机 2015-6-22 21:32| 发布者: joejoe0332| 查看: 2891| 评论: 0|原作者: leoxu, Serval, 社会主义好, lostTemple ...
- 用C语言实现一个公用库函数void * memmove(void *dest,const void *src,size_t n)
用C语言实现一个公用库函数void * memmove(void *dest,const void *src,size_t n). 该函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址 ...
- go语言的一个gui 开源 项目 https://github.com/andlabs/ui
go语言的一个gui 开源 项目 https://github.com/andlabs/ui 1 安装 mingw-w64 链接地址: http://mingw-w64.sourceforge. ...
- C语言中一个语句太长用什么换行?
C语言中一个语句太长用什么换行? 5 C语言中一个语句太长用什么换行?比如我有一个printf语句很长很长,问了美观,我不想写在这一行了,要换到下一行,是不是在这行结尾的时候,要用个什么标识来表 ...
随机推荐
- vue 开发时候 nginx绑定多个系统 爆红 sockjs-node/info?t
如果你的浏览器,与NPM服务器,不是同一个机器(不是localhost),那么会导致这个报错. 我搜索了好久,才发现这个是可以在webpackjs里配置的(即vue.config.js): https ...
- SpringMVC框架——文件的上传与下载
使用SpringMVC框架做个小练习,需求: 1.单个图片上传并显示到页面中: 2.多个图片上传并显示到页面中: 3.上传文件后下载文件: 1.pom.xml中添加依赖 <!-- 文件上传 -- ...
- drf 权限认证
目录 复习 前期准备 三大认证简介 AbstracUser源码分析 自定义User下的权限六表 models.py 到settings.py中注册 注意点: 执行数据迁移的俩条命令 创建超级用户 t_ ...
- POJ1144 tarjan+网络中割点与割边的数量
题目链接:http://poj.org/problem?id=1144 割点与割边的数量我们可以通过tarjan的思想从一个点开始对其余点进行访问.访问的顺序构成一棵dfs树,其中根节点到任何一个结点 ...
- ASP.NET Core 核心特性--宿主、启动、中间件
宿主 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().R ...
- Layui+Servlet+MyBatis+Mysql实现的大学生创新竞赛管理平台
项目简介 项目来源于:https://gitee.com/fly-liuhao/SCMS 原仓库中未上传jar包及登录异常,现将修改过的源码上传到百度网盘上. 链接:https://pan.baidu ...
- 50行代码实现GAN | 干货演练
2014年,Ian Goodfellow和他的同事发表了一篇论文,向世界介绍了生成对抗网络(GAN).通过对计算图和博弈论的创新性组合,他们表明如果有足够的建模能力,两个相互对抗的模型可以通过普通的反 ...
- vs编译器中不允许使用scanf()的情况
问题1描述: vs编译器中,不允许使用scanf()函数. error C4996: 'scanf': This function or variable may be unsafe. Conside ...
- Thread wait notify sleep
wait: 必须暂定当前正在执行的线程,并释放资源锁,让其他线程可以有机会运行 notify/notifyall: 唤醒因锁池中的线程,使之运行 wait与sleep区别 对于sleep()方法,我们 ...
- BP神经网络及异或实现
BP神经网络是最简单的神经网络模型了,三层能够模拟非线性函数效果. 难点: 如何确定初始化参数? 如何确定隐含层节点数量? 迭代多少次?如何更快收敛? 如何获得全局最优解? ''' neural ne ...