怎么编写游戏
㈠ 怎么编程游戏
首先,别的都不管,一定要先学精以下数学科目:线性代数、空间解析几何、微积分。都要学到比较深的程度,千万不能囫囵吞枣,否则往后的压力会越来越大。现在本科的内容其实不够的,例如quaternion你在课本里就没学,但游戏里绝对用得多。还有,课本里大概也不会教你怎样判断任意两个多面体是否相交。这些都要靠自己多钻研、多琢磨,不能满足课本内容的。然后,看你是侧重图形、物理、还是AI方向。图形方面,其实基本上就是几何和光学问题,关键是熟悉API(DirectX或OpenGL)。如果想获得尖端效果,则要先学一些光学基础,然后才能进入可编程Shader的美妙境界。物理方面,本人经验太少,只能说:这真的是太太复杂了。AI方面:本人也没经验。就不多说了。最后才说C++编程:其实C++编程这东西真的很奇怪。我们先是在课堂上学了一套东西,然后实际开发的时候人们又会告诉我们那套东西是不能用的(理由一般就是性能低啦、不安全啦,等等),反正又得学另一套东西。搞C++特别是游戏的人,都有一种近乎病态的完美主义倾向,企图用目前并不完美的语言工具实现完美的目标(最典型的病态就是那个const,什么都加const,其实你就算加了const,人家用强制类型转换,一样可以转成非const)。还有那个指针,如果你真的用CObject*pObj这样的形式,肯定要被人骂。他们要用所谓的“smartpointer”。诸如此类,都相当变态。其实真的要做AAA级的游戏,简直就和强迫自己开发一套操作系统、加上一套程序框架、加上实现绝大多数的数据结构和算法一样痛苦。为什么那么痛苦那么麻烦?想想:做一个游戏,本质上就是想用有限的资源模拟出无限的显示世界,而创造这个复杂的世界是上帝才能胜任的事情,那你想模拟它出来,不就是要和上帝竞争吗?(本人不信教,呵呵。)当然,如果你只是满足比较不那么出众的游戏,或许并不用那么痛苦,随便拿个所谓的“引擎”过来用就行。或者用C#,也可以吧。
㈡ 怎么编写个简单的小游戏
VB~VC~VF~C~C#~C++~JAVA~.NET~这些都是编程
ASP~CGI~PHP~JSP这些是WEB编程。。
虽然都是编程,但编出来的程序可是不一样的。
目标是什么?开发?创业?还是去公司上班?还是业余爱好?
如果想业余编小程序,推荐VB~VC~容易上手。简单。也蛮强大。
如果想学好了去企业上班,推荐C++~~~.net~~~JAVA之类的大型项目开发。
如果想做网站,就学ASP~CGI~PHP~JSP,这4个就JSP最最最难,先学ASP。
编程语言很多,但是目的都是想写出好的程序,只要学精了一个就有钱赚,一上来不要要求太高
语言是用来交流沟通的 计算机语言也一样 多说多练
㈢ 怎么自己编一个小游戏
到网上搜一些不用编写程序的小游戏制作软件,自己就能制作出来。
㈣ 如何自己编程做游戏
自己学编程做游戏需要学习、了解以下几样东西:
1、知道自己想做什么类型的游戏,手游、主机、PC,明确后选择游戏引擎。
什么是编程:
编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。】
㈤ 如何用C++编写一个小游戏
一个用C++编程的小游戏,可以实现的功能如下:
1、随机生成数字;
2、数字消除合并;
3、判定游戏结束;
一、游戏主体:
因为用C++写的,所以用了类,棋盘用了一个二维数组,m是棋盘规格,取了4。
class game
{
public:
int i, j;
game() {
count1 = 0;
for (i = 0; i < m; i++)
for (j = 0; j < m; j++)
chessboard[i][j] = 0;
srand((unsigned)time(NULL));
x = rand() % m;
y = rand() % m;
if (count1 == 1 || count1 == 0)
chessboard[x][y] = 2;
else
chessboard[x][y] = 4;
showchessboard();
}//构造初始棋盘
void add(int count1);//新增数字
void showchessboard();//显示棋盘
void up();
void down();
void left();
void right();
bool gameover();//游戏失败
private:
int chessboard[m][m];
int x, y, count1, count2, temp1, temp2, k;//c1-连消,c2-空位标记,t1-判连消,t2,k-临时变量
bool flag;//判消
};
二、随机生成数字
void game::add(int count1)
{
for (i = 0; i < m; i++)
for (j = 0; j < m; j++)
{
if (chessboard[i][j] == 0)
goto loop;
}
showchessboard();
return;
loop:srand((unsigned)time(NULL));
do {
x = rand() % m;
y = rand() % m;
} while (chessboard[x][y] != 0);
if (count1 < 2)
chessboard[x][y] = 2;
else
chessboard[x][y] = 4;
showchessboard();
}
三、数字消除合并
void game::up()
{
temp1 = count1;
flag = false;
for (j = 0; j < m; j++)
for (i = 0; i < m;)
{
for (; i < 4 && chessboard[i][j] == 0; i++); // 找非零值
if (i == 4)
break;
else
{
for (k = i + 1; k < 4 && chessboard[k][j] == 0; k++);//找下一个非零值
if (k == 4)
break;
else if (chessboard[i][j] == chessboard[k][j])//匹配
{
chessboard[i][j] *= 2;
chessboard[k][j] = 0;
i = k + 1;
flag = true;
}
else if (chessboard[i][j] != chessboard[k][j] && k < 4)//不匹配
{
i = k;
}
}
}
for (j = 0; j < m; j++)//排列棋盘
for (i = 0, count2 = 0; i < m; i++)
{
if (chessboard[i][j] != 0)
{
temp2 = chessboard[i][j];
chessboard[i][j] = 0;
chessboard[count2][j] = temp2;
count2++;
}
}
}
四、判断游戏结束
bool game::gameover()
{
if (flag)
count1++;//判连消
if (temp1 == count1)
count1 = 0;//未消除,连消归零
add(count1);
for (i = m - 1, j = 0; j < m; j++)//最后一行
{
if (j == m - 1)//右下角
{
if (chessboard[i][j] == 0)
return false;
else if (chessboard[i][j] == 2048)
{
cout << "You Win~ ";
return true;
}
}
else
{
if (chessboard[i][j] == 0 || chessboard[i][j] == chessboard[i][j + 1])
return false;
else if (chessboard[i][j] == 2048)
{
cout << "You Win~ ";
return true;
}
}
}
for (i = 0, j = m - 1; i < m; i++)//最后一列
{
if (i == m - 1)//右下角
{
if (chessboard[i][j] == 0)
return false;
else if (chessboard[i][j] == 2048)
{
cout << "You Win~ ";
return true;
}
}
else
{
if (chessboard[i][j] == 0 || chessboard[i][j] == chessboard[i + 1][j])
return false;
else if (chessboard[i][j] == 2048)
{
cout << "You Win~ ";
return true;
}
}
}
for (i = 0; i < m - 1; i++)
for (j = 0; j < m - 1; j++)
{
if (chessboard[i][j] == 2048)
{
cout << "You Win! ";
return true;
}
else if (chessboard[i][j] == chessboard[i][j + 1] || chessboard[i][j] == chessboard[i + 1][j] || chessboard[i][j] == 0)
return false;
}
cout << "Game over. ";
return true;
}
(5)怎么编写游戏扩展阅读:
C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。但是该过程实际上分成两个步骤。
第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);
第二步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。C++库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。
参考资料来源:
网络-C++
㈥ 网络游戏是怎么编写来 要怎么编写 要什么软件
编写网络游戏,不是你想象中的那么简单,。
首先:要学会C语言,C语言是电脑语言的其中一种,
以及c++,编程技术,
并不是想编写就编写的,
软件是其次 首先要学会以上技术,
不紧紧是学会,是要学到精通的程度才能够编写出游戏,
还有游戏编写出来 当然少不了的是图片制作,以及动画,
这就连到图片制作,网络美工。
所以如果想去编写一个游戏首先要学习。
㈦ 游戏编程怎么学
1、编程(C、C++、网页制作,计算机图形学背景等)。
2、美术(原型概念设计、色彩、模型等)。
3、设计(核心玩法、交互等)。
4、音乐(配音等)
游戏开发主要分为2D游戏和3D游戏。2D游戏通常是为手机开发的,一般使用的开发工具是Cocos2dxcocoscreator,使用的开发语言是c++js。3D游戏一般使用的游戏开发工具。
unity3D,使用的开发语言是c#或者Javascript。所以要想开发哪种游戏,就必须知道需要用到哪些开发知识。
主要条件:
扎实的程序语言功底,主要代表为VC、DELPHI和JAVA。其中VC使用最广,现在比较大的游戏也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到了DELPHI;JAVA用于开发手机游戏。
从事游戏开发的人一定有情怀。有情怀没什么了不起,谁都可以有一腔热情,但能力必须支撑自己的情怀,做出足够好的东西。
㈧ 怎么编写一个游戏程序
新手如何学习C语言 第一:一些概念。 C语言是一门程序设计语言,有一些标准,比较重要的是ANSI C(好像是C89)和C99。 数据结构包括逻辑结构和物理结构。逻辑结构是数据元素集合和定义在集合上的关系。物理结构是逻辑结构在计算机中的实现。 LCC、VC、TC、GCC都是C语言编译器,一般包括集成开发环境,编译器和链接器及辅助工具 我们书写的是C源程序,源程序通过编译器编译为中间文件,中间文件经链接器链接生成可执行文件。不同操作系统可执行文件不同。中间文件也有几个标准,微软使用的和Linux下通用的有差异。 第二:学习什么。 个人认为程序设计学习的重点放在数据结构的学习上,但是这种学习要有一个平台,比如C语言。 学习C语言首先要掌握基本语法,常量、变量、类型、及顺序结构、分支结构和循环结构的意义及用法。进一步学习构造类型如指针、结构、函数的意义和用法。 C语言提供一些标准函数以减轻程序设计工作量,这些函数我们自己也可以实现。即使不依靠函数库,只有编译器,理论上就足够了。事实上,提供的标准函数效率都很高,使用很频繁,没有自己实现的必要,所以掌握常用函数是非常必要的,但是要注意函数的适用范围。 继续学习因人而异,应该可以独立选择了。 第三:如何学习。 强调多实践,C语言的学习要经常上机,多写程序才能逐步提高。 推荐书籍:C Programming Languge。有中译本
求采纳
㈨ 如何编程一个最简单游戏代码
利用随机数猜大小,内容如下:
1、代码的第一行,是一个include语句。没有它我们的程序会编译不过。有了它就是告诉编译器在对代码进行编译之前,必须要包含程序需要的文件。这里的stdio.h就是我们需要的头文件。
2、代码第二行是一个main函数,这个main函数的返回值是一个int整型数据。刚开始学习编程的时候我们可以认为程序运行的时候是从main函数开始的。后续会专门给大家做一个介绍向大家说明在main函数之前还做了哪些事情。
3、每个函数都用一对“{}”进行包含,表示着函数体的开始和结束,当然后面说到控制语句的时候它还表示一段控制语句的开始和结束。
4、main函数中调用了一个printf函数。它是用来向控制台输出我们想要的内容。printf的函数定位格式为:int printf(constchar*format,...)。format中定义了输出内容和格式。
5、return函数执行完后。在退出函数体之前,会将函数进行返回。return后的内容根据函数返回值定义而定。在本段程序中返回的是整型数据0。
㈩ 如何编程游戏
当下互联网行业发展迅速,与之相关的产业大多发展都很好,游戏设计的前景自然也是相当不错的。一个游戏问世要经历很多环节,剧本设计,原画创作,场景建模,但核心部分还是编程语言开发。
主要学的内容如下:
1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2.算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3.Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4.游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
5.2D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。