贪吃蛇游戏代码,手机游戏代码大全

【基于C++的贪吃蛇游戏能运行出来的完整代码有哪些?】

一个参考实例,在VC++6.0中可以运行成功(可能还有问题)
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h> //使用当前时间做种子;
enum dir{up,down,left,right}; //枚举类型enum dir;
//围墙;
class Fence{
public:
void InitFence();
void OutputF();
public:
char game[20][20];
}f; //定义对象;
//画框框;
void Fence::InitFence(){
for(int i=0; i<20; i++)
for(int j=0; j<20; j++){
if(i==0||i==19||j==0||j==19)
game[i][j]= '*';
else game[i][j]= ' ';
}
}
//显示框框;
void Fence::OutputF(){
for(int i=0; i<20; i++){
for(int j=0; j<20; j++)
cout<<game[i][j]<<' ';
cout<<endl;
}
}
//蛇结点;
class SnakeNode{
private:
int x,y;
SnakeNode *prior,*next;
public:
void add_head(int x,int y);
int get_x();
int get_y();
void delete_tail();
}*head=NULL, *tail =NULL;
//插入头结点;
void SnakeNode::add_head(int x,int y){
SnakeNode *q=new SnakeNode;
q->x =x; q->y =y;
q->next =head;
q->prior =NULL;
if(head) head->prior =q;
head =q;
if(!tail) tail =head;
f.game[x][y]= '*'; //f对象可以在定义Fence类时定义; 且Fence类在SnakeNode类前定义;
}
int SnakeNode::get_x(){
return x;
}
int SnakeNode::get_y(){
return y;
}
//删除尾结点;
void SnakeNode::delete_tail(){
SnakeNode *p =tail;
f.game[tail->get_x()][tail->get_y()]= ' ';//把尾结点的坐标表示的'*'置为空格;
if(tail==head)
tail= head= NULL;
else{
tail= tail->prior;
tail->next= NULL;
}
delete p;
}
//move移动;
class move{
public:
dir point; //枚举变量point: 控制方向;
int food_x;
int food_y;
public:
void moving();
void change_point(char); //改变方向;
void get_food();
};
void move::moving(){
int a,b;
a= head->get_x(); //取得头结点横坐标
b= head->get_y(); //头结点纵坐标
switch(point){
case up: --a; break;
case down: ++a; break;
case left: --b; break;
case right: ++b; break;
}
if(a==19||b==19||a==0||b==0){ //判断是否撞墙;
cout<<"GAME OVER!!!"<<endl;
system("pause");
exit(0);
}
if(a==food_x && b==food_y){ //吃food;
head->add_head(a,b);
get_food();
}
else{
head->add_head(a,b); //插入头结点;
head->delete_tail(); //删除尾结点;
}
}
void move::change_point(char keydown){
switch(keydown){
case 'w': point= up; break;
case 's': point= down; break;
case 'a': point= left; break;
case 'd': point= right; break;
}
}
void move::get_food(){
srand((unsigned int) time(NULL)); //做种子(程序运行时间);
food_x= rand()%18+1;
food_y= rand()%18+1;
f.game[food_x][food_y]= '*';
}
//main();
int main()
{
cout<<"^_^ 请使用\" w,s,a,d \"控制方向 ^_^\n\n\n";
//画框框和小蛇;
move m;
f.InitFence();
head->add_head(4,3);
head->add_head(4,4);
head->add_head(4,5);
m.get_food();
f.OutputF();
while (true){
char keydown= getch(); //getch()返回键盘上读取的字符;包含头文件<conio.h>
m.change_point(keydown);
while(!kbhit()){ //判断有没有按键落下;
system("cls"); //清屏函数;
m.moving();
f.OutputF();
Sleep(200);
}
}
return 0;
}

【求贪吃蛇的C++程序代码】

