Rumah >pembangunan bahagian belakang >Tutorial Python >Anda tahu apabila anda telah Diberitahu...

Anda tahu apabila anda telah Diberitahu...

Susan Sarandon
Susan Sarandonasal
2024-12-22 17:10:14783semak imbas

Adakah anda pernah memulakan projek dengan berfikir "Seberapa sukarnya?" - hanya untuk mengetahui beberapa bulan kemudian bahawa jawapannya adalah "Lebih sukar, pasti di luar kedalaman saya buat masa ini." Itulah ringkasan projek yang telah saya kerjakan untuk seketika. Begini ceritanya.

Saya berminat dengan komputer selama bertahun-tahun. Saya membina PC pertama saya semasa saya remaja, pada tahun 2008, dan pada masa itu perisian seolah-olah sejenis sihir misteri yang saya tidak dapat membungkus kepala saya. Cepat ke hadapan kira-kira setahun yang lalu, dan saya mendapati diri saya mendaftar untuk Codecademy. Ia sebahagiannya untuk mencuba dan mempelajari kemahiran baharu, sekiranya saya membuat keputusan atau perlu menukar pekerjaan pada masa hadapan. Walau bagaimanapun, kebanyakannya ia hanya untuk keseronokan dan kepuasan peribadi - mungkin akhirnya saya dapat memahami sedikit lagi tentang cara perisian misteri itu berfungsi?

Perhentian pertama saya ialah kursus C# percuma, yang membuatkan saya cukup tertarik untuk mendaftar langganan tahunan. Beberapa bulan kemudian, saya memutuskan untuk pergi ke yang besar dan memulakan Laluan Kerjaya Sains Komputer. Walaupun saya boleh pergi untuk sesuatu seperti pembangunan web, saya fikir Sains Komputer lebih selaras dengan minat asal saya apabila saya mula-mula menceburi bidang komputer - bukan sahaja belajar cara mengekod, tetapi bagaimana semuanya berfungsi di bawah hud.

Kursus dimulakan dengan mengajar saya bahasa baharu - Python. Saya pernah mendengar bahawa bahasa ini adalah salah satu bahasa yang paling popular untuk pemula, dan saya dapat melihat sebabnya. Setelah berjinak-jinak dengan C# sebelum ini, yang nampaknya cukup mudah tetapi dengan beberapa keanehan pelik yang terlintas di kepala saya, saya menggunakan Python seperti itik untuk menyiram.

Namun, ia kemudiannya sampai ke bahagian kursus di mana saya perlu membuat Projek Portfolio pertama saya. Ringkasnya adalah untuk mencipta permainan terminal dalam Python, dan menerbitkannya di GitHub dan platform blog. Pada mulanya, bahagian tugasan yang membuat saya berbulu adalah berkongsi projek saya dengan orang lain. Saya cenderung untuk mengelak daripada menerbitkan perkara secara terbuka, terutamanya apabila saya rasa saya tidak tahu apa yang saya lakukan dengan betul. Kerjaya masa lalu yang gagal sebagai Kartunis mengajar saya tentang bahaya "blagging" - memberi gambaran bahawa saya lebih cekap dan mungkin lebih berpengalaman daripada yang sebenarnya untuk berpotensi memenangi pelanggan. Namun, itu cerita lain.

Pada asasnya, versi ringkas mukadimah panjang ini ialah saya menulis siaran ini kerana Codecademy membuatkan saya melakukannya. Saya tidak berada di bawah sebarang ilusi/khayalan bahawa saya seorang pengekod yang hebat - Saya hanya seorang nerd yang ingin tahu yang ingin menamatkan kursus ini dan mempelajari beberapa perkara menarik sepanjang perjalanan. Dan anda tahu apa, saya gembira dengan itu, dan jika anda berada dalam bot yang sama dengan saya, anda sepatutnya begitu.

Jadi bagaimana dengan permainan yang saya cipta? Saya mempunyai beberapa cadangan permulaan daripada Codecademy, seperti Blackjack, Tic-Tac-Toe, dan Minesweeper, tetapi saya ingin mencuba sesuatu yang berbeza. Permainan yang saya gemari bermain setiap hari ialah "Wordle", kini dimiliki dan dihoskan oleh New York Times. Nampaknya permainan itu bermula sebagai projek peribadi kecil yang dibuat oleh seorang lelaki untuk teman wanitanya, dan saya tertarik dengan kesederhanaan peraturan permainan dan cara ia berfungsi. Jadi saya mula membuat versi "Wordle" saya sendiri, untuk melihat sama ada saya boleh memikirkannya sendiri. Lagipun, betapa sukarnya?...

Jawapan ringkas - agak sukar daripada yang saya fikirkan, memandangkan saya hanya seorang pemula. Saya pasti pakar boleh memusnahkan klon Wordle dalam beberapa jam, tetapi bagi saya ini telah menjadi projek selama berbulan-bulan. Saya kebanyakannya mengerjakannya pada waktu malam sebelum tidur, dan ia merupakan pengalaman yang sangat menyeronokkan. Ia telah mengejutkan saya berapa banyak bahagian bergerak yang terdapat dalam permainan terminal yang kelihatan mudah.

Anda boleh mencari kod saya di GitHub di sini.

Projek ini masih dalam proses dan saya berhasrat untuk terus membetulkan pepijat dan menambah ciri mengikut masa yang berlalu. Secara ringkasnya, berikut ialah cara permainan ini berfungsi:

You know when you

Setelah dilancarkan, pengguna ditunjukkan skrin percikan dan diminta untuk memasukkan nama mereka. Seterusnya, permainan memilih perkataan rahsia di latar belakang, pada masa ini daripada senarai ujian sepuluh perkataan 6 huruf. Dalam versi yang lebih baru, saya bercadang untuk melanjutkan senarai ini supaya banyak lagi perkataan yang mungkin tersedia. Program ini kemudiannya memaparkan papan kekunci dan grid tekaan semasa. Hanya tekaan 6 huruf diterima, dengan hanya aksara abjad angka. Setiap kali tekaan dihantar, program menganalisis tekaan dan membandingkannya dengan perkataan rahsia. Jika pemain telah memilih huruf yang betul di tempat yang betul, ia dicetak dalam warna hijau dan huruf yang berkaitan bertukar hijau pada papan kekunci. Jika huruf itu betul tetapi salah letak, ia dicetak kuning. Jika surat tidak betul, ia dicetak dalam warna kelabu. Proses ini meniru logik permainan asal, walaupun saya telah menemui beberapa pepijat kes tepi yang boleh menyebabkannya ranap. Jika pemain meneka perkataan dengan betul dalam enam percubaan, mereka menang. Jika mereka mengambil lebih daripada enam percubaan, permainan berakhir dengan kegagalan.

You know when you

Jadi ia kedengaran mudah, tetapi sebenarnya saya mengambil masa beberapa bulan untuk sampai ke peringkat ini. Saya terkejut dengan betapa rumitnya kod saya, dan pada masa akan datang saya merancang untuk memudahkannya jika boleh. Pada masa yang sama, ia merupakan cabaran yang benar-benar menyeronokkan untuk saya, dan saya gembira kerana saya dapat mencapainya sejauh ini. Saya mahu meneruskan kursus sekarang, tetapi saya berhasrat sepenuhnya untuk kembali kepadanya dengan kerap untuk membuat beberapa kemas kini. Jika anda mempunyai sebarang cadangan kepada kod atau kemungkinan ciri baharu, sila beritahu saya.

You know when you

Atas ialah kandungan terperinci Anda tahu apabila anda telah Diberitahu.... Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn