c语言小游戏代码
“贪吃蛇”C代码,在dev C++试验通过(用4个方向键控制)
#include stdio.h
#include stdlib.h
#include conio.h
#include time.h
#include Windows.h
#define W 78 //游戏框的宽,x轴
#define H 26 //游戏框的高,y轴
int dir=3; //方向变量,初值3表示向“左”
int Flag=0; //吃了食物的标志(1是0否)
int score=0; //玩家得分
struct food{ int x; //食物的x坐标
int y; //食物的y坐标
}fod; //结构体fod有2个成员
struct snake{ int len; //蛇身长
int speed; //移动速度
int x[100]; //蛇身某节x坐标
int y[100]; //蛇身某节y坐标
}snk; //结构体snk有4个成员
void gtxy( int x,int y) //控制光标移动的函数
{ COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void gtxy( int x,int y); //以下声明要用到的几个自编函数
void csh( ); //初始化界面
void keymove( ); //按键操作移动蛇
void putFod( ); //投放食物
int Over( ); //游戏结束(1是0否)
void Color(int a); //设定显示颜色的函数
int main( ) //主函数
{ csh( );
while(1)
{ Sleep(snk.speed);
keymove( );
putFod( );
if(Over( ))
{ system(“cls”);
gtxy(W/2+1,H/2); printf(“游戏结束!T__T”);
gtxy(W/2+1,H/2+2); printf(“玩家总分:%d分”,score);
getch( );
break;
}
}
return 0;
}
void csh( ) //初始化界面
{ int i;
gtxy(0,0);
CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);
for(i=0;i=W;i=i+2) //横坐标要为偶数,因为这个要打印的字符占2个位置
{Color(2); //设定打印颜色为绿色
gtxy(i,0); printf("■"); //打印上边框
gtxy(i,H); printf("■"); //打印下边框
}
for(i=1;iH;i++)
{ gtxy(0,i); printf("■"); //打印左边框
gtxy(W,i); printf("■"); //打印右边框
}
while(1)
{ srand((unsigned)time(NULL)); //初始化随机数发生器srand( )
fod.x=rand()%(W-4)+2; //随机函数rand( )产生一个从0到比”(W-4)”小1的数再加2
fod.y=rand()%(H-2)+1; //随机函数rand( )产生一个从0到比”(H-2)”小1的数再加1
if (fod.x%2==0) break; //fod.x是食物的横坐标,要是2的倍数(为偶数)
}
Color(12); //设定打印颜色为淡红
gtxy(fod.x,fod.y); printf("●"); //到食物坐标处打印初试食物
snk.len=3; //蛇身长初值为3节
snk.speed=350; //刷新蛇的时间,即移动速度初值为350毫秒
snk.x[0]=W/2+1; //蛇头横坐标要为偶数(因为W/2=39)
snk.y[0]=H/2; //蛇头纵坐标
Color(9); //设定打印颜色为淡蓝
gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头
for(i=1;isnk.len;i++)
{ snk.x[i]=snk.x[i-1]+2; snk.y[i]=snk.y[i-1];
gtxy(snk.x[i],snk.y[i]); printf("■"); //打印蛇身
}
Color(7, 0); //恢复默认的白字黑底
return;
}
void keymove( ) //按键操作移动蛇
{ int key;
if( kbhit( ) ) //如有按键输入才执行下面操作
{ key=getch( );
if (key==224) //值为224表示按下了方向键,下面要再次获取键值
{ key=getch( );
if(key==72dir!=2)dir=1; //72表示按下了向上方向键
if(key==80dir!=1)dir=2; //80为向下
if(key==75dir!=4)dir=3; //75为向左
if(key==77dir!=3)dir=4; //77为向右
}
if (key==32)
{ while(1) if((key=getch( ))==32) break; } //32为空格键,这儿用来暂停
}
if (Flag==0) //如没吃食物,才执行下面操作擦掉蛇尾
{ gtxy(snk.x[snk.len-1],snk.y[snk.len-1]); printf(" "); }
int i;
for (i = snk.len - 1; i 0; i--) //从蛇尾起每节存储前一节坐标值(蛇头除外)
{ snk.x[i]=snk.x[i-1]; snk.y[i]=snk.y[i-1]; }
switch (dir) //判断蛇头该往哪个方向移动,并获取最新坐标值
{ case 1: snk.y[0]--; break; //dir=1要向上移动
case 2: snk.y[0]++; break; //dir=2要向下移动
case 3: snk.x[0]-=2; break; //dir=3要向左移动
case 4: snk.x[0]+=2; break; //dir=4要向右移动
}
Color(9);
gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头
if (snk.x[0] == fod.x snk.y[0] == fod.y) //如吃到食物则执行以下操作
{ printf("\7"); snk.len++; score += 100; snk.speed -= 5; Flag = 1; } //7是响铃
else Flag = 0; //没吃到食物Flag的值为0
if(snk.speed150) snk.speed= snk.speed+5; //作弊码,不让速度无限加快
}
void putFod( ) //投放食物
{ if (Flag == 1) //如吃到食物才执行以下操作,生成另一个食物
{ while (1)
{ int i,n= 1;
srand((unsigned)time(NULL)); //初始化随机数发生器srand( )
fod.x = rand( ) % (W - 4) + 2; //产生在游戏框范围内的一个x坐标值
fod.y = rand( ) % (H - 2) + 1; //产生在游戏框范围内的一个y坐标值
for (i = 0; i snk.len; i++) //随机生成的食物不能在蛇的身体上
{ if (fod.x == snk.x[i] fod.y == snk.y[i]) { n= 0; break;} }
if (n fod.x % 2 == 0) break; //n不为0且横坐标为偶数,则食物坐标取值成功
}
Color(12); //设定字符为红色
gtxy(fod.x, fod.y); printf("●"); //光标到取得的坐标处打印食物
}
return;
}
int Over( ) //判断游戏是否结束的函数
{ int i;
Color(7);
gtxy(2,H+1); printf(“暂停键:space.”); //以下打印一些其它信息
gtxy(2,H+2); printf(“游戏得分:%d”,score);
if (snk.x[0] == 0 || snk.x[0] == W) return 1; //蛇头触碰左右边界
if (snk.y[0] == 0 || snk.y[0] == H) return 1; //蛇头触碰上下边界
for (i = 1; i snk.len; i++)
{ if (snk.x[0] == snk.x[i] snk.y[0] == snk.y[i]) return 1; } //蛇头触碰自身
return 0; //没碰到边界及自身时就返回0
}
void Color(int a) //设定颜色的函数
{ SetConsoleTextAttribute(GetStdHandle( STD_OUTPUT_HANDLE ),a ); }
求生之路 游戏秘籍 代码大全
首先主界面 Options - Keyboard/Mouse - Allow Developers Console
(选项- 键盘/鼠标- 允许开启控制台)
然后游戏中按 ~ 开启控制台,输入 Sv_Cheats 1 回车确认开启秘籍模式。
最后游戏中按 ~ 开启控制台,输入以下秘籍回车确认可得到对应效果
god 1 无敌
noclip 穿墙(朝上可以飞天)
sv_infinite_ammo 1 无限弹药
give pistol 手枪
give pumpshotgun 霰弹枪
give autoshotgun 连散
give rifle M4/M16
give smg 乌兹
give hunting_rifle 狙击
give pipe_bomb 土制炸弹
give molotov 燃烧瓶
give oxygentank 氧气瓶
give propanetank 煤气罐
give gascan 油桶
give pain_pills 药瓶
give first_aid_kit 急救包
give health 满血100
give ammo 弹药
z_spawn hunter(创造Hunter)
z_spawn smoker(创造smoker)
z_spawn boomer (创造boomer)
z_spawn tank (创造tank)
z_spawn witch(创造witch)
ent_fire !self setteam 1 变目击者
ent_fire !self setteam 2 变幸存者
ent_fire !self setteam 3 被感染
changelevel 地图名 快速改变地图
give物品名 制造指定物品(武器等等)
nb_blind 1 让丧尸看不到,不过碰到丧尸的话他们还是会发现
nb_delete_all 清除所有被感染的头目及幸存者
z_add 增加一只丧尸在游戏中
z_spawn bossname 增加一只Boss怪物,bossname分别是:
tank, boomer, smoker, witch, hunter
cl_drawhud 0 消除抬头状态列HUD
r_drawviewmodel 0 使武器隐形
sv_lan 0 启用Internet网络;
在 Campaign Lobby 界面开启
map地图名 启动网络服务器;
在 Campaign Lobby界面开启
openserverbrowser 显示可用的服务器
OP命令全解释
rcon_password **** 获得OP权限 (*=OP密码)
rcon sv_password **** 锁上服务器
rcon sv_password '' 解锁服务器
rcon changelevel 地图名 立即换地图,所有玩家不退出
rcon map 地图名 立即立即换地图,所有玩家退出
z_difficulty Easy 游戏难度简单
z_difficulty Normal 正常
z_difficulty Hard 困难
z_difficulty Impossible 专家
下面列出游戏目前所有的游戏地图名称 方便大家使用(~直接复制粘贴-除掉.bsp):
毫不留情
map l4d_hospital01_apartment.bsp (1.公寓)
主视角截图map l4d_hospital02_subway.bsp (2:地铁)
map l4d_hospital03_sewers.bsp (3:下水道)
map l4d_hospital04_interior.bsp (4:医院)
map l4d_hospital05_rooftop.bsp (5:屋顶终局)
死亡丧钟
map l4d_smalltown01_caves.bsp (1:收费公路)
map l4d_smalltown02_drainage.bsp (2:水沟)
map l4d_smalltown03_ranchhouse.bsp (3:教堂)
map l4d_smalltown04_mainstreet.bsp (4:小镇)
map l4d_smalltown05_houseboat.bsp (5:船库终局)
静寂时分
map l4d_airport01_greenhouse.bsp (1:花房)
map l4d_airport02_offices.bsp (2:起重机)
map l4d_airport03_garage.bsp (3:建筑工地)
map l4d_airport04_terminal.bsp (4:终点)
map l4d_airport05_runway.bsp (5:跑道终局)
血腥收获
map l4d_farm01_hilltop.bsp (1:森林)
map l4d_farm02_traintunnel.bsp (2:隧道)
map l4d_farm03_bridge.bsp (3:桥)
map l4d_farm04_barn.bsp (4:火车站)
map l4d_farm05_cornfield.bsp (5:农舍终局)
生存灯塔
map l4d_sv_lighthouse.bap (生存灯塔地图)
模式变更激活命令
mp_gamemode survival 激活生存模式
mp_gamemode coop 合作模式的命令,然后选一幅合作地图就行了。
mp_gamemode versus 对抗模式地图,然后选一副对抗地图(对抗地图是 l4d_sv_xx
..
..
.
如何用学习机复制代码玩游戏
可以通过拷贝。
用数据线将电脑与学习机连接起来,通过拷贝,然后传输到学习机上即可,但要先在电脑上下载,才可以传过去。
将写好代码的txt文档右键点击,将文件的后缀"txt"改成“vbs”,然后保存,弹出的对话框不用理会,点击确定。
游戏空白代码,王者荣耀的怎么弄啊?
去网上找空白字或者复制我的上面三个字,再把字改成你想要的,就是最长只能三个字,如果说长了,你就删前面字空白一点每个字都删一点保持一条线,王者荣耀英雄模型非常精致,游戏画面简洁明了,重点在于操作简单,匹配速度快,和朋友开黑方便快捷。9月王者荣耀职业联赛就要开始了,有兴趣的玩家多关注官方的消息,赛事会有直播。
跪求简单的打字游戏代码?要FLASH的
主要代码:
//定义nub,为下面的球体复制做准备...
var num:Number = 0;
//定义xian,此处设置的目的为当球下落到一定程序的时候(即超出屏幕的范围的时候),运行后面的程序,此方法的目的是为了
//让系统不会因为复制太多球体而变得很慢.此处的值是场景的y值,可以随便设...
var xian:Number = 450;
//定义新my_array类,此处为随机出现在黄色球体中的文字,内容可以自己随便加入...
var my_array:Array = new Array();
my_array = ["欢", "迎", "光", "临", "淘", "沙", "网"];
//定义加载第一个球体函数...
function jiazai_ball1() {
//num的值不断递加...
num++;
//定义一个变量ball2,变量的对象为复制第一个球体为新实例名为"第一个球+num"到num层...
var ball2 = attachMovie("ball", "ball"+num, num);
//定义ball2的x座标值为随机数...
ball2._x = Math.floor(Math.random()*750);
//此处运用一个语句switch...即可选择性调用函数...
switch (moshi_txt.text) {
case "小写练习" :
//此处返回一个随机值...
numb = random(26)+97;
//此处不要忘了跳出语句...
break;
case "大写练习" :
numb = random(26)+65;
break;
//这个函数,我是第一次用到,感谢酱色度,还有小南,当然最感谢的还是Hbro...
//当前面的条件都不成立时,就运行下面的程序...
default :
moshi_txt.text = "综合练习";
//这里,又要用到变量.先定义一个变量...这里有点难度.即是说:当前面都不成立的时候,就用到这里.而且要包含两种可能.
//这个时候,就又要用到随机函数了...这个随机函数其实是属于整个default程序的...
var xuan_tt = random(2);
if (xuan_tt == 1) {
numb = random(26)+97;
} else {
numb = random(26)+65;
break;
}
}
ball2.onEnterFrame = function() {
//当ball2运行的时候,就移动y座标,这样才能形成动画...
this._y += 3;
if (this._y=xian) {
//当移动到一定位置的时候,就删除影片.这样,才不会形成系统越来越慢...
removeMovieClip(this);
}
};
//球体上的动态文本框中的文本就将上面的随机字符转换为编码.每个键盘按键都对应得有一个编码的...具体可以查询:
//http://www.taoshaw.com/taoshaw/article.asp?id=1309里面的相关内容...
ball2.text.text = String.fromCharCode(numb);
}
//此处为复制的另一个球体的函数...
function jiazai_ball2() {
var ball3 = attachMovie("balld", "balld"+num, num);
ball3._x = Math.floor(Math.random()*750);
ball3.onEnterFrame = function() {
this._y += 5;
if (this._y=xian) {
removeMovieClip(this);
}
};
numb = random(26)+97;
/*如果希望黄色的小球也出现随机字母,则使用ball3.text.text=String.fromCharCode(nmub);*/
ball3.text.text = my_array[Math.floor(Math.random()*my_array.length)];
}
//将刚才的球体加载函数调用进场景中...
function diao1() {
jiazai_ball1();
}
function diao2() {
jiazai_ball2();
}
//设置diao1函数调用的时间半隔...
id1 = setInterval(diao1, 1000);
id2 = setInterval(diao2, 5000);
xiaoxie_btn.onRelease = function() {
moshi_txt.text = "小写练习";
};
daxie_btn.onRelease = function() {
moshi_txt.text = "大写练习";
};
元件“ball”中第一帧中的代码说明:
stop();
//定义鼠标侦听类...
var keyListener = new Object();
keyListener.onKeyDown = function() {
//判断键盘转化的符号与球体的动态文本框中的内空所对应的编码是否符合...
if (text.text.charCodeAt(0) == Key.getAscii()) {
gotoAndPlay(2);
}
};
Key.addListener(keyListener);