#include<graphics.h>
#include<stdlib.h>
#include<dos.h>
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
int i,key;
int score=0;
int gamespeed=32000;
struct Food /*食物的结构体*/
{
int x; /*食物的横坐标*/
int y; /*食物的纵坐标*/
int yes; /*食物是否出现的变量*/
}food;
struct Snack /*蛇的结构体*/
{
int x[N];
int y[N];
int node; /*蛇的节数*/
int direction; /*蛇的方向*/
int life; /*蛇的生命,0活着,1死亡*/
}snake;
void Init(void); /*图形驱动*/
void Close(void); /*关闭游戏函数*/
void DrawK(void); /*画图函数*/
void GameOver(void);/*输出失败函数*/
void GamePlay(); /*游戏控制函数 主要程序*/
void PrScore(void); /*分数输出函数*/
DELAY(char ch)/*调节游戏速度*/
{
if(ch=='3')
{
delay(gamespeed); /*delay是延迟函数*/
delay(gamespeed);
}
else if(ch=='2')
{
delay(gamespeed);
}
}
Menu()/*游戏开始菜单*/
{
char ch;
printf("Please choose the gamespeed:\n");
printf("1-Fast 2-Normal 3-Slow\n");
printf("\nPlease Press The numbers..\n");
do
{ch=getch();}
while(ch!='1'&&ch!='2'&&ch!='3');
clrscr();
return(ch);
}
/*主函数*/
void main(void)
{
int ch;
ch=Menu();
Init();
DrawK();
GamePlay(ch);
Close();
}
void Init(void)
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc");
cleardevice();
}
void DrawK(void)
{
setcolor(11);
setlinestyle(SOLID_LINE,0,THICK_WIDTH);
for(i=50;i<=600;i+=10)
{
rectangle(i,40,i+10,49); /*画出上边框*/
rectangle(i,451,i+10,460); /*画出下边框*/
}
for(i=40;i<=450;i+=10)
{
rectangle(50,i,59,i+10); /*画出左边框*/
rectangle(601,i,610,i+10); /*画出右边框*/
}
}
void GamePlay(char ch)
{
randomize(); /*随机数发生器*/
food.yes=1; /*1代表要出现食物,0表示以存在食物*/
snake.life=0;
snake.direction=1;
snake.x[0]=100;snake.y[0]=100;
snake.x[1]=110;snake.y[1]=100;
snake.node=2;
PrScore();
while(1) /*可以重复游戏*/
{
while(!kbhit()) /*在没有按键的情况下蛇自己移动*/
{
if(food.yes==1) /*需要食物*/
{
food.x=rand()%400+60;
food.y=rand()%350+60; /*使用rand函数随机产生食物坐标*/
while(food.x%10!=0)
food.x++;
while(food.y%10!=0)
food.y++; /*判断食物是否出现在整格里*/
food.yes=0; /*现在有食物了*/
}
if(food.yes==0) /*有食物了就要显示出来*/
{
setcolor(GREEN);
rectangle(food.x,food.y,food.x+10,food.y-10);
}
for(i=snake.node-1;i>0;i--) /*贪吃蛇的移动算法*/
{
snake.x[i]=snake.x[i-1];
snake.y[i]=snake.y[i-1]; /*贪吃蛇的身体移动算法*/
}
switch(snake.direction) /*贪吃蛇的头部移动算法,以此来控制移动*/
{
case 1:snake.x[0]+=10;break;
case 2:snake.x[0]-=10;break;
case 3:snake.y[0]-=10;break;
case 4:snake.y[0]+=10;break;
}
for(i=3;i<snake.node;i++) /*判断是否头部与身体相撞*/
{
if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
{
GameOver();
snake.life=1;
break;
}
}
/*下面是判断是否撞到墙壁*/
if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55||snake.y[0]>455)
{
GameOver();
snake.life=1;
}
if(snake.life==1) /*如果死亡就退出循环*/
break;
if(snake.x[0]==food.x&&snake.y[0]==food.y) /*判断蛇是否吃到食物*/
{
setcolor(0);
rectangle(food.x,food.y,food.x+10,food.y-10); /*吃的食物后用黑色将食物擦去*/
snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*现把增加的一节放到看不到的地方去*/
snake.node++;
food.yes=1;
score+=10;
PrScore();
}
setcolor(4); /*每次移动后将后面的身体擦去*/
for(i=0;i<snake.node;i++)
rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);
delay(gamespeed);
DELAY(ch);
setcolor(0);
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);
}
if(snake.life==1)
break;
key=bioskey(0); /*接受按键*/
if(key==ESC)
break;
else
if(key==UP&&snake.direction!=4)/*判断是否改变方向*/
snake.direction=3;
else
if(key==RIGHT&&snake.direction!=2)
snake.direction=1;
else
if(key==LEFT&&snake.direction!=1)
snake.direction=2;
else
if(key==DOWN&&snake.direction!=3)
snake.direction=4;
}
}
void GameOver(void)
{
cleardevice();
setcolor(RED);
settextstyle(0,0,4);
outtextxy(200,200,"GAME OVER");
getch();
}
void PrScore(void)
{
char str[10];
setfillstyle(SOLID_FILL,YELLOW);
bar(50,15,220,35);
setcolor(6);
settextstyle(0,0,2);
sprintf(str,"scord:%d",score);
outtextxy(55,20,str);
}
void Close(void)
{
getch();
closegraph();
}

【用java编写的贪吃蛇游戏代码】

内容来自用户:5702309

