导航:首页 > 源码编译 > 用源码编程做战机型游戏

用源码编程做战机型游戏

发布时间:2022-06-05 10:15:45

❶ 如何使用源码编程制作植物大战僵尸

您好,使用图形化编程制作植物大战僵尸确实是一个比较大的工程。
首先,我们要先准备好的大量的植物大战僵尸素材,这里我们以一个简单的方式来举例。

进入编程平台后,我们要先上传我们准备好的植物大战僵尸素材,首先上传背景图。然后我们要上传角色素材,这里我们上传一个豌豆射手,一个僵尸,和一颗豌豆作为子弹。
那么现在我们给豌豆射手增加脚本,为了游戏更加方便,我们使用键盘控制植物移动,所以,当小旗子被点击后,重复执行按下上和下两个按键,豌豆射手的y坐标相应的增加和减少。
现在我们给僵尸增加脚本,当点击小旗子后,僵尸重复执行x坐标减少1的动作,并且如果碰到豌豆,那么移动到x轴固定,y轴随机的位置,如果碰到舞台边缘,同样移动到x轴固定,y轴随机的位置,如果碰到豌豆射手,则停止所有脚本。
最后我们给豌豆也增加一个脚本,当小旗子被点击后,豌豆重复执行移动20步的动作,并且如果碰到僵尸则移动到豌豆射手的位置,如果碰到舞台边缘,同样移动到豌豆射手的位置。现在我们的植物大战僵尸游戏就制作好啦!

❷ 求一个c++实现人机对战,人人对战的五子棋游戏源代码,急用,谢谢

五子棋范例的源程序:目录renju下的内容

程序在附件中,需要请免费下载

renju.dsw
renju.dsp
这两个是项目文件。包含整个项目的文件配置等信息

RESOURCE.H
renju.rc
这是整个工程中使用的Windows资源列表。包括置于res子目录下的图标,
位图以及光标等内容。

Renju.h
这是应用程序的主头文件。包含了通用于工程的其他头文件。以及
CRenjuApp类的声明。
renju.cpp
这是应用程序的主源程序。包含整个程序的入口点。CRenjuApp类的实现。

StdAfx.h
StdAfx.cpp
这对文件由用于将一些预编译信息纳入程序。编译后将产生stdafx.obj

define.h
这是一个包含程序中的数据表示的定义的头文件。

NewGame.h
NewGame.cpp
这一对文件定义并实现用于新游戏的设置的对话框。

renjuDlg.h
renjuDlg.cpp
这一对文件定义并实现了,五子棋的主界面。

Eveluation.h
Eveluation.cpp
这一对文件定义并实现了估值核心类。

MoveGenerator.h
MoveGenerator.cpp
这一对文件定义并实现了走法产生器。

SearchEngine.h
SearchEngine.cpp
这一对文件定义了搜索引擎接口。

HistoryHeuristic.h
HistoryHeuristic.cpp
这一对文件定义并实现历史启发类。

TranspositionTable.h
TranspositionTable.cpp
这一对文件定义并实现置换表类。

NegaScout_TT_HH.h
NegaScout_TT_HH.cpp
这一对文件定义并实现历史启发和置换表增强的NegaScout搜索引擎。

Directory of renju es

chess.rc2//资源文件
chess.ico//图标文件

若满意请及时采纳,谢谢

❸ 求用C语言编写小游戏的源代码,不管什么小游戏,源代码简单些,适合初学者,3Q。

