當前位置:首頁 » 游戲類別 » 體育游戲源碼

體育游戲源碼

發布時間: 2022-02-11 09:51:17

Ⅰ 手機流量監控的手機流量監控

《手機流量監控》採用最新版主流SDK,講解手機流量監控。
手機流量監控手機應用軟體隨書附贈DVD,15小時教學視頻,電子教案以及所有實例源代碼。
7個真實游戲案例:體育游戲——瘋狂足球益智游戲——推箱子
滾屏動作游戲——太空保衛戰棋牌游戲——中國象棋人機對弈3D物理感測器游戲——小球快跑
昌險游戲——勝利磊逃亡策略游戲——回到戰國

Ⅱ 什麼是3D游戲

3D游戲是使用空間立體計算技術實現操作的游戲。從編程實現角度來說游戲基礎模型(游戲的人物,場景,基礎地形)是使用三維立體模型實現的,游戲的人物角色控制是使用空間立體編程演算法實現的,那麼就把這種游戲稱作3D游戲。

3D中的D是Dimension(維)的縮寫。三維游戲中的點的位置由三個坐標決定的(x,y,z)。客觀存在的現實空間就是三維空間,具有長、寬、高三種度量。三維游戲(3D游戲又稱立體游戲)是相對於二維游戲(2D游戲又稱平面游戲)而言的,因其採用了立體空間坐標的概念,所以更顯真實,而且對空間操作的隨意性也較強。也更容易吸引人。


(2)體育游戲源碼擴展閱讀:

3D立體游戲是有區別於3D游戲的,主要區別在於顯示系統以及觀看方式。人的視覺之所以能分辨遠近,是靠兩隻眼睛的差距。人的兩眼分開約5公分,兩隻眼睛除了瞄準正前方以外,看任何一樣東西,兩眼的角度都不會相同。

雖然差距很小,但經視網膜傳到大腦里,腦子就用這微小的差距,產生遠近的深度,從而產生立體感。一隻眼睛雖然能看到物體,但對物體遠近的距離卻不易分辨。根據這一原理,如果把同一景像,用兩隻眼睛視角的差距製造出兩個影像,然後讓兩隻眼睛一邊一個,各看到自己一邊的影像,透過視網膜就可以使大腦產生景深的立體感了。

Ⅲ 求用C語言模擬簡單檯球運動的源代碼,不需要圖形化界面

這源代碼應該有個桌面類(Table),球類(Sphere),游戲類等等。我用C++
#pragma once (Table.h)
#endif // _MSC_VER > 1000
#include "Base.h"
#define MESH_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)
class CTable:public CBase
{
public:
DWORD Render();
CTable(LPDIRECT3DDEVICE8 pD3DDevice,LPSTR pFilename);
virtual ~CTable();
LPD3DXMESH GetMeshTablePointer();
private:
void TransformTable();
LPDIRECT3DDEVICE8 m_pD3DDevice;
DWORD m_dwNumMaterials;
LPD3DXMESH m_pMeshTable;
D3DMATERIAL8 *m_pMeshTableMaterials;
LPDIRECT3DTEXTURE8 *m_pMeshTableTextures;
};#endif