用Java编写的贪吃蛇代码
下面是我用java编写的一个贪吃蛇游戏源代码.我个人是比较喜欢玩游戏的,所以学习编程二年多了,很想做个游戏程序,由于能力有限,一直没能做好,后来突然看同学在手机上玩“贪吃蛇”,故想做出来,其一是因为此游戏界面容易设计,算法也比较简单,今天我就把我程序的代码和算法介绍一下,顺便把程序界面皮肤设计说一下......
程序中一个关于游戏信息的类如下,由于类的说明在程序中写的很清楚了,就不再多解释了:#include "time.h"
//方向定义
const CPoint UP(CPoint(0,-1));
const CPoint DOWN(CPoint(0,1));
const CPoint LEFT(CPoint(-1,0));
const CPoint RIGHT(CPoint(1,0));
//速度快慢定义
const int HIGH = 75;
const int NORMAL = 180;
const int SLOW = 300;
const int MAX = 80; //表示转向数
const int LENGTH = 10;
class GameMsg
{
public:
GameMsg(void)
: m_icon(0)
{
InitGame();
}
void InitGame(int up = VK_UP, int down = VK_DOWN, int left = VK_LEFT, int right = VK_RIGHT)
{
srand((unsigned)time(NULL));
m_gameSpeed = NORMAL;
m_speedNum = 2;
m_snakeNum = 4;
for(int i=0; i<m_snakeNum; ++i)
m_snakePoint[i] = CPoint(5+LENGTH*2*5+LENGTH,LENGTH*2*(i+5));
m_run = true;
m_direction = RIGHT;
turnUP = up;
turnDOWN = do

【求"贪吃蛇"小游戏JAVA源代码一份】

我有,怎么给你?...
好几个晚上才做出来的....嘿嘿....

【手机QQ的整人代码大全】

方法/步骤分步阅读
1
/2
找到你需要评论的QQ好友
2
/2
复制你需要的代码即可,下面是部分代码。
锁:[em]e10001[/em]
竖屏手机:[em]e10002[/em]
横屏手机:[em]e10003[/em]
电脑:[em]e10004[/em]
手机:[em]e10005[/em]
相册图标:[em]e10006[/em]
连接图标:[em]e10007[/em]
笔记本:[em]e10008[/em]
红大锁:[em]e10009[/em]
蜡烛:[em]e10010[/em]
红小锁:[em]e10011[/em]
玫瑰:[em]e10012[/em]
手表:[em]e10013[/em]
飞机:[em]e10014[/em]
奶嘴瓶:[em]e10015[/em]
QQ音乐图标:[em]e10016[/em]
赞图标:[em]e10017[/em]
井号:[em]e10018[/em]
大奶嘴瓶:[em]e10019[/em]
小飞机:[em]e10020[/em]
定位图标:[em]e10021[/em]
相机图标:[em]e10022[/em]
相册图标:[em]e10023[/em]
平板电脑:[em]e10024[/em]
手机:[em]e10025[/em]
手表:[em]e10026[/em]
电脑:[em]e10027[/em]
手机山寨:[em]e10028[/em]
返回图标:[em]e10029[/em]
点亮赞图标:[em]e10030[/em]
连接图标小:[em]e10031[/em]
地图标记:[em]e10032[/em]
红包小图标:[em]e10033[/em]
@图标:[em]e10035[/em]
联系人图标:[em]e10036[/em]
赞加圆缺图标:[em]e10037[/em]
返回加圆缺图标:[em]e10038[/em]
红包图标2:[em]e10040[/em]
礼包图标:[em]e10041[/em]
红锁加圆圈:[em]e10042[/em]
打赏代码:
[em]e10033[/em]{uin:123,nick: 打赏了你一个冰淇淋,who:1}
[em]e10033[/em] 打赏了100000000000.00元红包 [em]e10011[/em]
赞代码:{uin:0000,nick:who:1}等100人觉得很赞
[em]e10026[/em]{uin:5720,nick:Gold Vish,who:1}
[em]e10022[/em] {uin:5720,nick:拍摄于07月22日,who:1} {uin:5720,nick:阿尔及利亚 天气:阴,who:1}
[em]e10020[/em]{uin:5720,nick:乘坐于巴西天马航空JJ8280航班(A舱),who:1}
[em]e10023[/em]{uin:5720,nick:文字已通过英国军情六处,请勿泄露。,who:1}
[em]e10005[/em]{uin:1314,nick:samsung S7,who:1}
[em]e10033[/em]打赏了10元红包({uin:3,nick:查看详情})
[em]e10026[/em]{uin:5720,nick:Apple Watch 电镀蓝 (8G),who:1}
[em]e10022[/em] {uin:5720,nick:拍摄于07月18日,who:1} {uin:5720,nick:美国白宫 天气:阴,who:1}
[em]e10020[/em]{uin:5720,nick:乘坐于美国华盛顿国际机场USA527航班(A舱),who:1}
[em]e10023[/em]{uin:5720,nick:文字已通过美国华盛顿审核,请勿泄露。,who:1}
[em]e10005[/em]{uin:1314,nick:iPhone6s plus,who:1}

【手机游戏是用什么代码】

html5,或者php编码的哦

标签: 贪吃蛇游戏代码 贪吃蛇大作战无敌版下载手机游戏代码大全