中国十大原创网络游戏是用C或C++或Java语言中的哪一个开发的 (c 网络游戏服务器)

一般大点的网络游戏,客户端和服务器的主程序都是用C++、或者服务器用C写的;游戏脚本可用的语言闷困种类比较多,宽仿也有可能是开发公司自己设计的。像梦幻西游、征途等慎罩纤 都是用C++开发的,其他的就不是很清楚了,抱歉

相关问题拓展阅读:

C#网络游戏编程

看你的游郑世磨戏对图像要求高不高了,如果对图像要求不高那就:

.net

+

GDI+

+

Socket

如果对图像要求高,就:

.net

+

VBDXLIB

+

Socket

.net

+

MDX

+

Socket

.net

+

XNA

其中.net你可以选择c#、vb.net、c++.net其中一门语言,

GDI+是.net图形操作接口,一般用于图形处理

VBDXLIB是.net(C#)继承原有的vbDX库,主要是Direct7/Direct8

Socket是.net网络编程的接口

MDX专为.net编写的托管dx库,可用于游戏开发、多媒体开发等,不过微软已经

放弃了MDX的研发,最新版本是MDX2.0

XNA也是微软为游戏开发的框架,就是这个东西取代了MDX,目前XNA更高版本是2.0,3.0也即将发布,1.0不支持网络编程,2.0就支持网络编程了,所以你要用.net开发网络游戏,我推荐你使用C#+XNA2.0

补充:

“MDX是指DirectX

SDK吗?”

不能这样理解,MDX是托管的dx,即Manager

directx

DirectX

SDK是dierctx的开发包,

MDX调用SDK

to

不要很片面的说c#编写游戏很卡,就语言机制来看,c#就比C++更适合编写游戏,但返宽由于喊斗C#的托管原因导致比C++运行效率底,微软对MDX已经做优化了,声称效率可以达到非托管DX的95%以上,而且现在硬件发展又这么快,

在C++淘汰汇编/c而编写游戏的时候,也有很多学者说c++编写游戏卡死机子,结果怎么样呢?

mdx和xna只能编写directx9.0的游戏,如果显卡不支持9.0的话,运行速度也很慢,

我编写过xna的3d程序,一个屏幕加载600个3dModel没有出现卡的现象,

用winform做游戏的书开发应该比较少见吧。

如果你技术上没问题,那看书应该效果不大,因为书是给不会技术的人看的,至于技术学会了如何去实现理论,那永远得自己想。

我是这样想的,

网络上:

网络游戏一般都用UDP进行信息交流,这样可以实现一对多传输,且无需像TCP那样一一建立连接。用UdoClient或直接Socket类进行互交闭源含就可以了。

至于传输的内容,是各种游戏中的消息,更好在前几个字节设定消息类型。比如消息类型是出牌,后面的字节就是具体哪张牌。消息类型是指令,后面的字节就是对方是否赢了或者认输等。

游戏界面上:(我觉得这个是难裂世点,网络还是比较容易的)

你需要有一个明了的规划。

数据上:比如每张牌用int还是枚举,每张牌对应的图像存成内置资源还是外部图像。

界面轿笑上:2D的话GDI或GDI+就够了,3D要另外调用DirectX API。

处理上:对接受的消息的应对,界面上有什么调整,数据上有什么调整。

游戏开发教程c# 1

C#游戏开含缓搜发教程 1

本文适合有一定编程基础的爱好者!本文不会涉及基本的语法等内容,本文

适合所有游戏开发初学者,本文从Microsoft DirectX 9.0 SDK (Summer 2023)中

的D3D下Tutorials文哪歼件夹下的例子开始!!

关键字:c# 游戏开发 3D 教程

C#(读作“C sharp”)是一种简单、现代、面向对象且类型安全的编程语言。C 和 C++ 程序员能很快熟悉它。C# 同时具备“应用程序快速开发”(RAD) 语言的高效率和 C++ 固有的强大能力。(c#语言标准参考如是说)

废话少说,进入主题,开始我们的c#游戏开发之旅!(翻译有误请多原谅)

之一章 组建我们的设备

1。建立谈历一个DX程序,首先你需要下载Microsoft DirectX SDK(更好事9.0一下简称DX),安装。然后事要保证你安装了Visual Studio .NET开发产品套件(一下简称vs.net),这是最小环境,然后你就可以进行游戏开发了。

建立一个DX设备。打开DX中的Tutorials文件夹下的Tutorials1例子并打开编译!下面是运行结果:

创建了一个DX窗口!

下面是代码:

//

// file: CreateDevice.cs

// 创建设备

// Desc: This is the first tutorial for using Direct3D. In this tutorial, all

//we are doing is creating a Direct3D device and using it to clear the

//window.

// 注释:这是之一个使用D3D的教学例子,在这个例子中,我们要作的仅仅是创建以个D3D“设备”和刷新窗口

// Copyright (c) Microsoft Corporation. All rights reserved.

//

using System;

using System.Drawing;

using System.Windows.Forms;

using Microsoft.DirectX;

using Microsoft.DirectX.Direct3D;

namespace DeviceTutorial

{

public class CreateDevice : Form

{

// Our global variables for this project

Device device = null; // Our rendering device

//我们的绘图设备

public CreateDevice()

{

// Set the initial size of our form

//设置窗体的初始值

this.ClientSize = new System.Drawing.Size(400,300);

// And it’s caption

//设置窗体标题

this.Text = “D3D Tutorial 01: CreateDevice”;

}

public bool InitializeGraphics()

{

try

{

// Now let’s setup our D3D stuff

//现在我们设置D3D的一些选项

PresentParameters presentParams = new PresentParameters();

presentParams.Windowed=true;//标志着程序运行时窗口模式

presentParams.SwapEffect = SwapEffect.Discard;//返回或设置交换区选项????

device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams);

//?,设备的类型(这里选择了硬件),创建图形设备的窗体,创建类型,创建实体);

//创建设备实例

return true;

}

catch (DirectXException)//捕捉DX异常

{

return false;

}

}

private void Render()//刷新模块

{

if (device == null)

return;

//Clear the backbuffer to a blue color

//将设备窗口刷成绿色

device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0f, 0);

//clear(刷屏的参数这里选的是目标,使用的颜色,深度(可能用于模板),模板(0)因为没有使用模板)

//Begin the scene

//开始渲染场景,(因为没有场景所以一下句是空的就直接结束了场景的渲染)

device.BeginScene();

// Rendering of scene objects can happen here

//可以在这里渲染场景

//End the scene

//结束场景的渲染

device.EndScene();

device.Present();

}

protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) //重写OnPaint方法