#include "Table.h" (Table.cpp)
CTable::CTable(LPDIRECT3DDEVICE8 pD3DDevice,LPSTR pFilename)
{
LPD3DXBUFFER pMaterialsBuffer=NULL;
LPD3DXMESH pMeshTable=NULL;

m_pD3DDevice=pD3DDevice;

if(FAILED(D3DXLoadMeshFromX(pFilename,D3DXMESH_MANAGED,m_pD3DDevice,NULL,
&pMaterialsBuffer,&m_dwNumMaterials,&pMeshTable)))
{
m_pMeshTable=NULL;
m_pMeshTableMaterials=NULL;
m_pMeshTableTextures=NULL;

LogError("<li>Table Mesh '%s' failed to load",pFilename);
return;
}
D3DXMATERIAL *matMaterials=(D3DXMATERIAL*)pMaterialsBuffer->GetBufferPointer();
//Create two arrays. One to hold the materials and one to hold the textures
m_pMeshTableMaterials=new D3DMATERIAL8[m_dwNumMaterials];
m_pMeshTableTextures=new LPDIRECT3DTEXTURE8[m_dwNumMaterials];
for(DWORD i=0;i<m_dwNumMaterials;i++)
{
//Copy the material
m_pMeshTableMaterials[i]=matMaterials[i].MatD3D;

//Set the ambient color for the material(D3DX does not do this)
m_pMeshTableMaterials[i].Ambient=m_pMeshTableMaterials[i].Diffuse;
D3DCOLORVALUE rgbaSpecular={0.0f,0.0f,0.0f,0.0f};
m_pMeshTableMaterials[i].Specular=rgbaSpecular;
m_pMeshTableMaterials[i].Power=50.0f;
//Create the texture
char buffer[255];
sprintf(buffer,"textures/%s",matMaterials[i].pTextureFilename);
if(FAILED(D3DXCreateTextureFromFile(m_pD3DDevice,
buffer, &m_pMeshTableTextures[i])))
{
m_pMeshTableTextures[i]=NULL;
}
}
//finished with the material buffer,so release it
SafeRelease(pMaterialsBuffer);
//Make sure that the normals are setup for mesh
pMeshTable->CloneMeshFVF(D3DXMESH_MANAGED,MESH_D3DFVF_CUSTOMVERTEX,m_pD3DDevice,&m_pMeshTable);
SafeRelease(pMeshTable);
// D3DXComputeNormals(m_pMesh);
LogInfo("<li>Mesh '%s' loaded OK",pFilename);
}
CTable::~CTable()
{
SafeDelete(m_pMeshTableMaterials);

if(m_pMeshTableTextures != NULL)
{
for(DWORD i=0;i<m_dwNumMaterials;i++)
{
if(m_pMeshTableTextures[i])
SafeRelease(m_pMeshTableTextures[i]);
}
}
SafeDelete(m_pMeshTableTextures);
SafeRelease(m_pMeshTable);
LogInfo("<li>Table Mesh destroyed OK");
}
DWORD CTable::Render()
{
TransformTable();
if(m_pMeshTable!=NULL)
{
for(DWORD i=0;i<m_dwNumMaterials;i++)
{
m_pD3DDevice->SetMaterial(&m_pMeshTableMaterials[i]);
m_pD3DDevice->SetTexture(0,m_pMeshTableTextures[i]);

m_pMeshTable->DrawSubset(i);
}

return m_pMeshTable->GetNumFaces();
}
else
return 0;
}
LPD3DXMESH CTable::GetMeshTablePointer()
{
return m_pMeshTable;
}
void CTable::TransformTable()
{
D3DXMATRIX matWorld;
D3DXMatrixTranslation(&matWorld,0,0,0);
m_pD3DDevice->SetTransform(D3DTS_WORLD,&matWorld);
}
(Sphere.h)
#if !defined (AFX_SPHERE_H__FC705F3B_568E_4973_B608_B8F7700D9ECE__INCLUDED_)
#define AFX_SPHERE_H__FC705F3B_568E_4973_B608_B8F7700D9ECE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Base.h"

#define SPHERE_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)

