#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语言移动一个点的更多相关文章

  1. (转)如何学好C语言,一个成功人士的心得!

    zidier111发表于 2013-1-26 08:59:05   今 天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所 ...

  2. 怎样学好C语言,一个成功人士的心得!

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...

  3. 用C语言写一个“事件”的模拟程序

    源:用C语言写一个“事件”的模拟程序 Example.c //定义一个函数指针 func int (*func) (void); //调用该函数相当于触发了事件. //该事件触发后,会检查函数指针fu ...

  4. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

  5. 用Go语言实现一个简单的聊天机器人

    一.介绍 目的:使用Go语言写一个简单的聊天机器人,复习整合Go语言的语法和基础知识. 软件环境:Go1.9,Goland 2018.1.5. 二.回顾 Go语言基本构成要素:标识符.关键字.字面量. ...

  6. C语言学习一个月后感想

    C语言学习一个月后感想 感谢李晓东老板及计算机工程师联盟的学长学姐和某神秘同级同学的辛勤指导,感谢宋雨田的督促和陪伴. 初识C的1..体会 我本以为凭借瓜皮思维和花里胡哨操作可以让我熟练地学习语言,现 ...

  7. 使用C语言实现一个虚拟机

    使用C语言实现一个虚拟机 2015-6-22 21:32| 发布者: joejoe0332| 查看: 2891| 评论: 0|原作者: leoxu, Serval, 社会主义好, lostTemple ...

  8. 用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所指的地址 ...

  9. go语言的一个gui 开源 项目 https://github.com/andlabs/ui

    go语言的一个gui 开源 项目  https://github.com/andlabs/ui 1 安装  mingw-w64  链接地址: http://mingw-w64.sourceforge. ...

  10. C语言中一个语句太长用什么换行?

     C语言中一个语句太长用什么换行? 5 C语言中一个语句太长用什么换行?比如我有一个printf语句很长很长,问了美观,我不想写在这一行了,要换到下一行,是不是在这行结尾的时候,要用个什么标识来表 ...

随机推荐

  1. [POI2017]bzoj4726 Sadota?

    题目描述 离线题库请 题目描述 某个公司有\(n\)个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者间接, 不包括他自己)中叛徒占的比例超 ...

  2. Vue 学习记录(一)

    Vue 研究了一段时间,要学的东西挺多的. 一.基本指令 1.v-text:2.v-html:3.v-pre;4.v-cloak:5.v-once:6.v-if:7.v-else:8.v-else-i ...

  3. JavaScript每日学习日记(2)

    8.13.2019 1. 正则表达式常见字符串方法: search( ) , replace( ) var str = "Visit Website"; var n = str.s ...

  4. Magento2-2.3.4 win10安装完magento无法加载静态资源导致无法进入后台登录页面

    后台面无法进入,截图如下

  5. ABP实践(4)-abp前端vue框架之简单商品增删改查(帮助刚入门的新手快速了解怎么才能加入自己的功能并运行起来)

    提示:如有不明白的地方请先查看前3篇ABP实践系列的文章 1,下载及启动abp项目前后端分离(netcore+vue) 2,修改abp数据库为mysql 3,商品系列api接口(本文主要依赖在这个商品 ...

  6. P1361 小M的作物 【网络流】【最小割】

    题目描述 小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子有1个(就是可以种一棵作物)(用1...n编号). 现在,第i种作物种植在A中种植可 ...

  7. hdu1686kmp果题

    kmp字符串匹配原理参考博客:https://blog.csdn.net/bqw18744018044/article/details/90516750 代码如下:(写一遍模板) #include&l ...

  8. mysql-8.0.19-winx64下载

    mysql-8.0.19-winx64 下载链接 提取码:m7qp

  9. SVM | 支持向量机原理讲解(二)

    一.线性可分的支持向量机存在的问题 在支持向量机一中,我们介绍了当数据集是线性可分的时候,我们可以使用线性可分的支持向量机将数据进行分类(由于隔了很长时间才更新,因此忘记了支持向量机一的读者可以回看支 ...

  10. 阿里云域名+ 腾讯云服务器 配置nginx

    1,实现目标,通过外网访问域名,能够通过nginx 实现反向代理,以及负载均衡 2,准备工具 阿里云注册的域名: aiyuesheng.com 腾讯云领取的云服务器:centos 7 xshell 6 ...