C语言——贪吃蛇(第一阶段构造小蛇

使用的工具是 CodeBlock

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>

#define High 20         //游戏画面尺寸
#define Width 30

//全局变量
int canvas[High][Width] = {0};

void gotoxy(int x, int y)
{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(handle,pos);
}

void startup()          //数据初始化
{
    int i,j;

    //初始化边框
    for(i = 0; i < High; i++)
    {
        canvas[i][0] = -1;
        canvas[i][Width-1] = -1;
    }

    for(j = 0; j < Width; j++)
    {
        canvas[0][j] = -1;
        canvas[High-1][j] = -1;
    }

    //初始化蛇头的位置
    canvas[High/2][Width/2] = 1;

    //初始化蛇身,画布中的元素值分别为2,3,4,5等
    for(i = 1; i <= 4; i++)
        canvas[High/2][Width/2-i] = i+1;
}

void show()         //显示画面
{
    gotoxy(0,0);
    int i,j;

    for(i = 0; i < High; i++)
    {
        for(j = 0; j < Width; j++)
        {
        if(canvas[i][j] == 0)
            printf(" ");
        else if(canvas[i][j] == -1)
            printf("#");
        else if(canvas[i][j] == 1)
            printf("@");            //蛇头
        else if(canvas[i][j] > 1)
            printf("*");            //蛇身
        }

        printf("\n");
    }
}

void updateWithoutInput()       //与用户输入无关的更新
{

}

void updateWithInput()          //与用户输入有关的更新
{

}

int main()
{
    startup();
    while(1)
    {
        show();
        updateWithoutInput();
        updateWithInput();
    }

    return 0;
}

原文地址:https://www.cnblogs.com/JAYPARK/p/10295586.html

时间: 2024-10-13 21:57:56

C语言——贪吃蛇(第一阶段构造小蛇的相关文章

C语言贪吃蛇小程序

1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<conio.h> 4 #include<windows.h> 5 6 #define High 20 7 #define Width 50 8 9 int direction,food_x,food_y; 10 int canvas[High][Width]={0};//二维数组为小蛇运动空间 11 12 void goto_xy(int x,int y)

C语言基础课程 第一课 Linux环境配置小实战httpserver

?? C语言基础课程 第一课 Linux环境配置小实战httpserver 首先环境需要的是redhat虚拟机操作系统 打开redhat 防火墙 2.将WWW(HTTP)勾选上 3.点击apply 点击是 4.切换到root用户 输入正确的root密码 5. 启动http服务 6.输入ifconfig 查看当前ip 痛 7.通过分析我们知道 他是一个局域网的ip   windows可以通过net 或者 主机模式与Linux进行通信 如果不想改变本地ip地址的话  我们需要改变虚拟机的ip地址 和

程序游戏推荐(C语言贪吃蛇,python天天酷跑(需要安装pygame),js是狠人就坚持30s)

下面是下载位置,我把他们上传到我的文件下了. C语言贪吃蛇:https://files.cnblogs.com/files/ITXiaoAng/%E8%B4%AA%E5%90%83%E8%9B%87.rar python天天酷跑:https://files.cnblogs.com/files/ITXiaoAng/%E5%A4%A9%E5%A4%A9%E9%85%B7%E8%B7%91.zip 30s: https://files.cnblogs.com/files/ITXiaoAng/%E7%B

自己动手写处理器之第一阶段(3)——MIPS32指令集架构简介

将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第四篇,我尽量每周四篇 1.4 MIPS32指令集架构简介 本书设计的处理器遵循MIPS32 Release 1架构,所以本节介绍的MIPS32指令集架构指的就是MIPS32 Release 1. 1.4.1 数据类型 指令的主要任务就是对操作数进行运算,操作数有不同的类型和长度,MIPS32提供的基本数据类型如下. 位(b):长度是1bit. 字节(Byte):长度是8bit. 半字(Half Word):长度是16bit. 字(

2.uboot和系统移植-第5部分-2.5.uboot源码分析1-启动第一阶段

第一部分.章节目录 2.5.1.start.S引入 2.5.2.start.S解析1 2.5.3.start.S解析2 2.5.4.start.S解析3 2.5.5.start.S解析4 2.5.6.start.S解析5 2.5.7.start.S解析6 2.5.8.start.S解析7 2.5.9.uboot重定位详解 2.5.10.start.S解析8 2.5.11.start.S解析9 2.5.12.start.S解析10 2.5.13.start.S解析11 第二部分.章节介绍 2.5.

“金山杯2007逆向分析挑战赛”第一阶段第二题

注:题目来自于以下链接地址: http://www.pediy.com/kssd/ 目录:第13篇 论坛活动 \ 金山杯2007逆向分析挑战赛 \ 第一阶段 \ 第二题 \ 题目 \ [第一阶段 第二题] 题目描述: 己知是一个 PE 格式 EXE 文件,其三个(section)区块的数据文件依次如下:(详见附件)  _text,_rdata,_data 1. 将 _text, _rdata, _data合并成一个 EXE 文件,重建一个 PE 头,一些关键参数,如 EntryPoint,Imp

实验二:结对编程 第一阶段

一.实验目标: 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容: 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 三.问题描述 四则运算:开发一个自动生成小学四则运算题目的命令行 “软件”.实现 输入你要出题的个数,

S5PV210-uboot源码分析-第一阶段

uboot源码分析1-启动第一阶段 1.starts.S是我们uboot源码的第一阶段: 从u-boot.lds链接脚本中也可以看出start.S是我们整个程序的入口处,怎么看出的呢,因为在链接脚本中有个ENTRY(_start)声明了_start是程序的入口.所以_start符号所在的文件,就是我们整个程序的起始文件,_start所在处的代码就是我们整个程序的起始代码. 2.我们知道了程序的入口是_start这个符号,但是却不知道是在哪一个文件中,所以要SI进行查找搜索,点击SI的大R进行搜索

第一阶段团队评价

1 理财猫 实现功能太少,只做了界面     界面背景太乱     没有连数据库 2 跑什么操 侧边栏     界面不友好     功能不全 3 水骑士 界面没有实现目标,只实现了注册无法登陆     界面布局简单     什么功能都没有实现,只做了一个界面 4 铁大云盘 页面排布     注册没有加学号,信息不完全,没有审核     没有特色创建目录 5 天气小贴士 只调用接口,没有自己写东西     工程量太小,只做了界面,还有点乱     没有想法,不知道进一步怎么开发,没有开发的前景 6