/*21点游戏*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(void )
{
int a,b,c,d,s,x,t,i,n,k;
s=200,k=1000;
x=t=i=1,a=b=c=d=n=0;
srand((int)time(0));
printf(" 21点游戏
★游戏规则: \n 游戏开始后系统将随机产生1到10之间的数并累加.
1.在点数不大于21时,点数大者赢,点数相等算平局;
2.若一方点数大于21,一方点数小于21,小于21的一方赢;
3.若两方均大于21,则算平局;
4.获胜者获得相应赌注金币,金币到零则结束游戏 .\n (注:继续加点选1,不继续加点选任意非1数)\n\n##########################\n\n") ;
do {
while(x==1)
{

if(t==1)
{
c=rand()%8+3;
a=rand()%10+1;
}
if(t==2)
{
a=rand()%5+1;
c=rand()%4+1;
}
if(t==3)
{
c=rand()%3+1;
a=rand()%3+1;
}
if(t==4)
{
a=rand()%2+1;
c=rand()%3+1;
}
if(t==5)
a=rand()%8+1;
if(t==6)
a=rand()%3+1;

b+=a,d+=c;

if(d>16)
t=2;
if(d==19&&b==19)
t=3;
if(d==20&&b==20)
t=3;
if(b==20&&d==19)
t=4;
if(d==19&&(d-b)>3)
t=5;
if(d==20&&d>b)
t=6;
if(d==21)
t=6;

if(i==1)
{
do
{
printf(" 您现在还有%d个金币,系统有%d个,请输入赌注: ",s,k);
scanf("%d",&n);
}
while(s<n);
i++;
}

if(b>21&&d<22)
{
printf(" 你%d点,系统%d点,你输了!\n\n\n\n",b,d);
s-=n;
k+=n;
t=i=1,b=d=0;
break;
}
if(d>21&&b<22)
{
printf(" 你%d点,系统%d点,你赢了!\n\n\n\n",b,d);
s+=n;
k-=n;
t=i=1,b=d=0;
break;
}
if(d>21&&b>21)
{
printf(" 你%d点,系统%d点,平局!
\n\n\n",b,d);
t=i=1,b=d=0;
break;
}

printf(" 您加%d点,系统加%d点!\n 您现在共 %d点,系统现在共 %d点!\n 是否继续加点 ",a,c,b,d);
scanf(" %d",&x);
a=c=0;
if(x!=1)
{
if(d<b&&d<18)
{
c=rand()%4+2;
d=d+c;
printf("您不加点,系统加%d点",c);
}
if(d<b&&d==20)
{
c=rand()%2+1;
d=d+c;
printf("您不加点,系统加%d点",c);
}
if(d<b&&d==19)
{
c=rand()%4+1;
d=d+c;
printf("您不加点,系统加%d点",c);
}
if(d<b&&d==18)
{
c=rand()%5+1;
d=d+c;
printf("您不加点,系统加%d点",c);
}
if(d>b)
printf("您不加点,系统不加点");

if(d<22&&d>b)
{
printf(" 你%d点,系统%d点,你输了!\n\n\n\n",b,d);
s-=n;
k+=n;
t=x=i=1,b=d=0;
break;
}
if(b>d&&b<22||b<22&&d>21)
{
printf(" 你%d点,系统%d点,你赢了!\n\n\n\n",b,d);
s+=n;
k-=n;
t=x=i=1,b=d=0;
break;
}
if(b==d)
{
printf(" 你%d点,系统%d点,平局!
\n\n\n\n",b,d);
t=x=i=1,b=d=0;
break;
}
}
}
}
while(s>0&&k>0);
printf("您有%d个金币,系统有%d个金币!\n\n" ,s,k);
if(s>k)
printf("太棒了,你把系统打败了!!!\n");else if(k>s)
printf(" 您的金币不足,挑战系统失败!\n");
return 0;
}

❹ 如何使用源码熊制作飞机大战

您好,飞机大战是一个比较简单的游戏。
进入源码熊编程平台后,为我们的飞机大战游戏选择一个太空背景,一个飞机造型,一个炮弹造型,一个敌人造型。
先为我们的飞机设定代码,当小旗子被点击后,重复执行把x坐标移动到鼠标位置,y坐标固定在屏幕底部,这样我们的飞机就可以跟随我们的鼠标移动了。
现在为我们的炮弹设定轨迹,当小旗子被点击后,移动到飞机的位置,并重复执行将y坐标增加50,如果碰触到舞台边缘,那么移动到飞机的位置。现在我们点击小旗子,就可以控制飞机不停发射炮弹了。
最后为敌方怪物设定规则,当小旗子被点击后,移动到屏幕顶部的固定位置,并重复执行如果碰触到舞台边缘,那么移动到屏幕顶部的固定位置,如果碰触到炮弹,那么隐藏,如果碰触到飞机,那么停止所有脚本。这样如果我们炮弹打到怪物,怪物就会消失,如果怪物碰到我们的飞机,则游戏结束。
现在一个简单的飞机大战小游戏就制作好啦!

❺ 用c/c++作为游戏代码编程的游戏引擎

①目前有两款游戏引擎很不错:
HGE(2D引擎,短小而有力)、OGRE(3D引擎,复杂而强大)(都能用搜索引擎找到)
或者你wki网络上,搜索Game
Engine
会有几十个开源游戏引擎列出来
②但是不建议立即开始研究别人的代码,你最好先做如下事情:

1、写一个图形小游戏(比如贪吃蛇、俄罗斯方块、小球碰撞等)

2、设计一个统一的类库(不要管设计的如何,自己怎么思考的,就怎么做)来统一重构你写的这些游戏,给这些游戏提供统一框架支持
③当你完成②,再去看别人的代码,你会比直接看别人的引擎源代码领悟到远远超出你的想象的东西。

❻ 易语言球球大作战源码 不用启动界面只要游戏中的,wsad控制方向,w吐球

想的容易。
去精易论坛定制吧。大概几百块钱。这属于游戏开发

❼ 用C++编写的小游戏源代码

五子棋的代码:

#include<iostream>

#include<stdio.h>

#include<stdlib.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 <= N&&pos.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 (len>4)

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 (len>4)

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("***电脑获胜*** ");

else

printf("***恭喜玩家%d获胜*** ", player);

}

else

printf("***双方和棋*** ");

return true; //已经有人获胜

}

return false; //没有人获胜

}

private:

char _ChessBoard[N+1][N+1];

};

(7)用源码编程做战机型游戏扩展阅读:

设计思路

1、进行问题分析与设计,计划实现的功能为,开局选择人机或双人对战,确定之后比赛开始。

2、比赛结束后初始化棋盘,询问是否继续比赛或退出,后续可加入复盘、悔棋等功能。

3、整个过程中,涉及到了棋子和棋盘两种对象,同时要加上人机对弈时的AI对象,即涉及到三个对象。

❽ 手机游戏源代码是什么,怎么使用

不知道你玩的啥游戏,但是看样子估计是c++代码,我英文学的不好
从英文描述中我猜测这是v c++的代码,“//”在代码中表示注释,前三行是注释,其大意如下:
stdafx.cpp :源文件,包括刚才的标准单元?
fixyou.pch将是预编译的标题
stdafx.obj将包含预编译的类型信息
“cpp”明显是c++源码文件的缩写名,而最后一行是头文件。
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样快编译速度,节省时间。

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。

因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。
其实我学的pascal,所以对c++了解的少,如果你真的想学会他,还是自己找几本c++的书学一下,这样才能“使用”代码得心应手。

❾ 用源码编辑器制作一个游戏,如何能切换第二关

定义一个集合来保存关卡,当当前关卡已经胜利的时候,则把这个集合的第二个关卡取出即可

❿ 源码编程器怎么做赛车游戏

用户在线3d赛车游戏源码(基于ogre引擎),支持多种赛车模式,支持单人模式,支持多用户,支持多赛道,有赛道编辑器,linux系统下打开,直接上图

阅读全文

与用源码编程做战机型游戏相关的资料

热点内容
单片机基本概念 浏览:501
租什么服务器好又便宜 浏览:713
python爬虫必背知识 浏览:676
笔记本如何与片式服务器连接 浏览:721
组态王必须用加密狗吗 浏览:279
组装单片机对比度差 浏览:930
单片机按键控制程序 浏览:924
航海pdf 浏览:419
三根阴线选股指标源码 浏览:776
PDF编译base64位文件 浏览:589
app名字注册在哪里 浏览:399
华为方舟编译器和miui 浏览:480
matlab与python接口 浏览:838
怎么看加密市场 浏览:225
linux进程间通信管道 浏览:555
外圆圆弧槽左右切削怎么编程 浏览:384
做解压的实验 浏览:691
多人伪服务器怎么开荒 浏览:608
中兴交换机端口打开命令 浏览:975
编译原理vn集合 浏览:9