双向链表实现浪漫星空

这篇博客介绍了如何使用C++通过双向链表来实现浪漫星空的效果。文章包含`star.h`头文件中声明的函数及链表接口,以及在`starlink.cpp`中实现的链表操作。此外,还提供了一个单独的CPP文件用于实现星空的显示功能。
摘要由CSDN通过智能技术生成

star.h头文件代码 包括函数的声明还有链表的接口

#pragma once
#ifndef _STAR_H_
#define _STAR_H_

#define MAX_STAR 150
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
#define MAX_STEP 7
#define MAX_RADIUS 3
#define BOTTOM_MARGIN 100

// 星星状态
enum STATUS {
   
	STOP = 0,
	UP,
	DOWN,
	LEFT,
	RIGHT,
	RANDOM,
	ALL_STATUS
};
//星星的结构体
typedef struct {
   

	int x; //星星的 x 坐标
	int y; //星星的 y 坐标
	enum STATUS stat; //状态
	unsigned radius; //星星的半径
	int step; //每次跳跃的间隔
	int color; //星星的颜色
}STAR;

//引入链表
typedef struct _Linknode {
   
	STAR star;
	struct _Linknode* next;   //上一个节点的指针域
	struct _Linknode* prev;	  //下一个节点的指针域
}DLinklist, DLinknode;

//链表的接口
bool InitList(DLinklist* &list);
bool ListInsert_back(DLinklist* &list,DLinknode* &node, STAR &star);
bool Delete_Linknode(DLinknode* &tmp);

#endif // !_STAR_H_

starlink.cpp 里面是链表的实现函数 另外用一个CPP文件

#include <iostream>
#include "star.h"


//1.初始化一个空的双向链表
bool InitList(DLinklist*
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值