KodeGym/Blog Jawa/Acak/Ing wiwitan, ana ...
John Squirrels
tingkat
San Francisco

Ing wiwitan, ana ...

Diterbitake ing grup
Ing wiwitan, ana ... - 1 Masa percobaan pertamaku wis rampung 3 taun kepungkur, nanging saiki aku entuk wektu kanggo nulis artikel. Aku ngentekake setahun ing macem-macem departemen ing universitasku: ing semester pertama, aku sinau manajemen, lan ing semester kapindho, aku pindhah menyang teknik perangkat lunak. Aku ngarep-arep padha bakal mulang kula carane program, nanging aku salah. Dadi, aku ngumpulake bahan lan mutusake kanggo sinau kabeh dhewe. Siji-sijine alesan aku ngucapke matur nuwun marang guruku yaiku dheweke menehi saran supaya aku miwiti nganggo ebook Stephen Pratt "The C Programming Language". Iku pancene minangka buku sing apik kanthi akeh latihan praktis. Aku ngentekake babagan 2 sasi ing buku kasebut, sawise aku nemokake kursus basa Jawa online iki ing grup kanca lan banjur diwiwiti. Ing wiwitan, aku ngrancang dadi pangembang Android, nanging backend katon luwih menarik kanggo kula nalika aku maju ing learning sandi. Ngomong-ngomong, aku butuh 3 wulan sinau kanggo nggayuh Level 20, sawise aku mutusake kanggo nyoba golek kerja. Urutan bisnis pisanan yaiku pindhah menyang kutha liyaawit mine ora duwe bukaan kanggo pangembang Jawa SMP. Aku nemokake perusahaan, nglamar, lan nampa tugas tes, sing diwenehake seminggu kanggo ngrampungake. Aku kudu nulis aplikasi web prasaja nggunakake Hibernate, Servlet/JSP lan MySQL. Ningali kabeh istilah kasebut, aku mung ngerti yen MySQL minangka basis data. Ing wiwitan, aku banget kuciwa. Aku malah mutusaké kanggo golek lowongan proyek ing sawetara KFC, nanging banjur aku mantun kanggo njupuk crack ing tugas test. Sawise kabeh, aku mesthi bisa entuk kerja ing KFC. Aku makarya non-stop kabeh minggu lan bisa rampung test. Aku ngajokake solusi, nanging "ora cantik", mula aku revisi kaping 4 maneh. Solusi pungkasan saya bener, nanging posisi kasebut wis diisi lan aplikasi tambahan ora bakal ditampa sajrone 3 wulan. Apa sing arep sampeyan lakoni, ta? Kanggo 3 sasi sabanjure, Aku sinau HTML, CSS, JS, SQL lan PHP. Kenapa PHP? Aku butuh basa server sing bakal nanggapi panjaluk lan liya-liyane. Ing wektu kasebut, servlets lan jsp katon rumit banget. Pungkasane, aku ngasilake aplikasi web lengkap kanthi antarmuka sing nggegirisi. Aku nerbitake kode ing GitHub kanggo portofolioku. Ing wektu iki, 3 sasi wis liwati lan perusahaan sing padha ngubungi aku maneh lan ngajak aku menyang wawancara, menehi tugas prasaja liyane kanggo nyoba kawruh SQL, sing aku bisa ngrampungake ing sawetara jam. Wong sing dakkandhakake babagan pegawean ngandhani yen dheweke bakal takon babagan algoritma lan struktur data - topik sing durung entuk wektu. Sing jarene, ana 15 dina sadurunge wawancara. Aku entuk iki! Buku Robert Lafore "Data Structures & Algorithm in Java" mbantu aku. aku ora Aku ora duwe wektu kanggo maca lan ngerti kabeh ing rong minggu, nanging aku isih sinau akeh. Banjur dina wawancara teka. Aku teka ing wektu sing wis ditemtokake. Wong loro menehi salam marang aku lan wawancara diwiwiti. Ngomong aku kuwatir bakal dadi understatement alam bébas. Swaraku geter. Dheweke takon babagan kabeh kajaba algoritma lan struktur data. Dheweke takon babagan Spring, DI, IoC, Hibernate, cara kerja JVM, cara kerja tukang sampah - aku ora bisa mangsuli pitakon kasebut. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup. Banjur dina wawancara teka. Aku teka ing wektu sing wis ditemtokake. Wong loro menehi salam marang aku lan wawancara diwiwiti. Ngomong aku kuwatir bakal dadi understatement alam bébas. Swaraku geter. Dheweke takon babagan kabeh kajaba algoritma lan struktur data. Dheweke takon babagan Spring, DI, IoC, Hibernate, cara kerja JVM, cara kerja tukang sampah - aku ora bisa mangsuli pitakon kasebut. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup. Banjur dina wawancara teka. Aku teka ing wektu sing wis ditemtokake. Wong loro menehi salam marang aku lan wawancara diwiwiti. Ngomong aku kuwatir bakal dadi understatement alam bébas. Swaraku geter. Dheweke takon babagan kabeh kajaba algoritma lan struktur data. Dheweke takon babagan Spring, DI, IoC, Hibernate, cara kerja JVM, cara kerja tukang sampah - aku ora bisa mangsuli pitakon kasebut. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup. Ngomong aku kuwatir bakal dadi understatement alam bébas. Swaraku geter. Dheweke takon babagan kabeh kajaba algoritma lan struktur data. Dheweke takon babagan Spring, DI, IoC, Hibernate, cara kerja JVM, cara kerja tukang sampah - aku ora bisa mangsuli pitakon kasebut. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup. Ngomong aku kuwatir bakal dadi understatement alam bébas. Swaraku geter. Dheweke takon babagan kabeh kajaba algoritma lan struktur data. Dheweke takon babagan Spring, DI, IoC, Hibernate, cara kerja JVM, cara kerja tukang sampah - aku ora bisa mangsuli pitakon kasebut. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup. Aku mung kasil mangsuli pitakon babagan Java Core (koleksi, pengecualian, OOP, lsp). Nalika isih ana ing wawancara, aku ngerti yen aku gagal, nanging aku isih kuciwa ora nampa umpan balik. Nanging, aku ngerteni kesenjangan ing kawruhku lan wiwit kerja keras kanggo nutup.Aku nemokake proyek siji sasi sawise wawancara gagal. Miturut cara, aku nemokake lowongan kerja ing diskusi ing CodeGym ( CodeGym minangka versi CodeGym ing basa Rusia - cathetan editor). Kaping pisanan, ana wawancara Skype karo perekrut (udakara udakara 2 jam). Dheweke takon babagan Java Core, koleksi sampah (saiki aku ngerti cara kerjane), database, lan struktur data. Pewawancara njaluk aku nuduhake layar lan nulis kalkulator. Aku meh nangis bungah, amarga aku wis nulis kalkulator mung seminggu sadurunge. Manteb ing ati, aku miwiti tugas. Nanging apa amarga saka kasenengan utawa kanggo sawetara alesan liyane, Aku kelalen bagean saka algoritma. Layarku dienggo bareng. Aku wedi takon Google. Untunge, aku duwe ponsel, sing nyimpen bokongku. Dina sabanjure, dheweke nelpon wawancara pribadi lan sawetara dina sabanjure aku nampa tawaran. Iku dudu posisi resmi. Peranku dadi magang menyang pemilik tunggal. We wrote layanan kanggo planning acara, sade karcis, etc Aku elinga dina pisanan karya. Bosku njupuk 15 menit kanggo nerangake apa sing kudu ditindakake. "Apa kabeh wis jelas?" pitakone. "Hmm, ora tenan. Apa sampeyan bisa mbaleni maneh?" Aku takon karo prihatin banget. Bos njelasake kabeh maneh. "Saiki wis jelas?" "Ya saiki wis." Bener, aku ora ngerti apa-apa. Nanging aku wedi njaluk penjelasan liyane. Aku mikir sapa wae sing kerja bisa ngerti. Tugas digodhog menyang porting saka Thymeleaf menyang AngularJS. Untunge, aku nemokake potongan kode sing wis rampung lan digunakake minangka conto apa sing kudu ditindakake. Aku ora ngerti cara kerjane, nanging aku ngrampungake tugas kasebut. Aku banjur diutus tugas langsung related kanggo backend. Mung sawise pengalaman praktis karo Spring aku wiwit ngerti apa aku maca ing "Spring kanggo Profesional". Aku makarya ana kanggo 8 sasi lan banjur pindhah menyang kutha liyane, ngendi aku cepet golek proyek resmi, makarya kanggo 2 taun lan ngganti judhul saka "junior" kanggo "mid-level" ing dalan. Banjur aku ngadhepi kasunyatan manawa pegaweyanku wis dadi rutinitas lan ora menehi rasa seneng. Mula aku ngaso. Kanggo mungkasi driji saka atrophying sak break, Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pembangunan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki. Mung sawise pengalaman praktis karo Spring aku wiwit ngerti apa aku maca ing "Spring kanggo Profesional". Aku makarya ana kanggo 8 sasi lan banjur pindhah menyang kutha liyane, ngendi aku cepet golek proyek resmi, makarya kanggo 2 taun lan ngganti judhul saka "junior" kanggo "mid-level" ing dalan. Banjur aku ngadhepi kasunyatan manawa pegaweyanku wis dadi rutinitas lan ora menehi rasa seneng. Mula aku ngaso. Kanggo mungkasi driji saka atrophying sak break, Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pembangunan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki. Mung sawise pengalaman praktis karo Spring aku wiwit ngerti apa aku maca ing "Spring kanggo Profesional". Aku makarya ana kanggo 8 sasi lan banjur pindhah menyang kutha liyane, ngendi aku cepet golek proyek resmi, makarya kanggo 2 taun lan ngganti judhul saka "junior" kanggo "mid-level" ing dalan. Banjur aku ngadhepi kasunyatan manawa pegaweyanku wis dadi rutinitas lan ora menehi rasa seneng. Mula aku ngaso. Kanggo mungkasi driji saka atrophying sak break, Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pembangunan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki. ngendi aku cepet golek proyek resmi, makarya kanggo 2 taun lan ngganti judhul saka "junior" kanggo "mid-level" sadawane dalan. Banjur aku ngadhepi kasunyatan manawa pegaweyanku wis dadi rutinitas lan ora menehi rasa seneng. Mula aku ngaso. Kanggo mungkasi driji saka atrophying sak break, Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pembangunan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki. ngendi aku cepet golek proyek resmi, makarya kanggo 2 taun lan ngganti judhul saka "junior" kanggo "mid-level" sadawane dalan. Banjur aku ngadhepi kasunyatan manawa pegaweyanku wis dadi rutinitas lan ora menehi rasa seneng. Mula aku ngaso. Kanggo mungkasi driji saka atrophying sak break, Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pembangunan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki. Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pangembangan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki. Aku mutusaké kanggo nyoba tangan ing wilayah liyane: pangembangan game. Luwih khusus, pangembangan game seluler, njupuk Android, awit aku wis ngerti Jawa. Lan iki sing bakal dakkandhakake kanthi rinci saiki.Timku. Ing wektu cendhak, aku wis ngumpulake tim cilik 4 wong (kalebu kula): 2 gawe, 1 desainer game, lan 1 sound engineer. Amarga ora ana wong ing tim sing duwe pengalaman ing pangembangan game, lan amarga wektu liburanku diwatesi, kita mutusake kanggo ngetrapake proyek sing prasaja sing mesthi bisa rampung. Lan supaya kita nindakake! Wiwitane, tenggat wektu tanggal 15 November, nanging kaya sing sampeyan ngerti, ngrampungake proyek kanthi jadwal mung salah. Dadi, kita rampung telat rong minggu. Tumpukan teknologi kita kalebu Java 8 lan libGDX.

