如何成为游戏的生产者——第二章:如何开始你的编程(开发环境的搭建、C++语言适应)
如何成为游戏的生产者——文章二章:怎样開始你的编程
小故事:上节说到我六年级打开了那本C语言的书,然后其实我还是没看懂。好像看懂了一些printf语句。之后遇到了史无前例的困难——怎么让代码执行起来。当时那本书推荐的编译器是VC,IDE是VC++6.0(说实话我看到这东西就不爽)。我在网上找啊找啊找啊找啊,问了好多人。最终下载到了。
然后一打开,我去,全然看不懂啊。于是乎,我放弃了。只是我做游戏的想法却是更深一层了。
然后我偶然的机会玩到了war3的地图编辑器。
非常奇妙的,我制作游戏的路是从这个编辑器開始的。
本章概要:
1.编程须要哪些工具
2.开发工具怎样选择
3.怎样高速的写出一段看起来实用的代码
4.怎样高速了解过程式编程的基本思想
一.编程须要哪些工具
不往复杂了说,编程须要的工具非常easy。
你须要一个编译器。然后须要一个文本编辑器。
编译器是用来把你的代码 制导成计算机可识别的命令的。文本编辑器的目的是让你写代码更舒服一些。
使用编译器制导出来的二进制码能够让计算机直接执行。你就能看到你写的程序在计算机上执行的结果了。而文本编辑器起到的用处便是辅助你写代码的工作。一般有下面功能(代码高亮、代码提示、自己主动补齐、自己主动换行、自己主动检測语法错误),当然另一些更高级的功能,比方说直接跳转到xx函数定义,实现等等。
二.开发工具怎样选择
那么,开发工具该怎样选择呢。
首先先解决编译器的问题。
主流的编译器有:VC、GCC、MINGW(也属于GCC,windows上的实现而已)、clang、Intel C/C++ Compiler等等
推荐新手用的编译器,我个人认为,GCC是最合适的。尽管它的错误检測没clang友好,也没VC人性化。可是我认为它贵在小巧,跨平台方便,交叉编译能够非常方便的在linux和windows以下编译。(这东西真心非常不错,说实话我认为比vc强多了。
微软那老流氓每次编译让我电脑cpu满负载。并且还不快)
那么文本编辑器怎样选择呢。
在这里听我一句劝。别听那些老鸟说,快来用VIM啊。快来用EMACS啊,(对我来说,sublime都比他们强。)这些工具都属于上古时代的东西了,怀旧一下能够。可是实际上根本没啥鸟用,要做啥功能都要自己实现。(关键是我人懒,要是认为我说的不正确能够来打我),说一句我个人的苦恼吧,我由于习惯了EMACS的按键,导致我跑到不论什么文本编辑器上都不习惯。搞的我最后都要做个插件专门用来改按键。
推荐文本编辑器有:sublime text2、sublime text3、notepad++
--------------------------注意这条切割线---------------------------------------
哈哈,你要是真的决定用 gcc+sublime text来写c/c++程序的话我能够说你还是会非常苦恼。非常不爽。
可是优秀的程序猿都是懒人,所以有更适合懒人的工具。那就是——————IDE(集成开发环境)
开篇说的VC++6.0就是一个IDE。所谓IDE(集成开发环境)就是集——编译器、文本编辑器、调试器、类设计器等等开发必要装备于一起的东西。
那么以下我向各位隆重推荐一个很很适合新手的IDE——————————CodeBlocks 。
这款IDE很轻量级,可是无论是调试、代码提示都很优秀。并且操作很easy,很适合新手使用。
(我的一个图形引擎就是在CodeBlocks以下开发的)
以下提供CodeBlocks的下载地址和用法:
http://www.codeblocks.org/downloads/26
下载流程:
翻到以下找到codeblocks-13.12mingw-setup-TDM-GCC-481.exe 这玩意
反正无论如何一定要带上mingw,大概80+M吧,要是仅仅有30多M那肯定就是不带编译器的,自己下编译器也挺麻烦的。所下面一个整合包就成了。
然后打开CodeBlocks。
按例如以下操作——
找到Create a new project
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQnJhaW50aHJlYWQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
找到Console application(控制台程序)
然后一直next,选择你要写的语言(c++是兼容大部分c语言的,所以创建c++写c语言在初学的时候不会有太大问题)
Project title (project标题)
以下选择下你要保存project的路径就好了
然后next,再把下个页面的全部钩点上,就能够finish了
接着会出现这个页面
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQnJhaW50aHJlYWQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
然后找到
这三个各自是编译-执行-编译加执行
省去了link步骤。
IDE帮你自己主动完毕了。
假设出现以上内容。你就成功执行了一段代码了。
假设点了执行一点效果都没出现。那也别急。你能够这么做
1.找到菜单条的setting
2.找到Compiler settings
按这个重置为默认编译器就好了(假设你下载的是带编译器的codeblocks肯定是没问题了)
至此。我们搭建完了我们的开发环境,以后我们就能够在这里面写代码了。
那么事不宜迟,我们立马进入下一个阶段,怎样编写一段代码。而且来运行它。这样我们能更有成就感一些。
三.怎样高速的写出一段看起来实用的代码
首先我们先无论c++的一大堆类型、一大堆语法,我们先来学习两个最主要的。
cin、cout
这两个东西是标准IO库里的标准输入函数和标准输出函数。
cin是将xx东西输入到缓存区.
cout是将xx东西输出出来(这里不说输出到屏幕上的原因是由于你能够自己改变输出流的输出指向)
那么他们的语法格式是这种
int a,b,c; //声明整形变量
a=0; //将a赋值为0
b=1; //将b赋值为1
c=2; //将c赋值为 2
cin>>a; //标准输入函数。等待用户输入一个数值给a
cout<<a; //显示a里面的东西
cout<<b; //显示b里面的东西
cout<<c; //显示c里面的东西
那么我们来写一段代码吧,输入两个数,在屏幕上输出他们两个的和。
#include <iostream>
using namespace std; //使用std命名空间
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b;
return 0;
}
然后执行一下它吧,然后你在控制台里输入两个数,就会看到他们的和了。
四.怎样高速了解过程式编程的基本思想
非常easy,你说啥,计算机就干啥。
你说:给我吃饭、上床、脱衣服、穿衣服、睡觉。
计算机就绝对不会违背你,它一定会。吃饭、上床、脱衣服、穿衣服、睡觉。
而不会认为脱衣服那一步是不是必需的,或者认为穿衣服睡觉是不合适的。
也就是全然照着你的代码逻辑,一层层往下运行。
例如说你对计算机这样说:
1.去吃饭
2.去睡觉
3.跳回第一条
然后计算机就会,先吃饭,然后睡觉,然后跳回第一条,又去吃饭,又去睡觉。又跳回第一条了........无限循环下去。
也就是专业点来说,为了达到你所想要的状态,便去运行指定的步骤。
结尾:
这一章看完,你基本写个hello world 妥妥的。写出hello world之后你就能够去看书了。
按照第一章推荐的C++入门书籍 <<C++ primer>> 和 C语言入门书籍 <<C Primer plus>>
首先在说句题外话。C语言实际上比c++更优美一些。
只是不是非常现代。
事实上那两家伙都挺挫的。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
如何成为游戏的生产者——第二章:如何开始你的编程(开发环境的搭建、C++语言适应)的更多相关文章
- NodeJs>------->>第二章:Node.js中交互式运行环境--------REL
第二章:Node.js中交互式运行环境--------REL 一:REPL运行环境概述 C:\Users\junliu>node > foo = 'bar' ; 'bar' > 二: ...
- Java程序设计(2021春)——第二章课后题(选择题+编程题)答案与详解
Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 第二章选择题 2.1 面向对象方法的特性 ...
- Coco2d-x android win7 Python 游戏开发环境的搭建
1:我用的电脑配置 win7 3 核 内存8G 桌面.一直想学习Coco2d 游戏开发,所以,一个星期后,需要找到,最终建立了一个良好的环境 2:我使用的版本号版本号,至于建筑android开发环境略 ...
- 《python语言程序设计》_第二章笔记之2.13_软件开发流程
#程序1: 设计:由用户键入利率.贷款数以及贷款的年限,系统计算出每月还贷数和总还款数 注意:输入的年利率是带有百分比的数字,例如:4.5%.程序需要将它除以100转换成小数.因为一年有12个月,所以 ...
- SPRING IN ACTION 第4版笔记-第三章Advancing wiring-001-DataSource在应用和开发环境之间切换 profile
一. DataSource在应用和开发环境的产生方式不同,可以用srping 的profile管理 Spring’s solution for environment-specific beans i ...
- 第二节:Java开发环境的搭建
一.认识并安装JDK 1.JDK(Java Development Kit)是Java开发工具集,包括Java运行环境(JRE).Java开发工具以及一些基础类库,进行Java开发所必须安装的软件. ...
- 第2章 selenium开发环境的搭建
前端技术: html:网页的基础,一种标记语言,显示数据: JS:前端脚本语言,解释型语言,在页面中添加交互行为 xml:扩展标记语言,用来传输和存储数据 css:层叠样式表,用来表现HTML或XML ...
- WEBGL 2D游戏引擎研发系列 第一章 <新的开始>
WEBGL 2D游戏引擎研发系列 第一章 <新的开始> ~\(≥▽≤)/~HTML5游戏开发者社区(群号:326492427) 转载请注明出处:http://html5gamedev.or ...
- C#本质论读书笔记:第一章 C#概述|第二章 数据类型
第一章 1.字符串是不可变的:所有string类型的数据,都不可变,也可以说是不可修改的,不能修改变量最初引用的数据,只能对其重新赋值,让其指向内存中的一个新位置. 第二章 2.1 预定义类型或基本类 ...
随机推荐
- bootstrap jQuery Ztree异步载入数据,check选择&可加入、改动、删除节点
效果图: 一.下载zTree插件 地址:http://www.ztree.me 二.html代码 <link href="../Scripts/zTree/css/zTreeStyle ...
- C语言中结构体參数变量的传递
[文章摘要] 在C语言中,结构体參数变量常常作为函数的參数来进行传递.但假设參数设置不当.会出现内存问题. 本文以实际的程序代码为例.具体地介绍怎样正确地使用结构体參数变量.为相关的开发工作提供了參考 ...
- Unity3D开发一个2D横版射击游戏
教程基于http://pixelnest.io/tutorials/2d-game-unity/ , 这个例子感觉还是比较经典的, 网上转载的也比较多. 刚好最近也在学习U3D, 做的过程中自己又修改 ...
- 恢复js文件在windows默认打开方式
解决办法: 运行 regedit 打开注册表编辑器,定位 "HKEY_CLASSES_ROOT" > ".js" 这一项,双击默认值将数值数据改为&quo ...
- Linux 该文件命令查看内容
Linux系统,请使用以下命令来查看文件的内容: cat tac 从最后一行開始显示.能够看出 tac 是 cat 的倒著写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 ...
- SQL Server :理解Page Free Space (PFS) 页
原文:SQL Server :理解Page Free Space (PFS) 页 我们已经讨论了GAM与SGAM页,数据页(Data Page) ,现在我们来看下页面自由空间页(Page Free S ...
- easyui出口excel无法下载框弹出的办法来解决
使用前ajax发,码如下面(ActionUrl一般处理程序ashx路径): $.ajax({ url: ActionUrl + '?action=export&ID=' + $('#fm_ID ...
- JNDI 什么
JNDI是 Java 命名与文件夹接口(Java Naming and Directory Interface).在J2EE规范中是重要的规范之中的一个,不少专家觉得,没有透彻理解JNDI的意义和作用 ...
- Java乔晓松-android中上传图片到服务器Tomcat(Struts2)
在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.exampl ...
- 玩转web之javaScript(五)---js和jquery一些不可不知的方法(input篇)
很多时候我们都利用js和jquery中操作input,比如追加属性,改变属性值等等,我在这里简单的整理了一下,并在以后逐步补充. 1:删除input的某一属性. <input name=&quo ...