学习总结2

第二周总结

一、总结贪吃蛇制作思路

1.绘制API,所以需要引入graphics.h这个图形界面库。

2.游戏规则

  • 蛇是一节一节的,每吃掉一个事物都会长一节
  • 蛇吃食物需要移动,如果需要移动那么就会有坐标的变化。
  • 蛇没吃掉一个事物都会随机产生一个食物,所以食物也是由坐标表示。
  • 如果在蛇移动吃食物的时候与便捷或者自己的身体发生碰撞,则gameover。
  • 进行操作则需要通过键盘来操作来改变蛇的方向。

二、介绍graphics.h图形库

1.基本说明
  • 坐标:定为以左上角开始,水平向右为X轴,竖直向下为Y轴,建立坐标系
  • getch() :图形关闭之前通常要键盘获得一个字符,否则图形一闪就没了。
  • closegraph() :关闭图形窗口函数。
  • cleardevice() :清空屏幕,之后会界面内容全部清空,显示为默认背景颜色。
2.颜色模型

首先:此图形库中采用的是RGB颜色。*RGB色彩模式 是工业界的一种颜色标准,是通过对红 ®、绿 (G)、蓝 (B)三个颜色 通道 的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,*是运用最广的 颜色系统之一。

  1. 设置颜色模型(常用)
    stebkcolor():设置背景颜色,参数颜色
    setfillcolor:设置填充绘制图形形式所用的颜色
  2. 设置风格样式的模型
    setfillstyle():设置填充样式,比如竖线,横线,方格填充。
    setlinestyle():设置线的填充样式
    setbkmode():图案,或文字填充的背景模式(背景色,透明)。
  3. 图形的绘制
    ine(x1,y1,x2,y2):直线。两端点坐标
    rectangle(x1,y1,x2,y2):空心矩形。左上角坐标,右下角坐标 。
    circle(x,y,r):空心圆。圆心坐标,半径。
    ellipse(x1,y1,x2,y2):椭圆。外切矩形左上角坐标,外切矩形右下角坐标
    如果想要将绘制的图形填充可以用前缀fill,如果想要清除一个图形区域可以用前缀clear
  4. 文字输出
    outtextxy(x,y,color)在(x,y)位置输出字符串str。(个人觉得够用了)
  5. 图像处理
    IMAGE img;
    loadimage(&img,path[, width , height]):图像读取。 IMAGE对象地址,路径。扩展参数,已制定宽高,拉伸读取。
    putimage(x0,y0,&img):图像展示。图形窗口左上角坐标处开始展示img图形。
    putimage(x0,y0,w,h,&img,x,y):图像展示。和上面相比,w,h为要展示多少像素图形,x,y为img对象从该位置开始展示。
  6. 鼠标处理
    首先,鼠标对象MOUSEMSG是一个结构体。内部有参数,x,y表示坐标,uMsg。
    uMsg的类型:
  • WM_ L \color{#0000FF}{L} L B O T T O N \color{#FF3030}{BOTTON} BOTTON D O W N \color{#00FF00}{DOWN} DOWN
    前面的WM_是一个固定形式,后面三部分是可变的。左边蓝色的值分别为L,M,R分别代表鼠标左键,中键,右键。右边绿色的值分别为DOWN,UP,DBLCLK代表按下,松起,双击信息。

三、此项目关于graphics.h图形库的接口

  1. 绘制一个窗口的API
void initgraph(int weith,int height)//创建一个宽为X长为Y的图形窗
  1. 清楚窗口的所有绘制
void cleardevice ()//清空整个窗口的绘制
  1. 在指定位置输出文字
void settextxy (int x,int y,LPCTSTR str)//坐标为(x,y)处输出字符
  1. 绘制图形
fillrectangle(int left, int top, int right, int bottom)  //画填充矩形,从起点(left,top)到终点
(right,bottom)
  1. 绘制圆角矩形
fillroundrect(int left, int top, int right, int bottom, int ellipsewidth, int ellipseheight)
//画填充矩形,从起点(left,top) 到终点(right,bottom)
//ellipsewidth构成圆角矩形的圆角的椭圆的宽度。ellipseheight构成圆角矩形的圆角的椭圆的高度。
//若后两个相当相当于绘制一个圆形 不过不是以圆心的 是按照矩形的。
  1. 设置当前文字填充色
settextcolor(COLOR color)   //设置当前文字也就是下一行文字的颜色 宏定义RED,BLUE,YELLOW等

四、如何创建蛇和食物

蛇和食物都有一个共同的特点,就是都有坐标

//创建坐标
struct Coor{
  int x;
  int y;
};

创建蛇和食物的具体结构

//蛇
struct Snake{//蛇的结构
  int n;//蛇当前的长度
  Coor szb[SNAKELENGTH]//蛇的坐标
  Ch ch;//蛇移动的方向
}snake;

//食物
struct Food
{
    Coor fzb;//食物的坐标
    int flag;//标记食物是否被吃掉
}

移动的方向


enum Ch
{
  up = 72;
  down = 80;
  left = 75;
  right = 77;
};

五、[游戏的流程](file:///C:/Users/admin/Desktop/%E6%9C%AA%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6.pdf)(点击此链接)

相关推荐

  1. 2.3学习总结

    2024-03-16 14:22:03       26 阅读
  2. 2.4学习总结

    2024-03-16 14:22:03       33 阅读
  3. 2.12学习总结

    2024-03-16 14:22:03       40 阅读
  4. 2.17学习总结

    2024-03-16 14:22:03       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-16 14:22:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-16 14:22:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-16 14:22:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-16 14:22:03       20 阅读

热门阅读

  1. 解决C#连接MySQL数据库报错: SslMode=None;

    2024-03-16 14:22:03       19 阅读
  2. 工大智信智能听诊器:科技创新,赋能医疗

    2024-03-16 14:22:03       20 阅读
  3. 【DP+贪心】跳跃游戏

    2024-03-16 14:22:03       21 阅读
  4. SPA富应用开发

    2024-03-16 14:22:03       18 阅读
  5. CSS中三栏布局的实现

    2024-03-16 14:22:03       20 阅读
  6. vue怎么跳转页面?

    2024-03-16 14:22:03       20 阅读
  7. H12-821_279

    2024-03-16 14:22:03       20 阅读