安卓小游戲開發源碼
① 怎樣獲得小游戲的源代碼並進行改造開發 以4399的「瘋狂小人戰役」為例
這兩個伺服器程序設計的很完善,略加改造(漢化)便可直接使用。我們使用BDE伺服器。 本例以Paradox本地資料庫為例,說明如何開發客戶端軟體。 查看更多答案>>
② 基於eclipse開發一個安卓小游戲
你是大學生吧?女生怎麼想起學計算機。建議隨便下載一個簡單的游戲,然後找人反編譯一下,修改下,變成你自己的。我是高中畢業生,也在學習Android編程,可是我的能力還不到幫你的地步,我也是初學者。有大神直接建議讓我去學C,於是我又開始學C了。愛莫能助,試試我的辦法,希望能有幫助。
③ 微信小游戲製作可視化工具怎樣下載源碼
微信小游戲製作可視化工具下載源碼。
准備工作:
1.一部已經root的Android手機
2.安裝微信6.6.1版本的apk
3.電腦上已安裝AndroidSDK並可以使用adb命令
需要注意的是必須是已經root了的Android手機,否則將沒有許可權訪問對應手機的系統文件夾。
通過USB將手機連接到電腦上,然後運行以下命令
$adbdevices
如果顯示了一下信息
1Listofdevicesattached
271MBBL6228EUdevice
說明手機已經連接到電腦上,如顯示未找到adb命令,則說明AndroidSDK安裝錯誤或adb未添加到電腦path中,請自行上網進行相應查閱。
手機連接電腦成功後,運行一下命令
1$adbshell
2$su
終端出類似root@{手機型號}前綴,說明已經進入到root模式下
$cd/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
{User}為當年用戶的用戶名,類似於1ed**********c514a18
然後當前目錄就是微信用於存放小程序和小游戲下載包的位置
1$ls
2_-791877121_3.WXapkg
3_1079392110_5.Wxapkg
4_1079392110_5.Wxapkg_xdir
5_1123949441_92.WXapkg
6_576754918_1.Wxapkg
以上是我的微信中所下載過的小程序和小游戲源碼
因為/data目錄為系統級目錄,無法直接將其進行復制,需要重新掛載為可操作模式
$mount-0remount,rW/data
此時就可以將當前目錄下的文件拷貝到sdcard中
$cat1079392110_5.WXapkg>/mnt/sdcard/_1079392110_5.WXapkg
然後將_1079392110_5.wxapkg文件拷貝到電腦里,通過該腳本進行解壓後,即為其源碼。
編譯源碼
通過微信小游戲開發工具新建一個空白的小程序或者小游戲的項目,主要不要選擇快速啟動模板。
然後把剛才解壓出來的源代碼復制到剛剛創建的項目目錄中,開發工具會提示編譯錯誤,這時只要在項目中新建一個game.json文件,並在文件里寫入以下代碼
{「deviceOrientation":"portrait"}
然後將開發工具的調試基礎庫改為gam,程序就會在開發者工具里運行起來了。
④ 用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];
};
(4)安卓小游戲開發源碼擴展閱讀:
設計思路
1、進行問題分析與設計,計劃實現的功能為,開局選擇人機或雙人對戰,確定之後比賽開始。
2、比賽結束後初始化棋盤,詢問是否繼續比賽或退出,後續可加入復盤、悔棋等功能。
3、整個過程中,涉及到了棋子和棋盤兩種對象,同時要加上人機對弈時的AI對象,即涉及到三個對象。
⑤ 求:手機軟體源代碼!
其實這里有很多的:
[gnokii-0.3.2.tar.gz]
Nokia手機工具程序。可以管理手機的電話薄,發送/接收短消息,查看電池狀態等 (2001-02-14, UNIX, 731KB, 2130次)
[smslink-0.44b.tar.gz]
手機短消息服務的伺服器和客戶端 (2001-01-08, LINUX, 91KB, 1883次)
[移動簡訊SMS綜合資料庫.rar]
短消息基礎知識;短消息的信息處理流程及其分析、解決問題的方法;手機簡訊息SMS開發—編碼,解碼;PDU介紹;短消息的體系結構等 (2005-09-28, CHM, 1009KB, 1536次)
[nle-0.0.1-2.tgz]
可以修改Nokia手機的logo圖標的程序 (2001-02-14, LINUX, 21KB, 1442次)
[是男人就下一百層SHY.rar]
製作的第一款休閑類的手機游戲,適合初學者參考 (2005-06-15, Java, 484KB, 1357次)
[sms_client-2.0.7k.tgz]
使用TAP的蜂窩型GSM手機短消息服務中心 (2001-01-08, LINUX, 82KB, 1333次)
[mobile_sms.zip]
使用手機發送短消息的編程方法 (2001-11-21, HTML, 5KB, 1174次)
[kvanttisms-src-0.5.tgz]
Java寫的通過手機收發簡訊息的程序。 (2001-11-20, Java, 10KB, 1049次)
[BREW開發-海信(王宏兵).rar]
深入研究BREW手機游戲開發———— 王洪信開發者最好的初學資料 (2005-09-26, Visual C++, 7229KB, 841次)
[jSMSEngine_2_0_4.zip]
開源的手機簡訊開發包!包括例子程序和比較詳細的文檔,還有開發者的網站!來源於sourceforge! (2006-01-21, Java, 438KB, 729次)
[qrcode_js.zip]
手機內嵌二維條碼圖像識別的JAVA的源程序,強烈推薦下載。 (2006-01-14, Java, 2210KB, 677次)
[gprs_sms.zip]
一個用COM或USB介面連接gsm/gprs手機進行簡訊收發的程序,用到的是simense的通訊模塊 (2003-02-20, Visual C++, 97KB, 629次)
[PaoPao.rar]
j2me手機泡泡龍游戲。寫得不錯還未完工的版本。不過可以用來學習。 (2005-03-04, Java, 83KB, 613次)
[MakeMap.rar]
用java寫的地圖編輯器,可用於j2me手機游戲的地圖編輯。 (2005-03-04, Java, 26KB, 606次)
[J2mebox.rar]
一個類似打地鼠的j2me手機游戲。 (2005-03-04, Java, 58KB, 521次)
[shoujihaomachaxun.rar]
輸入手機號碼可查詢:歸屬地址、手機號碼、區號、所屬卡型 (2006-06-05, Java, 686KB, 520次)
[rich_man+src.rar]
大富翁手機游戲。 (2005-03-04, Java, 269KB, 513次)
[gsmssend-1.6.tar.gz]
通過網站發送手機簡訊息的程序。需要GNOME/GTK支持 (2001-11-20, LINUX, 352KB, 498次)
[MTKstart.rar]
台灣聯發(MTK)手機晶元資料,可作為手機應用的平台 (2007-08-09, C-C++, 118KB, 495次)
[C# 發簡訊.rar]
使用C#發簡訊,連接Modem或者手機,通過串口發送簡訊, (2004-06-30, CSharp, 437KB, 469次)
[WindowsMobile5.0.rar]
Windows Mobile 5.0 三十幾個經典手機軟體開發源碼希望對大家有幫助. (2006-08-30, CSharp, 578KB, 449次)
[motorola_RingerToneFormat.zip]
motorola手機鈴聲格式文檔 (2002-06-07, PDF, 45KB, 445次)
[ksiemens-0.1.tar.gz]
KDE下的西門子手機管理程序,如圖標,電話薄,簡訊息等管理 (2001-11-21, LINUX, 3437KB, 444次)
[nec麻將.rar]
一個java編的小游戲.對初學手機游戲編程的人很有用啊. (2005-06-07, Java, 50KB, 434次)
[nokiacomposer.src.zip]
Nokia手機語音管理程序,如上載音樂等。 (2001-11-21, Visual C++, 315KB, 422次)
[SmartMessagingFAQ.zip]
諾基亞手機圖片鈴聲開發文檔 (2002-06-07, PDF, 23KB, 410次)
[motolora_smscertguide.zip]
motorola手機簡訊息開發文檔 (2002-06-07, PDF, 134KB, 400次)
[MV100-0.1.rar]
是一個手機功能的模擬程序,從界面到功能都做了很好的模擬 (2005-07-29, C-C++, 14630KB, 384次)
[helix.src.0812.rar]
著名的 helix realplayer 基於手機 symbian 系統的 播放器全套源代碼,內含編譯工具、以及配套相關軟體:WinCVS、Python等。花了近一個多月才整理完成,是非常難得的全套代碼。 (2005-05-19, C++, 43787KB, 373次)
[eluosi方塊.rar]
經典的手機游戲源碼俄羅斯方塊,基於C+Brew開發 (2005-07-14, C-C++, 425KB, 373次)
[MTK2.rar]
這是我上傳MTK手機開發的一些資料2,這兩天起上傳6份資料,全部是手開發的。希望對你們有用。 (2007-04-13, C-C++, 5859KB, 371次)
[resource]
壓縮包中一個為一般操作系統下的fft,一個是手機或類似設備中的T9拼音輸入法 (2003-08-05, C-C++, 53KB, 359次)
[SeaHorse.rar]
手機游戲,畫面效果還可以,可以作為手機游戲入門參考 (2005-06-15, Java, 273KB, 356次)
[nec 打飛機.rar]
一個JAVA編的小游戲,對初學手機游戲的人很有幫助. (2005-06-07, Java, 73KB, 335次)
[多級菜單.rar]
/*[原創]一個樹形多級菜單參考程序 這是一個用於車載電話的菜單程序,可以看成是手機功能菜單的簡化板. 我所認為的樹形多級菜單是指:在一個父菜單項目下面有多個子菜單, 子菜單下面又有多個孫菜單...,進入下層菜單主要依*當前選中的索引.有點象文件的目錄結構. 本木從前實現這類的菜單主要*分層的switch語句,每層都是一個switch.但當我看到曉奇大俠的 程序和耳朵灌滿lq等人的爭論後,那時那地,我的心境變化了,我意識到指針代表了先進的生產力, 代表了社會的發展方向,是建設和諧社會的必要條件.不管你用了多長時間C語言,只要你不善於用 一個小針指來指去,你就是那種"用嘴吃飯的高貴騎士,決不用屁股裝彈步槍"的守舊分子和社會發 展的絆腳石.(跑題太遠,刪去1萬字...打住) .言歸正傳,下面的程序適用CPU為Mega16,編譯器為CVAVR 1.24.4a 由於按鍵數目較多,所以按鍵程 序把按鍵事件分為數字鍵,快捷鍵,確認鍵,取消鍵,上下翻鍵幾類,以減小菜單結構的容量.一下菜單 數據在菜單結構數組中的偏移量,有多少個菜單象就有多少個宏定義*/ (2005-08-02, C-C++, 2KB, 334次)
[與小靈通訊的軟體.zip]
手機的通訊,特別是小靈通的通訊,是非常難得的技術,也是很受歡迎的,快下啊! (2005-09-30, Visual C++, 39KB, 324次)
[C16漢字輸入方案.rar]
「C16漢字輸入方案」,是針對小鍵盤設備(如手機、遙控器等)通常為16個基本鍵(「0」到「9」、「*」、「#」、左右鍵、刪除鍵、確認鍵)的情況,充分發掘16個鍵位條件下進行漢字輸入和符號輸入的潛力,使漢字、英文、數字輸入達到盡可能高的效率,是在16鍵的小鍵盤設備進行漢字輸入的優秀方案。 (2005-10-27, C++ Builder, 76KB, 316次)
[CDMA短消息發送程序.zip]
用vc開發的cdma手機模塊收發簡訊的功能,主要部分是串口通信和gb->unicode碼間的轉換。 (2005-12-08, Visual C++, 193KB, 313次)
⑥ 求一個安卓開發小游戲源代碼,臨時交作業用
package com.fiveChess;
import android.app.Activity;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends Activity {
GameView gameView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Display display = this.getWindowManager().getDefaultDisplay();
gameView = new GameView(this,display.getWidth(),display.getHeight());
setContentView(gameView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("重新開始").setIcon(android.R.drawable.ic_menu_myplaces);
menu.add("退出");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getTitle().equals("重新開始")){
gameView.canPlay = true;
gameView.chess = new int[gameView.row][gameView.col];
gameView.invalidate();
}else if(item.getTitle().equals("退出")){
finish();
}
return super.onOptionsItemSelected(item);
}
}
package com.fiveChess;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.view.MotionEvent;
import android.view.View;
public class GameView extends View {
Context context = null;
int screenWidth,screenHeight;
String message = "";//提示輪到哪個玩家
int row,col; //劃線的行數和列數
int stepLength = 30;//棋盤每格間距
int[][] chess = null;//0代表沒有棋子,1代表是黑棋,2代表白旗
boolean isBlack = true;
boolean canPlay = true;
public GameView(Context context,int screenWidth,int screenHeight) {
super(context);
this.context = context;
this.screenWidth = screenWidth;
this.screenHeight = screenHeight;
this.message = "黑棋先行";
row = (screenHeight-50)/stepLength+1;
col = (screenWidth-10)/stepLength+1;
chess = new int[row][col];
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
canvas.drawRect(0, 0, screenWidth, screenHeight, paint);//畫背景
paint.setColor(Color.BLUE);
paint.setTextSize(25);
canvas.drawText(message, (screenWidth-100)/2, 30, paint);//畫最頂層的字
paint.setColor(Color.BLACK);
//畫棋盤
for(int i=0;i<row;i++){
canvas.drawLine(10, 50+i*stepLength, 10+(col-1)*stepLength, 50+i*stepLength, paint);
}
for(int i=0;i<col;i++){
canvas.drawLine(10+i*stepLength,50,10+i*stepLength,50+(row-1)*stepLength, paint);
}
for(int r=0;r<row;r++){
for(int c=0;c<col;c++){
if(chess[r][c] == 1){
paint.setColor(Color.BLACK);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}else if(chess[r][c] == 2){
//畫白棋
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
paint.setColor(Color.BLACK);
paint.setStyle(Style.STROKE);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}
}
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(!canPlay){return false;}
float x = event.getX();
float y = event.getY();
int r = Math.round((y-50)/stepLength);
int c = Math.round((x-10)/stepLength);
if(r<0 || r>row-1 || c<0 || c>col-1){return false;}
if(chess[r][c]!=0){return false;}//若有棋子則不再畫棋子了
if(isBlack){
chess[r][c] = 1;
isBlack = false;
message = "輪到白棋";
}else{
chess[r][c] = 2;
isBlack = true;
message = "輪到黑棋";
}
invalidate();
if(judge(r, c,0,1)) return false;
if(judge(r, c,1,0)) return false ;
if(judge(r, c,1,1)) return false;
if(judge(r, c,1,-1)) return false;
return super.onTouchEvent(event);
}
private boolean judge(int r, int c,int x,int y) {//r,c表示行和列,x表示在y方向上的偏移,y表示在x方向上的偏移
int count = 1;
int a = r;
int b = c;
while(r>=0 && r<row && c>=0 && c<col && r+x>=0 && r+x<row && c+y>=0 && c+y<col && chess[r][c] == chess[r+x][c+y]){
count++;
if(y>0){
c++;
}else if(y<0){
c--;
}
if(x>0){
r++;
}else if(x<0){
r--;
}
}
while(a>=0 && a<row && b>=0 && b<col && a-x>=0 && a-x<row && b-y>=0 && b-y<col && chess[a][b] == chess[a-x][b-y]){
count++;
if(y>0){
b--;
}else if(y<0){
b++;
}
if(x>0){
a--;
}else if(x<0){
a++;
}
}
if(count>=5){
String str = "";
if(isBlack){
str = "白棋勝利";
}else{
str = "黑棋勝利";
}
new AlertDialog.Builder(context).setTitle("游戲結束").setMessage(str).setPositiveButton("重新開始", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
chess = new int[row][col];
invalidate();
}
}).setNegativeButton("觀看棋局", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
canPlay = false;
}
}).show();
return true;
}
return false;
}
}
PS:五子棋,無需圖片,直接在程序里畫出來的。注意我發的是兩個文件,一個activity,一個類文件,別把它當成一個文件了
⑦ 求一C++小游戲源代碼簡單點的!!謝謝
#include #include #include #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; int y; 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: "); printf("1-Fast 2-Normal 3-Slow "); printf(" Please Press The numbers.. "); 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
⑧ 游戲軟體怎麼查看源代碼
游戲都是進行過編譯,加密的無法看到源代碼。如果你想查看的游戲是開源的,可以到游戲的開源網站進行查看。
查看APP應用的源代碼的具體方法步驟如下:
1、首先在電腦內下載並安裝獲取網頁源碼app。
2、然後單擊打開網頁源碼APP並在APP中的輸入框內輸入想要查看的網址,再在界面內找到GO選項單並單擊。
3、單擊後等待APP最後載入3秒就可以成功的獲取APP源代碼並查看了。
Android 系統源代碼多大
是指sdk的源碼,還是android操作系統的源碼,不過都有10G左右,另外sdk的源碼是用git管理的,一次下載後,用git check就可以切換到各個版本。
Android SDK是用於開發Android上JAVA應用程序的,另外發布Android NDK,可以添加一些C語言寫的鏈接庫,至於Linux代碼,可以在Android源代碼中找到(SDK程序中只有編譯好的測試映像)。
應用程序開發用不到Linux代碼(搞嵌入式開發才會用到,而SDK不負責底層開發)。
⑨ 誰知道安卓游戲源碼下載的網站
可以去易查、手游、手機樂園、等網站。進行相對應的機型綁定…就可以下載自己喜歡的游戲! 91里就應該有吧 這位朋友您好你在泡椒網安卓論壇上下載
⑩ 求一個Android小游戲消方塊的源代碼,謝謝了~
兩個以上可以點擊消失??什麼樣的?對對碰,連在一起的,還是連連看那樣的?