您在开始一个项目时是否曾经想过“这有多难?” - 几个月后才发现答案是“更难,目前绝对超出了我的理解范围”。嗯,这就是我已经从事了一段时间的这个项目的总结。故事是这样的。
我多年来一直对计算机感兴趣。早在 2008 年,我十几岁的时候就组装了第一台 PC,当时软件似乎是某种神秘的魔法,让我无法理解。快进到大约一年前,我发现自己注册了 Codecademy。部分原因是为了尝试学习一项新技能,以防我将来决定或需要换工作。然而,大多数情况下,这只是为了好玩和个人满足——也许我终于可以更多地了解这个神秘软件的工作原理了?
我的第一站是免费的 C# 课程,这让我产生了足够的兴趣,报名参加了年度订阅。几个月后,我决定大干一场,开始计算机科学职业道路。虽然我本可以从事 Web 开发之类的工作,但我认为计算机科学更符合我第一次接触计算机时的最初兴趣 - 不仅仅是学习如何编码,还学习它在幕后是如何工作的。
课程从教我一门新语言开始——Python。我听说这种语言是最受初学者欢迎的语言之一,我明白为什么。之前接触过 C#,虽然看起来很简单,但有些奇怪的怪癖超出了我的想象,所以我对 Python 的使用如鱼得水。
然而,接下来我需要制作我的第一个作品集项目。简介是用 Python 创建一个终端游戏,并将其发布到 GitHub 和博客平台上。最初,作业中让我感到愤怒的部分是与其他人分享我的项目。我倾向于回避公开发布内容,尤其是当我觉得自己不太清楚自己在做什么时。过去失败的漫画家生涯教会了我“吹牛”的危险——给人留下这样的印象:我比实际更有能力,也许更有经验,以便有可能赢得客户。不过,那是另一个故事了。
基本上,这个长序言的浓缩版本是我写这篇文章是因为 Codecademy 让我这样做。我并不抱有任何幻想/妄想,认为我是一名出色的编码员 - 我只是一个好奇的书呆子,希望完成本课程并在此过程中学习一些很酷的东西。你知道吗,我对此感到很高兴,如果你和我在同一条船上,你也应该如此。
那么我要创建的游戏呢?我从 Codecademy 那里得到了一些入门建议,例如 Blackjack、Tic-Tac-Toe 和 Minesweeper,但我想尝试一些不同的东西。我每天喜欢玩的游戏是“Wordle”,现在由纽约时报拥有和主办。显然,这款游戏最初是一个男人为他的女朋友制作的一个小个人项目,我对看似简单的游戏规则及其运作方式很感兴趣。所以我开始创建我自己的“Wordle”版本,看看我是否能自己弄清楚。毕竟,这能有多难?...
简短的回答 - 考虑到我只是一个初学者,比我想象的要难一些。我确信专家可以在几个小时内击败 Wordle 克隆,但对我来说,这是一个长达数月的项目。我主要是在晚上睡觉前做这件事,这是一次非常愉快的经历。令我惊讶的是,在一个看似简单的终端游戏中竟然有如此多的活动部件。
您可以在 GitHub 上找到我的代码。
该项目仍在进行中,我打算随着时间的推移继续修复错误并添加功能。简而言之,游戏的运作方式如下:
启动后,用户会看到一个启动屏幕并要求输入他们的名字。接下来,游戏在后台选择一个秘密单词,当前是从十个 6 字母单词的测试列表中选择的。在以后的版本中,我计划扩展此列表,以便有更多可能的单词可用。然后程序显示键盘和当前猜测的网格。仅接受 6 个字母的猜测,且仅包含字母数字字符。每次提交猜测时,程序都会分析猜测并将其与秘密单词进行比较。如果玩家在正确的位置选择了正确的字母,则会以绿色打印该字母,并且键盘上的相关字母会变成绿色。如果字母正确但放错位置,则会打印为黄色。如果字母不正确,则会以灰色打印。这个过程非常模仿原始游戏的逻辑,尽管我发现了一些可能导致游戏崩溃的边缘情况错误。如果玩家在六次尝试内猜对单词,他们就获胜。如果尝试次数超过六次,游戏就会失败。
听起来很简单,但实际上我花了几个月的时间才达到这个阶段。我对我的代码变得如此复杂感到惊讶,并且在以后的日子里,如果可能的话,我计划简化它。同时,这对我来说是一个真正令人愉快的挑战,我很高兴我能够走到这一步。我现在想继续学习这门课程,但我完全打算定期回顾它以进行一些更新。如果您对代码或可能的新功能有任何建议,请告诉我。
以上是你知道当你被Wordled时...的详细内容。更多信息请关注PHP中文网其他相关文章!