class CSphere:public CBase
{
private:
struct SPHERE_CUSTOMVERTEX
{
float x,y,z; //Position of vertex in 3D space
float nx,ny,nz; //Lighting Normal
float tu,tv; //Texture coordinates
};

struct SPHERE_STATE
{
D3DXVECTOR3 sVector; //Position of Centigram in 3D space
D3DXVECTOR3 vVector; //Direction of Velocity in 3D space
float v; //Speed of Sphere
};
SPHERE_STATE *m_pSphereState;

D3DXVECTOR3 m_vecSavePosition; //Save sphere position for collision bar
D3DXVECTOR3 m_vecSavePosition2; //Save sphere position for collision sphere
public:
BOOL SetMaterial(D3DCOLORVALUE rgbaDiffuse,D3DCOLORVALUE rgbaAmbient,
D3DCOLORVALUE rgbaSpecular,D3DCOLORVALUE rgbaEmissive,float rPower);
BOOL SetTexture(const char* szTextureFilePath);
DWORD Render();
CSphere(LPDIRECT3DDEVICE8 pD3DDevice,int iRings=20,int iSegments=20);
void MoveSphere();
void MoveSphereForUser(float x,float z);
virtual ~CSphere();
inline void SetSpherePosition(float x,float y,float z)
{
m_pSphereState->sVector.x=x;
m_pSphereState->sVector.y=y;
m_pSphereState->sVector.z=z;
};
inline void GetSpherePosition(D3DXVECTOR3 &vecSpherePos)
{
vecSpherePos=m_pSphereState->sVector;
};
inline void GetSavedSpherePosition(D3DXVECTOR3 &vecSavedSpherePos)
{
vecSavedSpherePos=m_vecSavePosition;
};
inline void GetSavedSpherePosition2(D3DXVECTOR3 &vecSavedSpherePos)
{
vecSavedSpherePos=m_vecSavePosition2;
};
inline void SaveSpherePosition()
{
m_vecSavePosition=m_pSphereState->sVector;
};
inline void SaveSpherePosition2()
{
m_vecSavePosition2=m_pSphereState->sVector;
};
inline void ContradictoryZv()
{
m_pSphereState->vVector.z=-m_pSphereState->vVector.z;
};
inline void ContradictoryXv()
{
m_pSphereState->vVector.x=-m_pSphereState->vVector.x;
};
void MirrorVAoubtAxis(D3DXVECTOR3 &n);
inline void ReceSphereVelocity(float percent)
{
m_pSphereState->v=m_pSphereState->v*percent;
};
inline float CheckSphereEnergy()
{
return m_pSphereState->v;
};
inline void SetSphereVelocityDir(const D3DXVECTOR3 &vDir)
{
m_pSphereState->vVector=vDir;
};
inline void SetSphereVelocity(const float &velocity)
{
m_pSphereState->v=velocity;
};
inline void GetSphereVelocityDir(D3DXVECTOR3 &vDir)
{
vDir=m_pSphereState->vVector;
};
inline float GetSphereVelocity()
{
return m_pSphereState->v;
};
inline void SetSphereStateToFalse()
{
m_bSphereInUse=FALSE;
};
inline void SetSphereStateToTrue()
{
m_bSphereInUse=TRUE;
};
inline BOOL GetSphereState()
{
return m_bSphereInUse;
};
void SetSphereVelocityAt_Y_NegativeAxis();
inline float GetSpherePosAt_Y_Axis()
{
return m_pSphereState->sVector.y;
};
private:
BOOL CreateIndexBuffer();
BOOL UpdateVertices();
BOOL CreateVertexBuffer();
void TransformSphere();
void TransformSphereForUser();
void UpdateSpherePosition();
void FrictionReseVelocity();
LPDIRECT3DDEVICE8 m_pD3DDevice;
LPDIRECT3DVERTEXBUFFER8 m_pVertexBuffer;
LPDIRECT3DTEXTURE8 m_pTexture;
D3DMATERIAL8 m_matMaterial;
LPDIRECT3DINDEXBUFFER8 m_pIndexBuffer;
int m_iRings;
int m_iSegments;
float m_fTotalDis;
D3DXVECTOR3 m_vecSphereRotationAxis;
BOOL m_bSphereInUse;
DWORD m_dwNumOfVertices;
DWORD m_dwNumOfIndices;
DWORD m_dwNumOfPolygons;
};#endif

Ⅳ 安卓手機軟體下載的軟體下載

《安卓手機軟體下載》採用最新版主流SDK,講解安卓手機軟體下載。安卓手機軟體下載手機應用軟體隨書附贈DVD,15小時教學視頻,電子教案以及所有實例源代碼。7個真實游戲案例:體育游戲——瘋狂足球益智游戲——推箱子滾屏動作游戲——太空保衛戰棋牌游戲——中國象棋人機對弈3D物理感測器游戲——小球快跑昌險游戲——勝利磊逃亡策略游戲——回到戰國

Ⅳ 游戲機被父親藏起來了怎麼辦

游戲機看年齡,太小的話還是不要玩太久,和父親商量每天或者每周玩多久,好好商量,態度誠懇。

Ⅵ 深入BREW手機游戲開發的目錄