Pangembangan

Pangembangan diwiwiti tanggal 17 Oktober. Total, kita nglampahi 45 dina sajrone:
  1. Kita sinau carane nggunakake libGDX.
  2. Kita nulis kode.
  3. Kita nggawe grafis.
  4. Kita nggawe musik.
Sapa wae sing wis ndeleng game bisa takon, "Yagene suwene? Game kasebut gampang banget." Ya bener, lan luwih tepate, bagean pangembangan (nulis kode) udakara seminggu setengah. Wektu liyane dibagi antarane:
  1. Mastering carane nggunakake mesin game.
  2. Nggambar lan nggambar maneh karya seni.
  3. Nulis musik.
  4. Nggoleki swara ing https://freesound.org .
  5. Maca tumpukan artikel babagan cara promosi game.
Kita uga duwe wektu "downtime" amarga macem-macem alasan: ana sing duwe ujian, wong liya duwe tes make-up, lan liya-liyane. Sawetara wektu uga ngginakaken ing "debat": gagasan anyar bab apa kanggo nambah kanggo game katon meh saben dina, supaya kita debat: "sing superfluous," "sing ora pas," etc. We mbuwang metu akèh gagasan, contone, nambah cockroaches mlaku sing bisa ulig kanggo njaluk TCTerms ekstra: ing mratelakake panemume, salah siji sing paling angel iku kanggo mutusaké ing advance apa sing bakal ing game lan kanggo tetep ing rencana tanpa nyoba kanggo nambah "mung siji liyane. "fitur kab. Mangkene akumulasi 45 dina iki. A prototipe saka game wis siyap sawise minggu lan setengah. Sajrone periode iki, kita pancene ora duwe grafis, Ing wiwitan, ana ... - 2Game banget prasaja ing pangertèn technical. Kita malah ora perlu nggunakake box2d (mesin fisika). Kita bisa nangani tabrakan lan ngetung hipotenuse dhewe. Titik paling menarik sing bakal dakkandhani yaiku:
  1. Kaping pisanan, kabeh unsur game digawe kanthi acak. Ing tembung liyane, kita sijine panyedhiya (bolongan ireng, gunting, bintang ninja, timbal potlot, ati) menyang Uploaded, entuk panyedhiya acak, entuk unsur kanthi koordinat acak. Cepet banget yen pendekatan iki "ora apik tenan". Kanca-kanca sing melu testing marang kita bab sing padha, nyaranake nggunakake Cithakan. Kanggo sing melu pembangunan game, iki mbokmenawa solusi ketok. Nanging amarga kita anyar ing lapangan, iku saran banget praktis kanggo kita.

    Dadi kita nggawe sawetara template: lembah gunting; potlot ndadékaké - iku cantik kelangan kanggo ngumpulake wong super cepet (whoosh, whoosh, whoosh karo driji); lan siji cithakan liyane sing aku ora ngerti apa nelpon - Aku mung bakal pitutur marang kowe apa kita jenenge kelas ing kode kita StraightForwardPattern:.

    Ing wiwitan, ana ... - 3

    Cithakan iki nambah, nanging dadi bisa katebak piye wae. Mulane kita nambahake siji maneh: cithakan acak. Ing tembung liyane, kita saiki duwe sawetara "statis" cithakan lan siji acak (sisipake "sampurna imbang" meme kene).

  2. Mangkene masalah utama sing kita temoni. LibGDX nyebat metode render (float delta) ing daur ulang tanpa wates. Iki ngendi kabeh unsur digambar. Garis potlot digambar kaya ing ngisor iki: kita entuk koordinat driji lan nggambar tekstur ing kana. Dadi, yen kita mindhah driji ing layar kanthi cepet, baris kasebut bakal duwe "kesenjangan" amarga milidetik antarane telpon menyang metode render(delta).

    Solusi iki cukup prasaja: kita ngelingi koordinat pungkasan ing ngendi tekstur digambar, entuk koordinat sabanjure, lan yen jarak ing antarane luwih saka X lan driji durung dirilis, banjur kita ngisi celah kasebut. Kaping pisanan, kita mikir yen opsi iki bisa uga ora bisa digunakake - garis bakal dadi sudut. Nanging rasa wedi kita ora ana dhasare, kabeh bisa mlaku kaya sing dikarepake.

