在哪里可以下载Greedy Snake这款端午节经典游戏戏

Categories:
Jan. 20, 2014
WinXP/Win7/Vista/Win2003/Win2000
Description
The famous Snake game.Game interface is simple.Simple manipulation.
(1) Support
(3) Support game pause /
(4) Stand-alone game without networking support.
How to play
Arrow keys to control the snake movement, snake can not hit the wall, their bodies can not be met.
Update Log
Sep. 22, 2010: Version 2.0 released.经典游戏 贪吃蛇
作者:轻雨漫步
新版地址:
经典游戏贪吃蛇。
作者:轻雨漫步 &&
源代码如下:
////////////////////////////////////////////
// 程序名称:贪吃蛇
// 编译环境:Visual C++ 6.0 / 2010,EasyX_2011惊蛰版
// 程序编写:轻雨漫步 &&
// 最后更新:
////////////////////////////////////////////
//开始编写游戏需要的类
////////////////////////////////////////////
#include &graphics.h& //EasyX_2011惊蛰版(绘图库)
#include &stdio.h&
#include &conio.h&
#include &time.h&
#define UP
#define DOWN 2
#define LEFT 3
#define RIGHT 4
////////////////////////////////////////////
//格子类,定义一个格子的属性及行为
////////////////////////////////////////////
class Cell
friend class GameA
//设置友元函数
void setxy(short x, short y)
//设置格子左上角坐标
m_x = x, m_y =
void setfull(short full)
//设置格子属性,0为空,1为障碍,2为食物
void display(COLORREF color)
//设置格子颜色并显示
setfillstyle(m_color);
bar(m_x, m_y, m_x+7, m_y+7);
void LaserDisplay()
//显示镭射状态的格子
IMAGE image(10,10);
SetWorkingImage(&image);
DWORD* pMem = GetImageBuffer(&image);
for(int i = 0; i & 10 * 10; i++)
pMem[i] = BGR(RGB(0, 0, i * 256 / (10*10) ));
SetWorkingImage(NULL);
putimage(m_x,m_y,&image);
short ReturnFull()
//返回格子状态
//构造函数
m_x = 0,m_y = 0,m_full = 0;
m_color = BLACK;
short m_x;
//格子的左上角X坐标
short m_y;
//格子的左上角Y坐标
//0为空,1为阻挡,2为食物
COLORREF m_ //格子颜色
////////////////////////////////////////////
//游戏区类,编写有关游戏区的一些操作
////////////////////////////////////////////
class GameArea
//游戏区域
Cell m_game[60][60];
//定义游戏区域(由360个格子组成)
friend void MessageDispose(); //设置友元函数
bool CreatFood()
//产生随机食物
srand(time(NULL));
//初始化随机数种子
m_random1 = rand()%58+1;
//随机生成一个0 - 58的整数
m_random2 = rand()%58+1;
//随机一个0 - 58的整数
if(m_game[m_random2][m_random2].m_full == 0) //检查生成的食物坐标是否在障碍上
m_game[m_random1][m_random2].display(GREEN);
m_game[m_random1][m_random2].m_full = 2;
//如果随机的食物正好出现在蛇身上,则进入下面的循环寻找可以生成食物的地方
for(m_random1 = 1;m_random1 & 59;m_random1++)
for(m_random2 = 1;m_random2 & 59;m_random2++)
if(m_game[m_random2][m_random2].m_full == 0)
m_game[m_random1][m_random2].display(GREEN);
m_game[m_random1][m_random2].m_full = 2;
//如果没有找到可以生成食物的地方,则通关
//返回false即表示通关
void DelFood() //删除食物
m_game[m_random1][m_random2].m_full = 0;
//设置为0即代表格子属性为空
void ChangeColor(int flag1,int flag2,COLORREF color)
//设置指定格子的颜色
m_game[flag1][flag2].display(color);
void Init()
//初始化GAME区域
int flag1,flag2;
//标识变量
BeginBatchDraw();
//开始批量绘图
setfillstyle(BLACK); //设置当前颜色
bar(0,0,600,600);
//画无边框填充矩形(在这里的用途是用黑色清空游戏区域)
for(flag1 = 0;flag1 & 60;flag1++)
for(flag2 = 0;flag2 & 60;flag2++)
if(flag1 == 0 || flag1 == 59 || flag2 == 0 || flag2 == 59) //创建边界
m_game[flag1][flag2].setfull(1);
m_game[flag1][flag2].setxy(flag1*10,flag2*10);
m_game[flag1][flag2].display(RGB(237,28,36));
//创建游戏区域
m_game[flag1][flag2].setfull(0);
m_game[flag1][flag2].setxy(flag1*10,flag2*10);
m_game[flag1][flag2].display(BLACK);
CreatFood();
EndBatchDraw();
int m_random1, m_random2;
////////////////////////////////////////////
//蛇类,定义蛇的数据结构以及蛇的行为
////////////////////////////////////////////
class Snake
//蛇头朝向
friend void MessageDispose();
friend int HitDetect();
friend void ReInit();
head = NULL;
last = NULL;
void Init()
//初始化蛇的结构
if(head!=NULL)
//重玩游戏时,释放原先的链表所有结点
for(now = head-&now-&next != NULL;now = now-&next)
free(now-&prior);
head = (struct node*)malloc(sizeof(struct node));
//为蛇头分配内存
head-&prior = NULL;
head-&m_x = 300;
head-&m_y = 300;
now = (struct node*)malloc(sizeof(struct node));
head-&next =
now-&prior =
now-&next = NULL;
now-&m_x = 300;
now-&m_y = 290;
toward = DOWN;
void SnakeAdd()
//当前指向蛇头
now-&prior = (struct node*)malloc(sizeof(struct node));
//为新增的结点分配内存
now = now-& //让当前指向新分配的结点
now-&prior = NULL;
//置空当前结点的前趋
now-&next = //让当前结点的后继指向蛇头
switch(toward)
//根据当前蛇头方向确定新增部分的坐标
now-&m_x = head-&m_x;
now-&m_y = head-&m_y -10;
case DOWN:
now-&m_x = head-&m_x;
now-&m_y = head-&m_y + 10;
case LEFT:
now-&m_x = head-&m_x - 10;
now-&m_y = head-&m_y;
case RIGHT:
now-&m_x = head-&m_x + 10;
now-&m_y = head-&m_y;
head = //设置当前结点为蛇头
void SnakeDel()
//释放蛇尾结点(删除蛇尾)
last = last-&
free(last-&next);
last-&next = NULL;
void SnakeMove() //蛇身移动一格
SnakeAdd();
//增加蛇头
SnakeDel();
//删除蛇尾
struct node
//蛇身链表
struct node *
//下个结点
struct node * //上个结点
struct node *
struct node *
struct node *
////////////////////////////////////////////
//游戏类,用来初始化游戏的参数,及实现其他游戏操作
////////////////////////////////////////////
class Game
void Init()
closegraph();
initgraph(800,600);
setbkmode(TRANSPARENT);
//设置输出文字背景为透明
getfont(&f);
// 获取当前字体设置
f.lfHeight = 50;
// 设置字体高度为 48(包含行距)
_tcscpy(f.lfFaceName, _T(&黑体&));
// 设置字体为&黑体&
f.lfQuality = ANTIALIASED_QUALITY;
// 设置输出效果为抗锯齿
setfont(&f);
// 设置字体样式
void FailGame()
//游戏失败显示的画面
setcolor(RED);
setfont(70, 0, _T(&微软雅黑&));
outtextxy(150, 265, _T(&YOU LOSE!&));
void WinGame() //游戏胜利时显示的画面
setcolor(RED);
setfont(70, 0, _T(&微软雅黑&));
outtextxy(150, 265, _T(&YOU WIN!&));
FlushBatchDraw();
Sleep(10000);
////////////////////////////////////////////
//管理区类,定义管理区域的相关操作
////////////////////////////////////////////
class ManageArea
friend void MessageDispose();
void TimeAdd(double add) //增加时间(可在类外直接调用实现动态刷新时间)
DisplayTime();
void ScoreAdd(short add) //增加分数(可在类外直接调用实现动态刷新分数)
m_score +=
DisplayScore();
void DisplayPause()
//显示暂停或者开始
BeginBatchDraw();
_stprintf(m_str_score, _T(&%d&), m_score);
setfont(25, 0, _T(&微软雅黑&));
setfillstyle(m_bgcolor);
bar(625,490,800,515);
setcolor(BLUE);
if(m_pause)
outtextxy(625, 490, _T(&开始(P键)&));
outtextxy(625, 490, _T(&暂停(P键)&));
EndBatchDraw();
void Init()
//初始化管理界面
m_time = 0.0;
m_score = 0;
m_leave = 1;
_stprintf(m_str_score, _T(&%d&), m_score);
//格式化转换类型
_stprintf(m_str_time, _T(&%.1lf&), m_time);
m_bgcolor = BLACK;
BeginBatchDraw();
setfillstyle(BLACK);
bar(601,0,800,600);
setfont(60, 0, _T(&微软雅黑&));
setcolor(GREEN);
outtextxy(625, 30, _T(&贪吃蛇&));
setfont(30, 0, _T(&微软雅黑&));
setcolor(RGB(128,0,255));
outtextxy(625, 140, _T(&制作:轻雨漫步&));
setfont(25, 0, _T(&微软雅黑&));
setcolor(BLUE);
outtextxy(625, 430, _T(&时间:&));
outtextxy(625, 460, _T(&分数:&));
outtextxy(625, 490, _T(&暂停(P键)&));
outtextxy(625, 520, _T(&重新游戏(R键)&));
setcolor(RED);
outtextxy(720, 400, m_str_leave);
outtextxy(680, 460, m_str_score);
outtextxy(680, 430, m_str_time);
EndBatchDraw();
TCHAR m_str_leave[2], m_str_time[33], m_str_score[5];
COLORREF m_
void DisplayTime()
//显示当前耗时
BeginBatchDraw();
_stprintf(m_str_time, _T(&%.1lf&), m_time);
setfont(25, 0, _T(&微软雅黑&));
setfillstyle(m_bgcolor);
bar(680,430,800,455);
setcolor(RED);
outtextxy(680,430,m_str_time);
EndBatchDraw();
void DisplayScore()
//显示当前分数
BeginBatchDraw();
_stprintf(m_str_score, _T(&%d&), m_score);
setfont(25, 0, _T(&微软雅黑&));
setfillstyle(m_bgcolor);
bar(680,460,800,485);
setcolor(RED);
outtextxy(680,460,m_str_score);
EndBatchDraw();
////////////////////////////////////////////
//声明游戏需要的类
////////////////////////////////////////////
//用于初始化游戏、设置游戏相关参数
GameArea a;
//用于初始化游戏区域,设置,改变游戏区域相关参数
ManageArea
//用于初始化管理区域,设置管理区相关参数
//用于初始化蛇,数据化蛇,操作蛇
////////////////////////////////////////////
//游戏的消息控制,流程控制函数
////////////////////////////////////////////
void MessageDispose()
//消息处理函数
s.now = NULL;
bool Keepdown =
while(true)
Keepdown =
//是否持续按W A S D 中的一个按键
if(kbhit())
switch(c = getch())
//处理按键消息(W A S D)
if(s.toward == UP)Keepdown =
else if(s.toward != DOWN&&s.toward != UP)s.toward = UP;
if(s.toward == DOWN)Keepdown =
else if(s.toward != UP&&s.toward != DOWN)s.toward = DOWN;
if(s.toward == LEFT)Keepdown =
else if(s.toward != RIGHT&&s.toward != LEFT)s.toward = LEFT;
if(s.toward == RIGHT)Keepdown =
else if(s.toward != LEFT&&s.toward != RIGHT)s.toward = RIGHT;
manager.m_pause = !manager.m_ //设置暂停或开始
manager.DisplayPause(); //显示暂停或开始
if(true == manager.m_pause) //如果暂停,直接进行下次循环
BeginBatchDraw();
switch(a.m_game[s.head-&m_x/10][s.head-&m_y/10].ReturnFull()) //检测蛇头遇到的情况
//遇到食物,蛇身加长
a.ChangeColor(s.head-&m_x/10,s.head-&m_y/10,BLUE);
s.SnakeAdd(); //蛇增长
a.ChangeColor(s.head-&m_x/10,s.head-&m_y/10,BLUE);
a.DelFood(); //删除食物
if(a.CreatFood() == false) //创建新食物,并检查是否通关
game.WinGame();
//游戏通关(当地图没地方创建食物时)
manager.ScoreAdd(1);
a.m_game[s.last-&m_x/10][s.last-&m_y/10].setfull(0);
//设置蛇尾经过处无障碍
a.ChangeColor(s.last-&m_x/10,s.last-&m_y/10,BLACK);
s.SnakeMove();
//蛇移动一次
a.ChangeColor(s.head-&m_x/10,s.head-&m_y/10,BLUE);
a.m_game[s.head-&next-&m_x/10][s.head-&next-&m_y/10].setfull(1); //设置蛇头经过处有障碍
//遇到障碍物
game.FailGame();
a.ChangeColor(s.head-&m_x/10,s.head-&m_y/10,RGB(255,127,39));
FlushBatchDraw();
char c = ' ';
while(c != 'r' && c != 'R')
//当游戏失败时,按R键可重新进行游戏
if(kbhit())
c = getch();
Sleep(10);
ReInit(); //重新开始游戏
EndBatchDraw();
if(Keepdown==false)
Sleep(100);
manager.TimeAdd(0.1); //增加时间
//当持续按下按方向键时
Sleep(40);
//适当休眠可以增加游戏流畅性
manager.TimeAdd(0.04);
//增加时间
////////////////////////////////////////////
//游戏初始化函数
////////////////////////////////////////////
void ReInit()
a.Init(); //初始化游戏区
//初始化蛇
manager.Init();
//初始化管理区
//绘制蛇的开始状态
s.now = s.
a.ChangeColor(s.now-&m_x/10,s.now-&m_y/10,BLUE);
s.now = s.
a.ChangeColor(s.now-&m_x/10,s.now-&m_y/10,BLUE);
////////////////////////////////////////////
//main函数,程序入口
////////////////////////////////////////////
int main(void)
game.Init();
//初始化游戏参数、设置
//初始化其他
MessageDispose(); //消息处理函数
更新时间:热门搜索:
&&&&&&&&&&&&&&&&&&&&下载地址1
[K8播放在线播放,支持手机、电脑播放。]倒序↑顺序↓
[需要下载xfplay播放器]倒序↑顺序↓
贪婪/Greedy相关影片
独家首播DVD
独家首播DVD
独家首播DVD
独家首播DVD
纳粹女魔头四部曲
02-09/完结
12-26/DVD中字
06-09/高清中字
11-23/独家首播中文字幕
02-09/完结
10-15/独家首播中文字幕
03-26/完整版
07-13/中文字幕
07-24/高清
07-09/DVD中字
05-26/BD中字
贪婪/Greedy剧情介绍
2016年度最新韩国限制级电影&&与贪婪/Greedy吉吉影音播放链接均载自其它网站,仅用于宽带测试,请测试完后及时删除。贪婪/Greedy版权归原始发布站和相关影音公司所有。如果您喜欢贪婪/Greedy快播,请支持[]购买正版!
贪婪/Greedy观点评论
K8经典电影网抓取和发布的影片贪婪/Greedy在线观看,都属于西瓜影音,吉吉影音,影音先锋,快播和百度影音资源.K8经典并不参与贪婪/Greedy快播的任何商业性录制与上传。我们仅提供贪婪/Greedy高清百度云和迅雷下载引用.如果您对贪婪/Greedyqvod感兴趣,推荐您通过正规渠道或所属版权实体店购买正版贪婪/Greedy百度影音影视音像制品!Copyright &&2018&K8经典&版权所有GreedySnake
安全下载普通下载安全下载1):触屏,整个游戏过程都可以使用这种方法;...
展开全部介绍
下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载下载意见反馈百度手机助手正在下载打开助手立即安装&>&Greedy Snake
Greedy Snake
上传大小:2.53MB
a snake that is so greedy,and if it can,it will eat itself
综合评分:4
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有1条
很不错,里面的资料很详尽
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
Greedy Snake
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
jacklam200
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
Greedy Snake

我要回帖

更多关于 黑卡游戏机经典游戏 的文章

 

随机推荐