導航:首頁 > 源碼編譯 > 用源碼編程做戰機型游戲

用源碼編程做戰機型游戲

發布時間: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系統下打開,直接上圖

閱讀全文

與用源碼編程做戰機型游戲相關的資料

熱點內容
windows壓縮tar 瀏覽:397
寫作基礎pdf 瀏覽:744
redis30php擴展 瀏覽:517
小米手機發布源碼 瀏覽:611
程序員一般什麼發音 瀏覽:280
阿里雲java伺服器 瀏覽:217
51單片機讀取sd卡程序 瀏覽:821
初中學習單片機知識 瀏覽:357
安卓手機如何下蘋果官網 瀏覽:37
linuxpython腳本運行 瀏覽:855
vs中編譯在哪 瀏覽:454
linuxshell安裝 瀏覽:761
qq郵箱發壓縮包 瀏覽:196
做程序員需要跳槽嗎 瀏覽:394
程序員進度考核 瀏覽:842
單片機編譯picc 瀏覽:974
php獲取當前url域名 瀏覽:338
丁字框架梁處用加密嗎 瀏覽:682
海聊app怎麼玩 瀏覽:211
單文件夾是什麼 瀏覽:238