JavaRush /Blog Jawa /Random-JV /Ing wiwitan ana JavaRush
Марат Каджаев
tingkat
Санкт-Петербург

Ing wiwitan ana JavaRush

Diterbitake ing grup
Periode percobaan pertamaku rampung 3 taun kepungkur, nanging aku mung duwe wektu kanggo nulis artikel. Ing universitas aku ngentekake 1 taun ing macem-macem fakultas: semester pertama aku sinau dadi manajer, ing semester kapindho aku pindhah menyang teknik perangkat lunak. Aku ngarep-arep yen dheweke bakal ngajari aku babagan program, nanging aku salah, mula aku njupuk dokumen kasebut lan mutusake sinau kabeh dhewe. Siji-sijine perkara sing dakkarepake kanggo guru yaiku dheweke menehi saran supaya aku miwiti nganggo buku Stephen Prat "The C Programming Language." Buku sing apik banget kanthi akeh masalah praktis. Buku kasebut udakara udakara 2 wulan, sawise aku nemoni JR ing klompok kanca lan lunga. Ing wiwitan, aku ngrancang dadi pangembang Android, nanging sajrone proses sinau, backend katon luwih menarik kanggo aku. Miturut cara, latihan njupuk 3 sasi, nalika aku tekan level 20, sawise aku mutusake kanggo nyoba golek kerja. Kaping pisanan, aku pindhah menyang kutha liya, amarga ... Ora ana lowongan kanggo developer Java junior ing mine. Aku nemokake perusahaan, nanggapi, nampa tugas test, sing diwenehi seminggu kanggo ngrampungake. Sampeyan perlu kanggo nulis aplikasi web prasaja nggunakake Hibernate, Servlet\JSP lan MySQL. Saka kabeh tembung kasebut, aku mung ngerti yen MySQL minangka basis data. Kaping pisanan aku nesu banget, aku malah mutusake golek lowongan ing sawetara KFC, nanging pungkasane aku mutusake kanggo nyoba ngrampungake spesifikasi teknis - aku mesthi duwe wektu kanggo entuk kerja ing KFC. Aku nindakake tes non-stop kabeh minggu lan sukses. Aku ngirim solusi, nanging "ora ala", mula aku nggawe maneh 4 kaping. Kaputusan pungkasan ternyata bener, nanging ternyata pangembang wis direkrut lan rekrutmen sabanjure bakal 3 wulan. Shtosh, oke. Kanggo 3 sasi sabanjure aku sinau html, css, js, sql lan php. Apa sing ditindakake PHP ing kene? Aku butuh basa server-side sing bakal nanggapi panjalukan lan kabeh - servlets lan jsp katon rumit banget kanggo aku nalika iku. Asil kasebut minangka aplikasi web lengkap kanthi antarmuka sing elek, kode sing dikirim ing github kanggo portofolioku. Mung ing wektu iki, 3 sasi wis liwati lan padha wrote kanggo kula saka perusahaan padha lan nelpon kula kanggo Interview lan maringi kula liyane tugas test prasaja kanggo kawruh SQL, kang rampung ing sawetara jam. Wong karo kang aku ngedika bab proyek hinted sing padha takon bab algoritma lan struktur data - Aku durung nguwasani topik iki, nanging ana 15 dina sadurunge Interview, peduli kita pembalap. Buku Robert Laforet "Struktur Data lan Algoritma ing Jawa" mbantu aku. Aku ora duwe wektu kanggo maca lan ngerti kabeh sajrone rong minggu, nanging aku isih sinau akeh perkara anyar. Banjur dina wawancara teka, aku teka ing wektu sing wis ditemtokake, 2 wong ketemu aku lan wawancara diwiwiti. Ngomong aku kuwatir, swaraku malah goyang. Dheweke takon babagan kabeh kajaba algoritma lan struktur data. Dheweke takon babagan Spring, DI, IoC, Hibernate, cara kerja JVM, cara kerja GC - Aku ora mangsuli pitakon kasebut. Aku mung ngrampungake pitakonan babagan Java Core (koleksi, pengecualian, OOP, lsp). Wis ing Interview aku temen maujud sing aku wis gagal iku, nanging isih kuciwo ora nampa saran. Nanging aku ngenali kesenjangan ing kawruh lan wiwit sregep nutup mau. Aku ketemu proyek sasi sawise Interview gagal. Miturut cara, aku nemokake lowongan ing diskusi JavaRush. Kaping pisanan ana wawancara Skype karo perekrut (udakara udakara 2 jam). Dheweke takon babagan Java Core, GC (saiki aku ngerti cara kerjane), database, struktur data. Banjur pewawancara njaluk aku nuduhake layar lan nulis kalkulator. Aku meh njerit seneng amarga aku nulis kalkulator secara harfiah seminggu sadurunge. Manteb ing ati, Aku miwiti tugas, nanging salah siji metu saka kasenengan, utawa kanggo sawetara alesan liyane aku kelalen bagean saka algoritma. Layar dituduhake - iku medeni kanggo pindhah menyang Google. Kebeneran aku duwe ponsel sing nyimpen bokongku. Dina sabanjure dheweke nelpon aku kanggo wawancara pribadi lan sawetara dina sabanjure aku nampa tawaran.
Ing wiwitan ana JavaRush - 1
Karya kasebut ora resmi, aku dadi magang kanggo wirausaha individu. Kita nulis layanan kanggo nggawe acara, adol tiket lan liya-liyane. Aku ngelingi dina pisanan ing karya - pengusaha individu nglampahi 15 menit kanggo nerangake apa sing kudu dilakoni. - Nah, kabeh wis jelas? - takon IP - Mmm, ora tenan, apa kita bisa nindakake maneh? — Aku takon wildly kuwatir. IP nerangake kabeh maneh. - Saiki wis cetha? - Saiki ya. Nyatane, aku ora ngerti apa-apa. Nanging aku wedi njaluk katrangan maneh - aku rumangsa kabeh sing entuk kerja bakal ngerti aku. Inti saka tugas kasebut yaiku nulis ulang saka thymeleaf menyang AngularJS. Begjanipun, aku nemokake bagéan saka kode siap-digawe lan tindakake conto lan nindakake padha. Aku ora ngerti cara kerjane, nanging aku bisa ngatasi tugas kasebut. Banjur teka tugas sing ana hubungane langsung karo bagean backend. Mung sawise pengalaman praktis karo Spring aku wiwit ngerti apa sing ditulis ing buku "Spring kanggo Profesional". Aku makarya ana ing 8 sasi, sawise aku pindhah menyang kutha liyane, ngendi aku cepet golek proyek resmi, makarya kanggo 2 taun, lan ing wektu sing padha ngganti judhul proyek saka "Junior" kanggo "Tengah". Saiki aku ngadhepi kasunyatan manawa kerja wis dadi rutinitas lan ora nggawa rasa seneng. Mulane, ing wayahe aku ngaso, lan kanggo nyegah driji saka atrophying sak break, aku mutusaké kanggo nyoba lapangan liyane - pangembangan game. Yaiku, pangembangan game seluler, kanggo wiwitan, Android, amarga ... Aku ngerti Jawa. Aku bakal ngandhani sampeyan babagan iki kanthi rinci. About us Ing wektu cendhak, tim cilik 4 wong (kalebu kula) teka bebarengan: 2 pangembang, 1 desainer game, 1 sound engineer. Amarga Ora ana siji ing tim sing duwe pengalaman ing bidang pangembangan game lan wektu istirahatku diwatesi, kita mutusake kanggo ngleksanakake proyek sing prasaja sing mesthi bakal dideleng nganti pungkasan. Padha nindakake iku! Kaping pisanan, tenggat wektu yaiku 15 November, nanging, kaya sing sampeyan ngerteni, ngrampungake proyek ing tenggat wektu asli minangka dosa. Dadi kita rampung rong minggu mengko. Miturut wong-wong mau Tumpukan kasebut yaiku: Java 8 lan libGDX.