Babagan game

Game kasebut ora ngaku unik, nanging cukup apik lan bisa narik pangguna. Sampeyan ngontrol potlot, kanthi harfiah nggambar ing kertas lan ngindari alangan - gunting, bintang ninja, lan bolongan ireng. Sauntara kuwi, timbal potlot wis entek lan sampeyan kudu njupuk potlot cilik. Yen potlot sampeyan bakal rampung sadurunge sampeyan ngumpulake potlot cilik, sampeyan bisa njupuk potongan pangilon. Kanggo sawetara detik, tinimbang ngonsumsi timbal potlot, bakal dibalekake, nanging ing wektu sing padha, kontrol dicermin - yen driji sampeyan pindhah ngiwa, banjur potlot ditarik ing sisih tengen. Sampeyan uga bisa njupuk ati sing bakal ngidini sampeyan kenek alangan sapisan lan tetep urip. Suwene sampeyan mindhah potlot tanpa ngangkat driji, luwih dhuwur kombo sampeyan, tegese sampeyan bakal nglumpukake poin luwih cepet. Ing wiwitan, ana ... - 4Kacepetan game uga mundhak mboko sithik. Sing ilang mung angry birds. Kaping pisanan, kita ngrancang jeneng game Karan Dash (transliterasi tembung Rusia kanggo potlot yaiku karandash — ha! njaluk?), Nanging mengko kita ganti pikiran lan mapan ing Pencil Dash. Kita nindakake iki amarga punang anggun iki mung bakal dimangerteni dening pamirsa sing nganggo basa Rusia. Kita ngeculake game kasebut sawetara dina kepungkur lan saiki promosi. Ing kene uga, ora ana siji ing tim sing duwe pengalaman. Kita entuk kabeh kawruh babagan promosi game saka macem-macem artikel. We diterbitake informasi bab game ing macem-macem situs web / forum free . Saluran mbayar kita kalebu pariwara ing 4pd, pariwara karo siji blogger, sawetara kiriman ing grup umum ing VKontakte, lan iklan AdMob. Miturut cara, kiriman iki uga minangka bagean saka promosi, mula kanthi ijin saka administrasi situs web, aku kalebu link menyang game ing kene. Sampeyan bisa nemokake game ing Google Play kene . Aku bakal ngucapke matur nuwun yen sampeyan pengin nginstal (Mungkin sampeyan bakal seneng!), Lan yen sampeyan bakal ninggalake rating, Aku janji kanggo jeneng anak sawise sampeyan! :) Ing wiwitan, ana ... - 6
Komentar
  • Popular
  • Anyar
  • lawas
Sampeyan kudu mlebu kanggo ninggalake komentar
Kaca iki durung duwe komentar