{

//this.Render(); // Render on painting

//循环的刷新窗口

}

protected override void onKeyPress(System.Windows.Forms.KeyPressEventArgs e)//重写onKeyPress方法

{

if ((int)(byte)e.KeyChar == (int)System.Windows.Forms.Keys.Escape)

this.Close(); // Esc was pressed

//如果按下了ESC则退出程序

}

///

/// The main entry point for the application.

/// 程序的主函数,入口点

///

static void Main()

{

//使用USING语句创建对象保证对象的销毁

using (CreateDevice frm = new CreateDevice())

{

if (!frm.InitializeGraphics()) // Initialize Direct3D

{

MessageBox.Show(“Could not initialize Direct3D. This tutorial will exit.”);

return;

}

frm.Show();

// While the form is still valid, render and process messages

//消息循环

while(frm.Created)

{

frm.Render();

Application.DoEvents();

}

}

}

}

}

代码中有加入的注释!

首先是:

using System;using System.Drawing;using System.Windows.Forms;using Microsoft.DirectX;using Microsoft.DirectX.Direct3D;

使用命3名空间!注意的是,在程序的Main主程序中使也用了USING,注意这是c#中的一条语句,using 语句定义一个范围,在此范围的末尾将处理对象。

接着Device device = null;这句是申请了Device类的对象device但并未创建实例对象,实例对象的创建必须使用new语句创建。public bool InitializeGraphics() 函数 的作用是初始化DX,private void Render() 函数是渲染函数,其中的device.BeginScene(); 是开始渲染,device.EndScene();

device.Present(); 结束渲染,就如同翻页!可以在BeginScene();和EndScene();函数之中添加图像的显示或文字的显示等其它工作!程序最后的

while(frm.Created) { frm.Render(); Application.DoEvents(); }

是检测程序是否在执行,是则使用frm实例对象的方法Render();来渲染屏幕,Application.DoEvents();是执行消息循环!

这样!一个简单的DX窗口就建立好了!

关于c 网络游戏服务器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 中国十大原创网络游戏是用C或C++或Java语言中的哪一个开发的 (c 网络游戏服务器)