第1章 手機游戲簡介
1.1 手機游戲的發展
1.2 手機游戲的特點
1.2.1 手機設備的優點
1.2.2 手機設備的缺點
1.3 手機游戲的開發
1.3.1 與傳統游戲開發的區別
1.3.2 揚長避短的開發策略
1.4 BREW是什麼
第2章 精彩手機游戲縱覽
2.1 棋牌游戲
2.2 動作游戲
2.3 益智游戲
2.4 策略游戲
2.5 體育游戲
2.6 寵物游戲
2.7 角色游戲
2.8 射擊游戲
2.9 聯網游戲
第3章 BREW入門
3.1 BREW簡介
3.1.1 BREW的概念
3.1.2 BREW的內容
3.1.3 BREW的優勢
3.2 BREW開發環境
3.2.1 BREWSDK的安裝環境
3.2.2 BREWSDK的安裝
3.2.3 BREWSDK的組件和目錄結構
3.3 建立第一個應用程序
3.3.1 創建一個新的BREW工程
3.3.2 程序的框架說明
3.3.3 編寫並保存代碼
3.3.4 運行HelloWorld
第4章 BREW核心技術
4.1 背景知識:使用C語言的面向對象編程
4.1.1 最簡單的例子
4.1.2 繼承的實現
4.1.3 多態性
4.2 AEE體系架構分析
4.2.1 AEE的層次結構
4.2.2 BREW介面概貌
4.2.3 AEECLSID機制
4.2.4 工廠方法ISHELL_Crea(elnstance
4.3 MODULE和APPLET的創建
4.3.1 Mole的創建
4.3.2 Applet的創建和啟動
4.4 AEE的事件處理機制
4.4.1 事件驅動機制概述
4.4.2 AEE事件處理函數的注冊
4.4.3 AEE事件的分類
4.4.4 AEE事件分發機制
4.4.5 Applet的掛起和恢復
第5章 GUI技術
5.1 游戲中的GUI
5.2 BREW中GUI關鍵技術分析
5.2.1 顯示技術的基礎——IDisplay介面
5.2.2 圖形圖像的顯示——IGraphics、IBitmap和Ilmage介面
5.2.3 顯示相關的幾個輔助介面
第6章 數據存儲技術
6.1 基礎知識
6.1.1 手機存儲技術簡介
6.1.2 存儲技術在游戲中的應用
6.2 文件I/O技術
6.2.1 文件I/O技術要點
6.2.2 BREW文件的I/O技術
6.3 資料庫管理技術
6.3.1 BREW資料庫技術
6.3.2 實現BREW資料庫的管理
6.4 實例分析
6.4.1 文件FO實例
6.4.2 資料庫實例
第7章 內存管理
7.1 受限內存管理方式
7.1.1 手機內存的限制
7.1.2 受限內存常用管理方式
7.1.3 常用內存分配方式
7.2 BREW中的內存使用
7.2.1 內存的分配
7.2.2 內存的釋放
7.2.3 Ⅲe印介面
7.2.4 重載new和delete
7.2.5 經驗之談
第8章 音效技術
8.1 音效技術簡介
8.2 兩個音效播放的例子
8.3 蜂鳴的介紹
8.4 音調介面的使用
8.4.1 介面的回調模塊
8.4.2 1Sound介面中其他播放和控制模塊
8.4.3 設備的設置
8.4.4 退出模塊
8.5 語音播放器介面的使用
8.5.1 回調模塊
8.5.2 其他功能介紹
8.5.3 設備信息的取得和設定模塊
8.5.4 退出釋放模塊
8.6 多媒體介面介紹
8.6.1 回調模塊
8.6.2 其他功能介紹
8.6.3 退出釋放模塊
8.7 關於CMXSradio的介紹
8.8 實例分析
第9章 動畫中的精靈Sprite
9.1 Sprite技術簡介
9.2 1Sprite介面的使用
9.2.1 洋蔥一樣分層的游戲場景
9.2.2 載入圖像資源
9.2.3 使用Tile創建復雜的背景
9.2.4 背景的顯示與控制
9.2.5 使用Sprite創建動畫對象
9.2.6 動畫對象的顯示與控制
9.2.7 精靈的透明色問題
9.2.8 總結
9.3 完整的Pfly例子
9.3.1 PflyLoadSprims()函數
9.3.2 Pti5,LoadResources()函數
9.3.3 Pfly_Init()函數
9.3.4 PnyNextFrame()函數
第10章 無線網路技術
10.1 技術背景概述
10.2 簡單示例
10.3 Socket基礎
10.4 BREW的網路介面
10.4.1 介面的使用方法和機制
10.4.2 1NetMgr介面基本功能介紹
10.4.3 1Socket介面的其他功能介紹
10.4.4 介面的取消回調和釋放
10.5 一個示例
第11章 其他輔助技術
11.1 字元串操作
11.2 浮點數操作
11.3 定時器
11.4 隨機數
第12章 綜合示例分析
12.1 搖擺蟲游戲
12.1.1 游戲設計第一步:創意
12.1.2 游戲設計第二步:需求分析
12.1.3 游戲設計第三步:詳細設計
12.1.4 游戲設計第四步:代碼設計
12.1.5 游戲設計第五步:游戲測試
12.1.6 總結
12.2 紙飛機游戲
12.2.1 創意
12.2.2 需求規格
12.2.3 基本流程圖和控制轉移表
12.2.4 程序模塊分析
12.2.5 總結
附錄A BREWEmulator的使用
A1 Emulator運行小程序的流程
A1.1 從「開始」菜單運行Emulator
A1.2 Emulator菜單和其他功能
A2 運行BREW應用程序
A2.1 運行BREW應用程序的過程
A2.2 查看和編輯應用程序源代碼
A3 使用應用程序管理器
A3.1 在Emulator配置小程序圖像
A3.2 配置小程序以播放聲音
A4 使用速度模擬
A4.1 為什麼要使用速度模擬
A4.2 如何進行速度模擬
附錄B BREWResourceEditor的使用
B1 資源編輯器所用到的文件格式
B2 資源編輯器的作用
B3 創建資源
B3.1 運行資源編輯器
B3.2 創建字元串資源
B3.3 創建圖像資源
B3.4 創建對話框資源
B4 編譯資源文件
附錄C BREWMIFEditor的使用
C1 BREW類和MIF
C2 MIF編輯器的作用
C3 使用BREWMIF編輯器和向模塊添加小程序的步驟
C3.1 從「開始」菜單運行MIF編輯器
C3.2 MIF編輯器Applet選項卡的設置
C3.3 添加常規MIF信息
C3.4 擴展
C3.5 維護外部依存
C3.6 向MIF添加許可證
附錄D BREWDeviceConfigurator的使用
D1 Configurator簡介
D1.1 Configurator的作用
D1.2 設備文件
D1.3 常規設備屬性
D1.4 設備對象
D1.5 圖像文件要求
D1.6 模擬設備屏幕
D1.7 模擬字元
D1.8 模擬設備速度
D2 使用Configurator
D2.1 從「開始」菜單運行Configurator
D2.2 創建設備文件
D2.3 導入設備圖像文件
D2.4 定義設備屬性
D2.5 定義對象
D2.6 編輯現有的設備
附錄E 使用EmbeddedC++
E1 類的定義
E2 應用程序的初始化
E3 類的實現
附錄F BREW相關資源
附錄G 參考文獻

Ⅶ 求一款足球單機游戲,自己是作為足球的經理而並非與運動員。謝謝。希望列舉多一點。

冠軍足球經理
名稱: 冠軍足球經理
英文名稱: Championship Manager
游戲類型: SIM
出品時間: 1992年
語言版本: 英文
游戲平台: PC
開發公司: Eidos
發行公司: 世紀雷神
運營平台:ya247平台、qu247平台[1]、dq247平台、82341平台

游戲截圖(20張)開服發布平台:15so游戲
著名足球模擬游戲,簡稱CM
英文全稱championship manager,中文意思「冠軍足球經理」。
游戲包括了全世界幾乎所有擁有足球職業聯賽的國家的球隊和球員,玩家可選擇任意國家任意級別的聯賽的任意一支球隊,並作為球隊的經理和主教練帶領球隊征戰聯賽。玩家在其中擁有買賣球員、控制比賽、設置訓練、管理球隊、與媒體和其他球隊教練交流等能力。
游戲目的即帶領自己的球隊在所屬
冠軍足球經理 精彩進球集錦(5張)聯賽中盡可能的獲得勝利,贏得各項賽事的錦標,如聯賽冠軍、聯盟杯、歐洲冠軍杯、足總杯和各國聯賽杯等。同時,玩家也可直接操縱某國的國家隊征戰各級國際賽事,如各類友誼賽、洲際杯、世界盃等。
[2]《冠軍足球經理OL[3]》是經典單機游戲品牌《冠軍足球經理》(簡稱CM)的正統網頁游戲版,由全球著名Square Enix公司旗下的BGS(Beautiful Game Studios)工作室與盛大游戲聯合開發,由盛大wan平台代理,游戲最大特色在於傳承CM經典比賽引擎,運用卡牌對戰,使比賽瞬息萬變,再配上全球十萬真實球員數據,不斷挖掘妖人,培養超級巨星,親自帶領球隊直指各項比賽冠軍錦標,讓您獲得最純正的真實足球經理體驗。

Ⅷ 請問 哪位大神有根據經緯度畫出運動軌跡的vs2010 mfc 源代碼我願意把我所有的財富值給您

我倒是有基於Unity引擎的C#游戲代碼做游戲很少用原生語言了。

Ⅸ 顯示一個國際象棋棋盤的java源代碼

import java.awt.Color;
import javax.swing.*;

public class Chess extends JPanel
{// 繼承面板類
public Chess(int grids,int gridsize)
{//grids:行數和列數, gridsize:單元格的高和寬
super(null);
for(int i=0; i<grids; i++)
{
for(int j=0; j<grids; j++)
{
JLabel l = new JLabel();//生成標簽實例
l.setSize(gridsize,gridsize);
l.setLocation(i*gridsize,j*gridsize);
if((i+j)%2==0)
{ //當小方格的坐標和剛好是偶數時,
l.setBackground(Color.black); //設置為方格為黑色
l.setOpaque(true); //設置為不透明
}
l.setBorder(BorderFactory.createLineBorder(Color.black)); //設置邊界為黑色
add(l);//將l標簽添加到面板
}
}
}
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setSize(658,677); //邊框的長和寬
f.setLocationRelativeTo(null); //設置窗口相對於指定組件的位置
f.add(new Chess(8,80));
f.setVisible(true);
}
}

