c语言贪吃蛇彩版

#include <stdio.h>//没写完
#include <conio.h>
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib,"WinMM.lib")
#include <string.h>
#include <math.h>
#include <time.h>
#include <graphics.h>
#define PI 3.1415926
#define WIDTH 640
#define HEIGHT 480
#define MAXSTAR 100
struct STAR
{
int x;
int y;
double step;
int color;
}star[MAXSTAR];
void frame();
void InitStar(int);
void MoveStar(int);
int main()
{
PlaySound("k:\\resource\\刘三姐.wav",NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
initgraph(WIDTH,HEIGHT,NOMINIMIZE);
setbkcolor(WHITE);
cleardevice();
frame();
getch();
closegraph();
return 0;
}

void frame()

{

int i;
srand((unsigned)time(NULL));
setcolor(RGB(rand()%225,rand()%225,rand()%225));
rectangle(0,0,WIDTH-1,HEIGHT-1);
setcolor(CYAN);
line(0,49,WIDTH-1,49);
outtextxy(1,1,"PRESENT-SCORE:");
outtextxy(1,16,"HIGHEST-SCORE:");//默认高度13
outtextxy(1,30," START-TIMES:");
line(120,0,120,49);
line(170,0,170,49);
outtextxy(121,1,"888888");
line(0,16,170,16);
line(0,30,170,30);
//第二条框
setfillstyle(BS_SOLID);
setfillcolor(LIGHTGREEN);
fillrectangle(0,50,639,69);
//彩虹
float H = 190; // 色相
float S = 1; // 饱和度
float L = 0.7f; // 亮度
for(int y = 70; y < 480; y++)
{
L += 0.0005f;
setlinecolor( HSLtoRGB(H, S, L) );
line(0, y, 639, y);
}

// 画彩虹(通过色相逐渐增加)
H = 0;
S = 1;
L = 0.5f;
setlinestyle(PS_SOLID, 2); // 设置线宽为 2
for(int r = 400; r > 344; r--)
{
H += 5;
setlinecolor( HSLtoRGB(H, S, L) );
circle(500, 480, r);
}

//星空
setbkcolor(BLACK);
setfillcolor(BLACK);
solidrectangle(170,1,639,49);
for(i=0;i<MAXSTAR;i++)
{
InitStar(i);
star[i].x = rand()%(640-170)+170;
}
while(true)
{
for(i=0;i<MAXSTAR;i++)
MoveStar(i);
Sleep(40);
}
}
void InitStar(int i)
{
star[i].x = 171;
star[i].y = rand()%50;
star[i].step = (rand()%5000)/1000.0+1;
star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // 速度越快,颜色越亮
star[i].color = RGB(star[i].color, star[i].color, star[i].color);
}
void MoveStar(int i)
{
putpixel((int)star[i].x, star[i].y, 0);
star[i].x += star[i].step;
if (star[i].x > 639)
InitStar(i);
putpixel((int)star[i].x, star[i].y, star[i].color);
}

时间: 2024-10-14 15:45:32

c语言贪吃蛇彩版的相关文章

程序游戏推荐(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

c语言贪吃蛇

不多说,附上源码 1 #include <stdio.h> 2 #include <windows.h> 3 #include <time.h> 4 #include <dos.h> 5 int x[10000]; 6 int y[10000]; 7 int snakelong=3; 8 int applex,appley; 9 char c; 10 int h=25; 11 int w=50; 12 int life=0; 13 int speed; 14

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语言——贪吃蛇(第一阶段构造小蛇

使用的工具是 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

小项目特供 贪吃蛇游戏(基于C语言)

C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第二天写了第二版和第三版. 相信C语言写个小游戏或小项目是大多数计算机相关专业的学生都做的事情,但是作为一个数学专业的学生,我们教研室的老师对C语言的要求也就比较低了,大一没有让我们做个小项目实践一次.至今为止用C/C++做过的三个小项目(大作业),一个是外校同学让我帮忙写的学生信息管理系统(天呐,这

C语言 小游戏之贪吃蛇

还记得非常久曾经听群里人说做贪吃蛇什么的,那时候大一刚学了C语言,认为非常难,根本没什么思路. 前不久群里有些人又在谈论C语言贪吃蛇的事了,看着他们在做,我也打算做一个出来. 如今大三,经过了这一年半的编程,如今认为这个C语言的贪吃蛇还是比較简单的,花的时间不非常多! 我认为主要是思路正确,基本上就米什么大的问题. 如今贴上我的代码和我的详解,希望大家多交流. 首先说下我这个贪吃蛇仅仅是一个简单的,游戏结束有2种可能:一碰墙,二自杀即蛇头碰到蛇身. 如有不好之处,请见谅把. 首先说下我这个贪吃蛇

贪吃蛇设计报告

北京工业大学耿丹学院 C语言课程设计报告 课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:09150809201 2016年4月24日 一 设计题目 ------------------------ 二 总体设计 ------------------------ 三 程序分析和主要知识点应用 ------------------------ 四 程序流程和原理分析 ------------------------ 五 自己修改后的程序同原程序的改进 -------

俄罗斯方块和贪吃蛇游戏软件:C语言应用初始感受

C语言课程设以一节课,老师提供了一个C语言的飞俄罗斯方块让我们感受,我们所学的C语言课程,主要是各种语句的练习,这次是用我们所学过的知识来感受一个实际的系统. 首先安装c-free,然后是将代码贴进去运行 界面虽然有点简单,但这确实使用C语言做出来的游戏. 分析一下程序,感觉没有太复杂的,就是上学期学习的简单语句的组合,但是用的非常好.首先看看用到了几种语句: 1.首先是在屏幕上显示的语句printf, 2.另外一个就是多条件判断switch--case 应用方法 switch(tetris->

C语言实现贪吃蛇之结构链表篇

之前的两篇博客将运用的C语言知识限定在了一般的数组上,但如果已经完整地了解过C语言的话,运用结构和链表会让程序的结构更明了,逻辑更清晰.这篇博客就将介绍如何用结构和链表改善之前的程序. 首先,我们为蛇的节点定义一个结构: typedef struct node{ COORD cor; struct node *next; }node; COORD结构我在上一篇已经介绍过,这里就直接借用了. COORD food = { 3,5 }; node *head; food也相应地由COORD来定义,并