Babagan pembangunan

Wiwitan pangembangan bisa dianggep tanggal 17 Oktober. Total kita nglampahi 45 dina, sajrone:
  1. sinau nggarap libGDX;
  2. nulis kode;
  3. nggambar grafis;
  4. digawe musik;
Wong-wong sing wis ndeleng game bisa uga duwe pitakon - kenapa suwe banget, game kasebut gampang? Ya, iki bener, lan kanthi tepat, pangembangane dhewe (nulis kode) udakara seminggu lan setengah. Wektu liyane bisa dipérang dadi:
  1. nguwasani mesin;
  2. nggambar gambar banjur digambar maneh;
  3. nulis musik;
  4. nggoleki swara ing https://freesound.org ;
  5. maca Bunch saka artikel bab carane kanggo ningkataké game
Kajaba iku, ana wektu "downtime" amarga macem-macem alasan - ana sing duwe ujian, ana sing njupuk maneh, lsp. Sampeyan bisa kanthi aman nglampahi seminggu lan setengah, utawa malah luwih, ing "downtime". Sisih liyane wektu iki ngginakaken ing "debat": gagasan bab apa kanggo nambah game teka meh saben dina, supaya ana musuhan bab "iki bakal superfluous", "iki ora pas", etc. Mangkono, kita nilar akeh gagasan, contone, nambah cockroaches mlaku sing bisa tresna lan njaluk ekstra kanggo iku. TCTerms: Ing wiwitan ana JavaRush - 2Umumé, salah siji sing paling angel, ing mratelakake panemume, iku arep ing advance apa bakal ing game lan kelet kanggo rencana iki tanpa nyoba kanggo nambah "liyane" fitur. Iki carane kita nglumpukake 45 dina iki. Prototipe game wis siyap sawise seminggu lan setengah. Sajrone periode iki, kita durung duwe grafis, mula kita njupuk sawetara perkara saka domain umum (contone, kita nyilih kertas latar mburi saka Doodle Jump), lan sawetara sing digawe dhewe ing cat. Ing wiwitan ana JavaRush - 3Game kasebut kanthi teknis gampang banget - kita ora kudu nggunakake box2d (mesin fisika), kita bisa nangani tabrakan lan ngetung hipotenuse dhewe. Saka titik sing paling menarik, aku bakal nyorot ing ngisor iki.
  1. Kaping pisanan, kabeh unsur ing game digawe kanthi acak. Sing. kita duwe panyedhiya bolongan ireng, gunting, shurikens, rod, ati - kita sijine ing Uploaded, lan banjur njupuk panyedhiya acak lan njaluk unsur karo koordinat acak. Cukup cepet dadi cetha yen pendekatan iki "ora apik banget"; kanca-kanca sing melu tes ngandhani bab sing padha lan menehi saran supaya nggunakake template. Mesthine kanggo sing melu pangembangan game iki minangka solusi sing jelas, nanging ... Kita anyar ing wilayah iki lan iki minangka saran sing apik banget kanggo kita.

    Mangkono, sawetara pola muncul: lembah gunting; rod diagonal - cukup nyenengake kanggo ngumpulake kanthi kacepetan dhuwur (swish-swish-swish karo driji); lan siji liyane cithakan, Aku ora ngerti apa nelpon iku - Aku bakal nyebataken apa kelas diarani ing kode: StraightForwardPattern.

    Ing wiwitan ana JavaRush - 4

    Iku dadi luwih penake karo cithakan, nanging banget katebak utawa soko. Mulane, acak padha dadi cithakan liyane. Sing. Saiki kita duwe template "statis" lan siji acak. (kene meme babagan keseimbangan sing sampurna).

  2. Masalah utama sing kita temoni yaiku iki. LibGDX nyebat metode render(float delta) ing daur ulang tanpa wates, ing ngendi kabeh rendering unsur bener-bener kedadeyan. Kita nggambar garis potlot kanthi cara ing ngisor iki: kita njupuk koordinat driji lan nyelehake tekstur ing kono. Dadi, yen kita mindhah driji ing layar kanthi cepet, "bolongan" kawangun amarga kita rampung ing milliseconds nalika cara render(delta) wis bisa lan durung disebut maneh. Masalah iki ditanggulangi cukup prasaja - kita elinga koordinat pungkasan kang tektur iki digambar, kita njaluk sabanjuré, lan yen jarak antarane wong-wong mau luwih saka X lan driji ora dirilis, kita isi longkangan iki. Kaping pisanan, kita ngira yen pilihan iki bisa uga ora bisa digunakake - garis bakal dadi sudut, nanging rasa wedi kita muspra - kabeh bisa digunakake.

    Bener, babagan game

    Game kasebut ora ndalang unik, nanging cukup apik lan bisa gawe ketagihan. Sampeyan ngontrol potlot, secara harfiah nggambar ing kertas, ngindari alangan - gunting, shuriken, bolongan ireng. Ing kasus iki, inti potlot rampung lan sampeyan kudu njupuk potlot cilik. Yen rod rampung lan isih ora ana potlot, sampeyan bisa njupuk pecahan pangilon. Bakal duwe efek kanggo sawetara detik - tinimbang mbuang rod, bakal dibalèkaké, nanging ing wektu sing padha kontrol dadi mirrored - sampeyan pindhah ngiwa, lan potlot ndudohke ing sisih tengen. Sampeyan uga bisa njupuk ati sing bakal ngidini sampeyan nemoni alangan sapisan lan tetep urip. Suwene sampeyan terus tanpa ngangkat driji saka layar, bakal luwih dhuwur kombo, sing nambah kacepetan entuk poin. Plus kacepetan game mboko sithik mundhak. Kajaba sampeyan ora bisa ngrampog Korovans. Ing wiwitan ana JavaRush - 5Kaping pisanan, kita ngrancang kanggo nelpon game Karan Dash (potlot, ahaha, entuk, ta?), Nanging mengko kita ganti pikiran lan mapan ing Pencil Dash. Motivasi yaiku yen iki elegan (Aku ngomong) muter ing tembung mung bisa dingerteni kanggo pamirsa sing nganggo basa Rusia. Kita ngeculake game kasebut sawetara dina kepungkur lan saiki promosi. Ora ana siji ing tim sing duwe pengalaman babagan iki; kita entuk kabeh kawruh babagan promosi saka macem-macem artikel. We diterbitake informasi bab game ing macem-macem situs web / forum free . Kanggo saluran mbayar, kita mrentahake pariwara ing 4PD, saka siji blogger, sawetara kiriman ing kaca umum VK lan AdMob. Miturut cara, kiriman iki uga minangka bagean saka promosi, mula kanthi ijin saka administrasi aku ninggalake link menyang game ing kene. Kaca game ing Google Play: klik Aku uga bakal ninggalake link menyang grup VK kita, ngendi sampeyan bisa ninggalake review / saran lan ora kantun nganyari klik Aku bakal ngucapke matur nuwun yen sampeyan nginstal (apa yen sampeyan seneng?), lan kanggo review kanthi rating aku janji bakal nylametake lilin kanggo kesehatan sampeyan! Takon pitakonan, yen sampeyan duwe, aku bakal mangsuli.Ing wiwitan ana JavaRush - 6

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION