c语言小游戏代码矿井逃生

A few weeks ago, I posted about my experience attempting to learn JavaScript, C#, Python, and more from Codecademy, Udemy, and freeCodeCamp, along with escaping from tutorial purgatory and actually making progress as a developer.

几周前,我发表了自己的经验,尝试从Codecademy,Udemy和freeCodeCamp学习JavaScript,C#,Python等,并逃脱了炼狱和实际上作为开发者的进步。

Deciding on a programming language can be extremely challenging and time-consuming as there are dozens of options out there, with a lot of conflicting information.  In this article, I'll share some options based on my own experience learning to code, with suggestions for how to choose a programming language, escape tutorial purgatory, and make progress as a developer.

由于存在许多选择,并且信息相互冲突,因此选择一种编程语言可能会极具挑战性和耗时。 在本文中,我将根据自己在编码方面的经验分享一些选项,并提供有关如何选择编程语言,逃避教程炼狱以及在开发人员方面取得进步的建议。

Here's a video version of this post if you'd prefer (11 minute watch):

如果您愿意,这是此帖子的视频版本(观看11分钟):

方案1:您知道要构建什么 (Scenario 1: You Know What You Want to Build)

Often, in articles such as these (or in the "What Coding Language Should I Learn?" infographics with which you're probably intimately familiar), you're asked to think critically about what you want to build after you've learned to code.

通常,在诸如此类的文章中(或在您可能熟悉的“我应该学习哪种编码语言?”信息图表中),您被要求认真地思考要学习的内容。码。

This approach is useful if you have some idea about what it is that you want to do with a programming language after learning it, but not so much if you just want to learn to code, as was my experience.  I'll cover both scenarios in this article.

如果您有关于它是什么,你想学习它后一种编程语言做的 ,但没有这么多,如果你只是想学习代码的一些想法此方法非常有用,因为是我的经验。 我将在本文中介绍这两种情况。

If you do know what direction you want to take your coding career after learning a programming language, you'll most likely have an easier time figuring out which language to learn first.  Here are some suggestions in that case.

如果您确实了解了学习编程语言后想要发展编码职业的方向,那么您很可能会更容易地弄清楚首先要学习哪种语言。 在这种情况下,这里有一些建议。

前端开发:JavaScript(和HTML / CSS) (Front End Development: JavaScript (and HTML/CSS))

If you already know that you want to work on the "front end" of websites - meaning, anything the user sees when they come to a website - you should begin your coding journey with learning JavaScript.  You'll probably start out by learning HTML and CSS, which form the backbone of just about every website, and then begin adding JavaScript to enhance functionality and interactivity to your sites.

如果您已经知道要在网站的“前端”上工作(即用户访问网站时看到的所有内容),则应该开始学习JavaScript。 您可能会开始学习HTML和CSS,它们几乎构成了每个网站的骨干,然后开始添加JavaScript以增强网站的功能和交互性。

JavaScript is fairly ubiquitous as a programming language, and has an easier on-ramp than other, lower level languages like C++.  It's a great jumping-off point if you don't know what you want to learn...but more on that later.

JavaScript作为一种编程语言相当普遍,并且比其他较低级的语言(如C ++)更容易上线。 如果您不知道要学习什么,这是一个很好的起点……但是稍后会更多。

后端开发:Python,C或JavaScript(和SQL) (Back End Development: Python, C, or JavaScript (and SQL))

Let's say you're more interested in learning about the guts of websites, managing the "back end" and trying your hand at database administration.  You've got a lot of options here, and the most straightforward path is Python, which is a beginner-friendly language that has mature frameworks (e.g. Django and Flask) for back end development.

假设您对了解网站的勇气,管理“后端”以及尝试数据库管理更加感兴趣。 您在这里有很多选择,最直接的途径是Python,它是一种对初学者友好的语言,具有用于后端开发的成熟框架(例如Django和Flask )。

You also can't go wrong with C#, which will expose you to Microsoft's .NET ecosystem and a programming language that, once you get into the weeds with it, is a pleasure with which to work.  And if you're thinking of going "full stack" - meaning, you want to do front end and back end development - you might consider learning JavaScript, which has younger but highly prized back end frameworks like Express and Koa.  Doing so will also ease your learning process as you'll be using the same language to code both stacks.

使用C#也不会出错,它将使您接触Microsoft的.NET生态系统和一种编程语言,一旦陷入困境,它便是工作的乐趣。 而且,如果您打算采用“全栈”方式(即要进行前端后端开发),则可以考虑学习JavaScript,该JavaScript具有更年轻但倍受重视的后端框架,如Express和Koa 。 这样做也将简化您的学习过程,因为您将使用相同的语言对两个堆栈进行编码。

Whichever language you choose for back end development, you'll most likely also wind up adding SQL to your toolbox for database management, so put that on your radar.

无论选择哪种语言进行后端开发,最终都可能会将SQL添加到用于数据库管理的工具箱中,因此请放心使用。

2D游戏开发:JavaScript或C (2D Game Development: JavaScript or C)

I've written elsewhere about what engine you should use to make 2D games, but here's the skinny.

我在其他地方写过有关制作2D游戏时应使用哪种引擎的信息,但这很薄。

There are a lot of 2D game engines, many of which may or may not suit your fancy as a game developer, and each with their own benefits, idiosyncrasies, and learning curve.  Some of them, like Game Maker Studio 2, for example, utilize their own proprietary languages to run scripts, but I'd actually recommend you first learn JavaScript or C#, even if you're considering using a different game engine in the long run.

很多 2D游戏引擎,其中很多可能不适合您作为游戏开发者的想象,并且每个都有自己的优势,特质和学习曲线。 其中有些工具 (例如Game Maker Studio 2)利用自己的专有语言来运行脚本,但实际上我建议您首先学习JavaScript或C#,即使您长期考虑使用其他游戏引擎也是如此。 。

With JavaScript, you can use frameworks like Phaser to make 2D games, or fully-featured engines like Construct 3 (which actually uses drag-and-drop development with room for custom scripts).  If you choose to learn C# instead, you'll work with Unity 2D, or perhaps MonoGame - but I'd actually recommend starting with non-engine tutorials (e.g. .NET)to get a good handle on the language first.

使用JavaScript,您可以使用Phaser之类的框架来制作2D游戏,或者使用功能齐全的引擎(如Construct 3) (实际上使用拖放式开发并留有自定义脚本的空间)。 如果您选择学习C#,则可以使用Unity 2D或MonoGame-但我实际上建议您从非引擎教程(例如.NET )开始,以便首先掌握该语言。

Learning JavaScript or C# will give you the foundational coding knowledge you'll need to tackle another game engine, like Game Maker, while also providing you with things like programming best practices and clean code organization.

学习JavaScript或C#将为您提供解决其他游戏引擎(如Game Maker)所需的基础编码知识,同时还为您提供编程最佳实践和简洁的代码组织等内容。

3D游戏开发:C或C ++ (3D Game Development: C or C++)

There are a lot of options for learning to code for 3D game development, and I'd suggest you start with C# or C++.  In fact, unless you're super tech savvy or already have a background in programming, I'd recommend for you to start with C# and work your way down to C++.  You'll have an easier learning curve and will learn fundamental programming concepts without having to deal with things like memory management and lower-level code.

有很多可供选择的学习3D游戏开发代码的方法,建议您从C#或C ++开始。 实际上,除非您精通高科技或已经有编程背景,否则我建议您从C#开始并逐步使用C ++。 您将获得一个更轻松的学习曲线,并且将学习基本的编程概念,而不必处理诸如内存管理和低级代码之类的事情。

You'll probably wind up learning both in any case, but if you start with C#, you can tinker around with Unity 3D, and then make your way to C++ with Unreal Engine 4.

无论如何,您可能都会学完这两种方法,但是如果您从C#开始,则可以修改Unity 3D ,然后使用Unreal Engine 4进入C ++。

数据科学/机器学习:Python (Data Science/Machine Learning: Python)

Although there are options in other languages for learning data science/analysis and machine learning, Python is currently the gold standard for this realm of coding.  It's a fairly straightforward language to learn and will expose you to good programming habits and widely-used frameworks, so you can't go wrong here.

尽管在其他语言中也可以选择用于学习数据科学/分析和机器学习的工具,但是Python目前是该编码领域的黄金标准。 它是一种非常简单易学的语言,可让您养成良好的编程习惯和广泛使用的框架,因此您在这里不会出错。

方案2:您不知道要构建什么 (Scenario 2: You Don't Know What You Want to Build)

There's the distinct possibility that you've spent days, weeks, or even months searching through articles, videos, reddit posts, and Stack Overflow questions reading about programming languages, and still have no idea where to invest your time because you don't know what you want to build.

很可能您花了几天,几周甚至几个月的时间搜索文章,视频,reddit帖子以及有关编程语言的Stack Overflow问题,但仍然不知道在哪里投入时间,因为您不知道您要构建什么。

I've been there.  It's annoying.

我去过那儿。 它很烦人。

My recommendation to you, trite as it may seem, is to just pick one.  Literally any one of them, even if they're not listed here.  Go learn JavaScript.  Or Python.  Or Rust.  Or Haskell.

我对您的建议(似乎有些陈旧)是选择一个。 从字面上看,即使没有在此处列出,它们中的任何一个也是如此。 去学习JavaScript。 或Python。 或锈。 或Haskell。

OK, maybe not Haskell.  But pick something, and stick with it long enough to learn the basics and see if there's a possibility that you might like using that language to build with it.  And keep in mind two things as you do so:

好吧,也许不是Haskell。 但是,选择一些东西 ,并坚持使用足够长的时间以学习基础知识,看看是否有可能您希望使用该语言来构建它。 在执行此操作时,请记住两点:

  1. Set a time limit for yourself.  Like, "I'm going to take the next three months to learn JavaScript using freeCodeCamp tutorials." If, at the end of that period, you feel like you're making progress and it's interesting to you, keep going!  If not, it may be time to reconsider your choice of language and see if there's something out there that might be a better fit for you.为自己设置时间限制。 就像,“我将在接下来的三个月中使用freeCodeCamp教程学习JavaScript。” 如果在此期间结束时您觉得自己正在取得进步并且对您很有趣,那就继续吧! 如果不是这样,可能是时候重新考虑您选择的语言,看看是否有一些更适合您的语言。
  2. Build something that's not in your tutorials. This is a crucial step in your growth as a developer.  I'll cover it in the next section.

    构建您的教程中没有的内容。 这是您成长为开发人员的关键一步 。 我将在下一节中介绍它。

方案3:您被困在炼狱中 (Scenario 3: You're Stuck in Tutorial Purgatory)

If you've found yourself doing tutorial after tutorial, on the same or different websites, without ever actually feeling like you're making progress, you may be really frustrated with the experience of learning to code.  I've been there, and can help.

如果您发现自己在相同或不同的网站上接连进行教程,却从未真正感到自己正在取得进步,那么您可能会对学习编码的经验感到沮丧。 我去过那里,可以为您提供帮助。

The first step is to consider what programming tutorials are good for, and what they are not.  Most online tutorials - particularly ones that allow you to code right in the browser - are excellent for teaching you how to program.

第一步是考虑哪些编程教程是好的,哪些不是。 大多数在线教程(尤其是允许您直接在浏览器中进行编码的教程)都非常适合教您如何编程。

They are not, on the other hand, good for teaching you how to be a programmer.

另一方面,它们不利于教您如何成为程序员。

The best tutorials will expose you to fundamental coding concepts and require you to apply that knowledge to solve puzzles and projects.  They're wonderful learning tools that can, if used beyond their scope, become crutches that will stifle your learning.

最好的教程将使您了解基本的编码概念,并要求您应用该知识来解决难题和项目。 它们是很棒的学习工具,如果超出了它们的使用范围,它们将成为拐杖,扼杀您的学习。

A programmer, for example, doesn't sit around all day doing tutorials.  A programmer programs, and that's precisely what you need to do to make progress after you've mastered the basics.

例如,程序员不会整天坐在那里做教程。 程序员的程序 ,而这正是你需要做的,使进度你已经掌握了基本操作后什么。

The best way to make progress as a developer is to pick a project in your language of choice and set out to do it.  If you're learning JavaScript, for example, you might choose to build a simple website with HTML/CSS and add some interactivity with jQuery.  You'll probably start out by setting up an integrated development environment, immediately forgetting how to do something that you learned in your tutorials, get frustrated, head to Google, find the answer, and keep going.  Then you'll make progress, get stuck, search Stack Overflow, scratch your head at the official documentation, maybe share your code with someone, and repeat the whole process.

作为开发人员取得进步的最好方法是选择一种使用您选择的语言的项目并着手进行。 例如,如果您正在学习JavaScript,则可以选择使用HTML / CSS构建一个简单的网站,并与jQuery添加一些交互性。 您可能会首先建立一个集成的开发环境 ,立即忘记如何做自己在教程中学到的事情,感到沮丧,前往Google,找到答案并继续前进。 然后,您将取得进展,陷入困境,搜索Stack Overflow,在官方文档中挠头,也许与他人共享您的代码,然后重复整个过程。

And you'll be doing exactly what programmers do when building a new project.

而且,您将完全像程序员在构建新项目时所做的那样。

Finally, you really can't go wrong with what programming language you choose, even if it's not on this list.  If you wind up picking one, learning the basics, making a project, and deciding it's not for you, that experience will actually still help you in the long run.  The information you'll learn in the process will be useful, irrespective of whatever language you end up using for your projects.

最后,即使您未选择哪种编程语言,您也确实不会出错。 如果您最终选择一个,学习基础知识,制作一个项目,并决定不适合您,那么从长远来看,这种经验实际上仍然可以为您提供帮助。 无论您最终在项目中使用哪种语言,您都将在此过程中学习的信息将非常有用。

You can do it!

你能行的!

If you enjoyed this article, please consider checking out my games and books, subscribing to my YouTube channel, or joining the Entromancy Discord.

如果您喜欢这篇文章,请考虑查看我的游戏和书籍 , 订阅我的YouTube频道或加入Entromancy Discord 。

M. S. Farzan, Ph.D. has written and worked for high-profile video game companies and editorial websites such as Electronic Arts, Perfect World Entertainment, Modus Games, and MMORPG.com, and has served as the Community Manager for games like Dungeons & Dragons Neverwinter and Mass Effect: Andromeda. He is the Creative Director and Lead Game Designer of Entromancy: A Cyberpunk Fantasy RPG and author of The Nightpath Trilogy. Find M. S. Farzan on Twitter @sominator.

法赞(MS Farzan)博士 他曾为知名的视频游戏公司和编辑网站(例如,Electronic Arts,Perfect World Entertainment,Modus Games和MMORPG.com)撰写和工作,并曾担任《龙与地下城:龙骨无双》和《 质量效应:仙女座》等游戏的社区经理。 。 他是《 Entronancy:Cyber​​punk Fantasy RPG》的创意总监和首席游戏设计师,并且是《 The Nightpath Trilogy》的作者。 在Twitter @sominator上找到MS Farzan 。

翻译自: https://www.freecodecamp.org/news/how-to-choose-a-programming-language-and-escape-tutorial-purgatory/

c语言小游戏代码矿井逃生

c语言小游戏代码矿井逃生_如何选择编程语言和逃生教程炼狱相关推荐

  1. c语言小游戏代码(c语言小游戏代码简单)

    c语言编写小游戏请提供俄罗斯方块,坦克大战之类的小游戏的程序的c 应该是做出方块函数 然后以 这个方块 为单位 绘制 俄罗斯方块的 积木图形 ,在制作游戏界面的时候 也以方块长度为单位长度绘制 二维数 ...

  2. c语言小游戏(c语言小游戏代码飞机大战)

    怎样用C语言编写一个小游戏? "贪吃蛇"C代码: #include #include #include #include #include #define W 78  //游戏框的 ...

  3. c语言程序设计小球弹跳,c语言小游戏程序之弹跳小球的实现代码

    现在说一下其中一个最简单的小程序:弹跳小球 ---------------LINE---------------- 首先我们知道,在窗口的坐标系原点是在窗口左上角的,如图所示 然后我们如果想在这个坐标 ...

  4. C语言跳过障碍物小游戏,html5飞翔的小鸟越过障碍物小游戏代码

    一款简单好玩的html5 canvas飞翔的小鸟越过障碍物小游戏代码,玩法:点击鼠标控制小鸟飞行. 查看演示 下载资源: 11 次 下载资源 下载积分: 30 积分 js代码 var cvs = do ...

  5. python适合开发游戏吗_【学习python小游戏代码,你就可以做python滑雪游戏了】- 环球网校...

    [摘要]很多人开始学习编程都会选择python,并且也会将python用在实际生活中,不过有很多伙伴也打算用python做游戏,所以小编建议大家可以学习python小游戏代码,今天环球网校的小编就来和 ...

  6. python小游戏代码大全-Python编写的点灯小游戏代码

    Python语言编写的点灯小游戏代码及思路如下: 点灯游戏及其求解的方法, 点灯游戏的游戏规则: (1)有个N行N列的灯板,当你开关其中一盏灯: (2)它和上下左右的灯的状态全部反转,目标是将全部的灯 ...

  7. c语言min函数_C语言探索之旅 | 第一部分第十课:第一个C语言小游戏

    内容简介 前言 准备工作和建议 我的代码 改进方案 第一部分第十一课预告 1. 前言 上一课是 C语言探索之旅 | 第一部分第九课:循环语句 . 经过前面这么多课的努力,我们终于迎来了第一个比较正式的 ...

  8. C语言小游戏-五子棋

    C语言小游戏-五子棋 全部代码如下: #include <easyx.h> #include <graphics.h> #include <conio.h> #in ...

  9. C语言小游戏设计报告

    C语言小游戏设计报告 课程设计名称:贪吃蛇小游戏 专业班级:计科15-2 学号:150809229 姓名:XXX 一.设计目标 通过设计,培养学生对电脑的动手能力,使学生巩固<C语言程序设计&g ...

最新文章

  1. 美研究人员公布“盲动”机器人技术细节
  2. 2010上半年网络规划设计师下午试卷Ⅱ与论文写作要点
  3. echart的x换行
  4. OpenWrt——配置L2TP客户端
  5. 调出sharepoint错误的详细页面
  6. day02 pycharm 安装
  7. Python笔记-uiautomator2环境搭建(安卓模拟器测试环境+windows开发环境)
  8. 算术移位的规则及逻辑移动的规则
  9. 语言叮叮消息接口_五分钟学后端技术:如何学习Java工程师必知必会的消息队列...
  10. 厉害了!有同学抽时间整理了一份IDEA中如何使用Git进行项目管理的完整教程?...
  11. 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身
  12. ati 缺少关键性文件_ATI显卡优化
  13. html鼠标滑动响应,CSS鼠标响应事件经过、移动、点击示例介绍
  14. 【入门】倒序输出一个四位整数
  15. 华为CCA汽车域控制器
  16. java大学生网上请假系统ssm框架
  17. 蓝桥杯基础练习---特殊数字
  18. case zhen语句_case when zhen else (Sql 2005)
  19. 假如自家APP被苹果下架了 你会怎么处理?
  20. ffmpeg中av_read_frame 超时设置

热门文章

  1. 【今日CV 计算机视觉论文速览 第107期】Mon, 29 Apr 2019
  2. 【CVPR2019】 教程 Tutorials List
  3. 类与对象的小结 java 1614782140
  4. 9203学生工具页-建议放桌面
  5. 演练 青春不常在 0915
  6. 不能使用for循环,传入n和m, 生成一个长度为n,每一项都是m的数组
  7. windows server 文件资源管理服务器为指定的ftp用户开启磁盘配额
  8. python之字符编码(二)
  9. Spring Bean的生命周期(非常详细)
  10. CMU机器学习学院院长Tom Mitchell:计算机模拟人脑才刚刚起步