Ⅹ 怎麼連續發捲舌音

zh、ch、sh、r、er都是捲舌音,發音過程比較復雜。您可依下法學發捲舌音:

用筷子、壓舌板等,輕輕地把舌尖往上抬,讓自己體會舌尖如何上翹。

初步掌握後,將其手背緊貼您的喉嚨處,使其感受聲帶振動,學發捲舌母音「er」。

待能熟練地將舌頭上翹後,您要和孩子一起對著鏡子反復練習。學會舌頭頂住硬齶,自覺熟練後,再練習發zh、ch、sh、r。

用大拇指緊貼上齒背和齒齦,指甲向著口腔內部,練習發zh、ch、sh、r。如果發音時,大拇指的指甲不會被沾濕,則證明已會發「舌尖硬齶音」了。之後,逐步獨立發出上述各音。使用此法,一定要保證手指的清潔。

一段時間之後,結合er音做如下的練習:er-ch;er-zh;er-sh;er-r;熟練以後,去掉er,直至獨立正確發出zh、ch、sh、r為止。

熱點內容
絕地求生未來之役比賽為什麼進不去 發布:2023-08-31 22:07:08 瀏覽:1186
dota2位置什麼意思 發布:2023-08-31 22:00:04 瀏覽:624
lol電競是什麼樣子 發布:2023-08-31 21:58:40 瀏覽:1087
絕地求生八倍鏡的那個圓圈怎麼弄 發布:2023-08-31 21:58:31 瀏覽:1127
lol龍龜一個多少金幣 發布:2023-08-31 21:55:07 瀏覽:535
王者如何改游戲內名稱 發布:2023-08-31 21:55:06 瀏覽:820
游戲主播打廣告是什麼意思 發布:2023-08-31 21:55:06 瀏覽:1470
絕地求生如何免費拿到ss7賽季手冊 發布:2023-08-31 21:52:13 瀏覽:700
pgg是哪個國家的戰隊lol 發布:2023-08-31 21:52:07 瀏覽:585
一個人的時候才發現游戲很沒意思 發布:2023-08-31 21:49:24 瀏覽:1179