本文目录一览:
-
5、c语言小游戏代码
用C++编写的小游戏源代码
五子棋的代码:
#includeiostream
#includestdio.h
#includestdlib.h
#include time.h
using namespace std;
const int N=15; //15*15的棋盘
const char ChessBoardflag = ' '; //棋盘标志
const char flag1='o'; //玩家1或电脑的棋子标志
const char flag2='X'; //玩家2的棋子标志
typedef struct Coordinate //坐标类
int x; //代表行
int y; //代表列
}Coordinate;
class GoBang //五子棋类
public:
GoBang() //初始化
InitChessBoard();
void Play() //下棋
Coordinate Pos1; // 玩家1或电脑
Coordinate Pos2; //玩家2
int n = 0;
while (1)
int mode = ChoiceMode();
while (1)
if (mode == 1) //电脑vs玩家
ComputerChess(Pos1,flag1); // 电脑下棋
if (GetVictory(Pos1, 0, flag1) == 1) //0表示电脑,真表示获胜
break;
PlayChess(Pos2, 2, flag2); //玩家2下棋
if (GetVictory(Pos2, 2, flag2)) //2表示玩家2
break;
else //玩家1vs玩家2
PlayChess(Pos1, 1, flag1); // 玩家1下棋
if (GetVictory(Pos1, 1, flag1)) //1表示玩家1
break;
PlayChess(Pos2, 2, flag2); //玩家2下棋
if (GetVictory(Pos2, 2, flag2)) //2表示玩家2
break;
cout "***再来一局***" endl;
cout "y or n :";
char c = 'y';
cin c;
if (c == 'n')
break;
protected:
int ChoiceMode() //选择模式
int i = 0;
system("cls"); //系统调用,清屏
InitChessBoard(); //重新初始化棋盘
cout "***0、退出 1、电脑vs玩家 2、玩家vs玩家***" endl;
while (1)
cout "请选择:";
cin i;
if (i == 0) //选择0退出
exit(1);
if (i == 1 || i == 2)
return i;
cout "输入不合法" endl;
void InitChessBoard() //初始化棋盘
for (int i = 0; i N + 1; ++i)
for (int j = 0; j N + 1; ++j)
_ChessBoard[i][j] = ChessBoardflag;
void PrintChessBoard() //打印棋盘,这个函数可以自己调整
system("cls"); //系统调用,清空屏幕
for (int i = 0; i N+1; ++i)
for (int j = 0; j N+1; ++j)
if (i == 0) //打印列数字
if (j!=0)
printf("%d ", j);
else
printf(" ");
else if (j == 0) //打印行数字
printf("%2d ", i);
else
if (i N+1)
printf("%c |",_ChessBoard[i][j]);
cout endl;
cout " ";
for (int m = 0; m N; m++)
printf("--|");
cout endl;
void PlayChess(Coordinate pos, int player, int flag) //玩家下棋
PrintChessBoard(); //打印棋盘
while (1)
printf("玩家%d输入坐标:", player);
cin pos.x pos.y;
if (JudgeValue(pos) == 1) //坐标合法
break;
cout "坐标不合法,重新输入" endl;
_ChessBoard[pos.x][pos.y] = flag;
void ComputerChess(Coordinate pos, char flag) //电脑下棋
PrintChessBoard(); //打印棋盘
int x = 0;
int y = 0;
while (1)
x = (rand() % N) + 1; //产生1~N的随机数
srand((unsigned int) time(NULL));
y = (rand() % N) + 1; //产生1~N的随机数
srand((unsigned int) time(NULL));
if (_ChessBoard[x][y] == ChessBoardflag) //如果这个位置是空的,也就是没有棋子
break;
pos.x = x;
pos.y = y;
_ChessBoard[pos.x][pos.y] = flag;
int JudgeValue(const Coordinate pos) //判断输入坐标是不是合法
if (pos.x 0 pos.x = Npos.y 0 pos.y = N)
if (_ChessBoard[pos.x][pos.y] == ChessBoardflag)
return 1; //合法
return 0; //非法
int JudgeVictory(Coordinate pos, char flag) //判断有没有人胜负(底层判断)
int begin = 0;
int end = 0;
int begin1 = 0;
int end1 = 0;
//判断行是否满足条件
(pos.y - 4) 0 ? begin = (pos.y - 4) : begin = 1;
(pos.y + 4) N ? end = N : end = (pos.y + 4);
for (int i = pos.x, j = begin; j + 4 = end; j++)
if (_ChessBoard[i][j] == flag_ChessBoard[i][j + 1] == flag
_ChessBoard[i][j + 2] == flag_ChessBoard[i][j + 3] == flag
_ChessBoard[i][j + 4] == flag)
return 1;
//判断列是否满足条件
(pos.x - 4) 0 ? begin = (pos.x - 4) : begin = 1;
(pos.x + 4) N ? end = N : end = (pos.x + 4);
for (int j = pos.y, i = begin; i + 4 = end; i++)
if (_ChessBoard[i][j] == flag_ChessBoard[i + 1][j] == flag
_ChessBoard[i + 2][j] == flag_ChessBoard[i + 3][j] == flag
_ChessBoard[i + 4][j] == flag)
return 1;
int len = 0;
//判断主对角线是否满足条件
pos.x pos.y ? len = pos.y - 1 : len = pos.x - 1;
if (len 4)
len = 4;
begin = pos.x - len; //横坐标的起始位置
begin1 = pos.y - len; //纵坐标的起始位置
pos.x pos.y ? len = (N - pos.x) : len = (N - pos.y);
if (len4)
len = 4;
end = pos.x + len; //横坐标的结束位置
end1 = pos.y + len; //纵坐标的结束位置
for (int i = begin, j = begin1; (i + 4 = end) (j + 4 = end1); ++i, ++j)
if (_ChessBoard[i][j] == flag_ChessBoard[i + 1][j + 1] == flag
_ChessBoard[i + 2][j + 2] == flag_ChessBoard[i + 3][j + 3] == flag
_ChessBoard[i + 4][j + 4] == flag)
return 1;
//判断副对角线是否满足条件
(pos.x - 1) (N - pos.y) ? len = (N - pos.y) : len = pos.x - 1;
if (len 4)
len = 4;
begin = pos.x - len; //横坐标的起始位置
begin1 = pos.y + len; //纵坐标的起始位置
(N - pos.x) (pos.y - 1) ? len = (pos.y - 1) : len = (N - pos.x);
if (len4)
len = 4;
end = pos.x + len; //横坐标的结束位置
end1 = pos.y - len; //纵坐标的结束位置
for (int i = begin, j = begin1; (i + 4 = end) (j - 4 = end1); ++i, --j)
if (_ChessBoard[i][j] == flag_ChessBoard[i + 1][j - 1] == flag
_ChessBoard[i + 2][j - 2] == flag_ChessBoard[i + 3][j - 3] == flag
_ChessBoard[i + 4][j - 4] == flag)
return 1;
for (int i = 1; i N + 1; ++i) //棋盘有没有下满
for (int j =1; j N + 1; ++j)
if (_ChessBoard[i][j] == ChessBoardflag)
return 0; //0表示棋盘没满
return -1; //和棋
bool GetVictory(Coordinate pos, int player, int flag) //对JudgeVictory的一层封装,得到具体那个玩家获胜
int n = JudgeVictory(pos, flag); //判断有没有人获胜
if (n != 0) //有人获胜,0表示没有人获胜
PrintChessBoard();
if (n == 1) //有玩家赢棋
if (player == 0) //0表示电脑获胜,1表示玩家1,2表示玩家2
printf("***电脑获胜***\n");
else
printf("***恭喜玩家%d获胜***\n", player);
else
printf("***双方和棋***\n");
return true; //已经有人获胜
return false; //没有人获胜
private:
char _ChessBoard[N+1][N+1];
扩展资料:
设计思路
1、进行问题分析与设计,计划实现的功能为,开局选择人机或双人对战,确定之后比赛开始。
2、比赛结束后初始化棋盘,询问是否继续比赛或退出,后续可加入复盘、悔棋等功能。
3、整个过程中,涉及到了棋子和棋盘两种对象,同时要加上人机对弈时的AI对象,即涉及到三个对象。
跪求简单的打字游戏代码?要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);
//球体上的动态文本框中的文本就将上面的随机字符转换为编码.每个键盘按键都对应得有一个编码的...具体可以查询:
//里面的相关内容...
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);
王者荣耀超长名字怎么代码复制?
具体方法如下:
1、首先在设备里点击打开王者荣耀app。如图所示:
2、进入游戏首页后,点击左上角个人头像。如图所示:
3、然后在个人主页里,点击右上角设置。如图所示:
4、然后在设置列表里,点击第一个复制名字。如图所示:
5、这样就能成功复制了自己的名字。如图所示:
游戏空白代码复制是多少?
下面演示王者荣耀改空白名字的操作流程:
一、进入王者荣耀大厅,点击右下角“背包”。
二、在背包中找到“改名卡”,点击右边的“使用”。
三、打开输入法面板后,点击输入法面板上的“表情”。
四、点击“Emoji表情”,在Emoji表情符号中逐个尝试,有哪些能够输入文字栏,就使用这些符号,输入完毕后点击输入法面板“确定”(注意:由于王者荣耀使用空白名字的人比较多,尽量选择多个字符的组合,不要使用相同字符避免重名)。
五、输入法面板关闭后,点击改名栏下方的“确定”。
六、效果如下图,这时更改的名字就是空白名字了。
c语言小游戏代码
最基础的贪吃蛇的代码
#includestdio.h
#includewindows.h//基本型态定义。支援型态定义函数。使用者界面函数 图形装置界面函数。
#includeconio.h //用户通过按键盘产生的对应操作 (控制台)
#includestdlib.h
#includetime.h //日期和时间头文件
#define LEN 30
#define WID 25
int Snake[LEN][WID] = {0}; //数组的元素代表蛇的各个部位
char Sna_Hea_Dir = 'a';//记录蛇头的移动方向
int Sna_Hea_X, Sna_Hea_Y;//记录蛇头的位置
int Snake_Len = 3;//记录蛇的长度
clock_t Now_Time;//记录当前时间,以便自动移动
int Wait_Time ;//记录自动移动的时间间隔
int Eat_Apple = 1;//吃到苹果表示为1
int Level ;
int All_Score = -1;
int Apple_Num = -1;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出的句柄 windows.h
//句柄 :标志应用程序中的不同对象和同类对象中的不同的实例 方便操控,
void gotoxy(int x, int y)//设置光标位置
COORD pos = {x,y}; //定义一个字符在控制台屏幕上的坐标POS
SetConsoleCursorPosition(hConsole, pos); //定位光标位置的函数windows.h
void Hide_Cursor()//隐藏光标 固定函数
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(hConsole, cursor_info);
void SetColor(int color)//设置颜色
SetConsoleTextAttribute(hConsole, color);
//是API设置字体颜色和背景色的函数 格式:SetConsoleTextAttribute(句柄,颜色);
void Print_Snake()//打印蛇头和蛇的脖子和蛇尾
int iy, ix, color;
for(iy = 0; iy WID; ++iy)
for(ix = 0; ix LEN; ++ix)
if(Snake[ix][iy] == 1)//蛇头
SetColor(0xf); //oxf代表分配的内存地址 setcolor:34行自定义设置颜色的函数
gotoxy(ix*2, iy);
printf("※");
if(Snake[ix][iy] == 2)//蛇的脖子
color = rand()%15 + 1; //rand()函数是产生随机数的一个随机函数。C语言里还有 srand()函数等。
//头文件:stdlib.h
if(color == 14)
color -= rand() % 13 + 1; //变色
SetColor(color);
gotoxy(ix*2, iy);
printf("■");
if(Snake[ix][iy] == Snake_Len)
gotoxy(ix*2, iy);
SetColor(0xe);
printf("≈");
void Clear_Snake()//擦除贪吃蛇
int iy, ix;
for(iy = 0; iy WID; ++iy)
for(ix = 0; ix LEN; ++ix)
gotoxy(ix*2, iy);
if(Snake[ix][iy] == Snake_Len)
printf(" ");
void Rand_Apple()//随机产生苹果
int ix, iy;
do
ix = rand() % LEN;
iy = rand() % WID;
}while(Snake[ix][iy]);
Snake[ix][iy] = -1;
gotoxy(ix*2, iy);
printf("⊙");
Eat_Apple = 0;
void Game_Over()//蛇死掉了
gotoxy(30, 10);
printf("Game Over");
Sleep(3000);
system("pause nul");
exit(0);
void Move_Snake()//让蛇动起来
int ix, iy;
for(ix = 0; ix LEN; ++ix)//先标记蛇头
for(iy = 0; iy WID; ++iy)
if(Snake[ix][iy] == 1)
switch(Sna_Hea_Dir)//根据新的蛇头方向标志蛇头
case 'w':
if(iy == 0)
Game_Over();
else
Sna_Hea_Y = iy - 1;
Sna_Hea_X = ix;
break;
case 's':
if(iy == (WID -1))
Game_Over();
else
Sna_Hea_Y = iy + 1;
Sna_Hea_X = ix;
break;
case 'a':
if(ix == 0)
Game_Over();
else
Sna_Hea_X = ix - 1;
Sna_Hea_Y = iy;
break;
case 'd':
if(ix == (LEN - 1))
Game_Over();
else
Sna_Hea_X = ix + 1;
Sna_Hea_Y = iy;
break;
default:
break;
if(Snake[Sna_Hea_X][Sna_Hea_Y]!=1Snake[Sna_Hea_X][Sna_Hea_Y]!=0Snake[Sna_Hea_X][Sna_Hea_Y]!=-1)
Game_Over();
if(Snake[Sna_Hea_X][Sna_Hea_Y] 0)//吃到苹果
++Snake_Len;
Eat_Apple = 1;
for(ix = 0; ix LEN; ++ix)//处理蛇尾
for(iy = 0; iy WID; ++iy)
if(Snake[ix][iy] 0)
if(Snake[ix][iy] != Snake_Len)
Snake[ix][iy] += 1;
else
Snake[ix][iy] = 0;
Snake[Sna_Hea_X][Sna_Hea_Y] = 1;//处理蛇头
void Get_Input()//控制蛇的移动方向
if(kbhit())
switch(getch())
case 87:
Sna_Hea_Dir = 'w';
break;
case 83:
Sna_Hea_Dir = 's';
break;
case 65:
Sna_Hea_Dir = 'a';
break;
case 68:
Sna_Hea_Dir = 'd';
break;
default:
break;
if(clock() - Now_Time = Wait_Time)//蛇到时间自动行走
Clear_Snake();
Move_Snake();
Print_Snake();
Now_Time = clock();
void Init()//初始化
system("title 贪吃毛毛蛇");
system("mode con: cols=80 lines=25");
Hide_Cursor();
gotoxy(61, 4);
printf("You Score:");
gotoxy(61, 6);
printf("You Level:");
gotoxy(61, 8);
printf("The Lenght:");
gotoxy(61, 10);
printf("The Speed:");
gotoxy(61, 12);
printf("Apple Num:");
int i;
for(i = 0; i Snake_Len; ++i)//生成蛇
Snake[10+i][15] = i+1;
int iy, ix;//打印蛇
for(iy = 0; iy WID; ++iy)
for(ix = 0; ix LEN; ++ix)
if(Snake[ix][iy])
SetColor(Snake[ix][iy]);
gotoxy(ix*2, iy);
printf("■");
void Pri_News()//打印信息
SetColor(0xe);
gotoxy(73,4);
All_Score += Level;
printf("%3d", All_Score);
gotoxy(73, 6);
printf("%3d", Level);
gotoxy(73, 8);
printf("%3d",Snake_Len);
gotoxy(73, 10);
printf("0.%3ds", Wait_Time/10);
gotoxy(73, 12);
printf("%d", Apple_Num);
void Lev_Sys()//等级系统
if(((Apple_Num-1) / 10) == Level)
++Level;
if(Wait_Time 50)
Wait_Time -= 50;
else
if(Wait_Time 10)
Wait_Time -= 10;
else
Wait_Time -= 1;
int main(void)
Init();
srand((unsigned)time(NULL));//设置随机数的种子
Now_Time = clock();
int speed1=1000,speed2,a;
printf("\n");
printf("请输入你想要的速度\n");
scanf("%d",speed2);
Level=1;
Wait_Time=speed1-speed2;
printf("请输入你想要的苹果数\n");
scanf("%d",a);
while(a--)
Rand_Apple();
while(1)
if(Eat_Apple)
++Apple_Num;
Rand_Apple();
Lev_Sys();
Pri_News();
Get_Input();
Sleep(10);
return 0;
《和平精英》空白名字代码如何复制?
一、复制特殊代码。
1、复制下述的空白格子:
2、粘贴到游戏改名字的文本框里。
3、直接就是一个空白的名字了。
二、复制特殊符号。
1、复制下述的十二星座符号:
2、粘贴到游戏改名字的文本框里。
3、由于系统无法显示这些特殊符号,所以也会变成空白名字。
扩展资料:
首先玩家们要有改名卡,改名卡通过参加活动或者商城购买!
在起名字的时候,需要输入代码,在输入法中输入十二星座符号,没有找到可以在下面的符号中复制,在名字中输入这些符号中(随意挑几个)!
然后找到其他玩家没有用过的,提交便可以修改成功!因为和平精英游戏中不显示符号,所以便会显示空白名称!