ዝርዝር ሁኔታ:
- ደረጃ 1: ቁሳቁሶች
- ደረጃ 2 - ፕሮግራሙን ይወቁ - ቦርድ
- ደረጃ 3 - ፕሮግራሙን ይወቁ - ሰድር
- ደረጃ 4 - ፕሮግራሙን ይወቁ - ጨዋታ
- ደረጃ 5 አስፈላጊ ዘዴዎች - እንቅስቃሴ
ቪዲዮ: የእራስዎን ፕሮግራም 2048 ጨዋታ ወ/ጃቫ !: 8 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:29
በ PranP1My (ያልተሟላ) SiteFollow ተጨማሪ በደራሲው
እኔ ጨዋታውን እወዳለሁ 2048. እና ስለዚህ የራሴን ስሪት ፕሮግራም ለማድረግ ወሰንኩ።
እሱ ከእውነተኛው ጨዋታ ጋር በጣም ይመሳሰላል ፣ ግን እሱ ራሱ ማቀናበር በፈለግኩበት ጊዜ የፈለግኩትን ለመለወጥ ነፃነት ይሰጠኛል። ከተለመደው 4x4 ይልቅ 5x5 ጨዋታ ከፈለግሁ ፣ ‹የቦርድ› ገንቢውን በመጠቀም ቀላል ለውጥ እንድፈቅድልኝ ይፈቅድልኛል። በዘፈቀደ ሳይሆን ለተጫዋቹ በጣም የተወሳሰበ በሚያደርጋቸው ቦታዎች ላይ ቁርጥራጮችን በመጨመር ጨዋታውን የበለጠ ከባድ ማድረግ እፈልጋለሁ በሉ። ቀለል ያለ ስልተ ቀመር በመጠቀም እኔ ያንን ማድረግ እችላለሁ። በዚህ አስተማሪ ውስጥ እነዚህን ሁሉ ማሻሻያዎች ባልሸፍንም ፣ እኔ ስሄድ ብዙ ለመጨመር እቅድ አለኝ።
ለአሁን ግን የ 2048 ን የተለመደ ጨዋታዎን እናቀርባለን።
እንጀምር!
(የጎን ማስታወሻ - ይህ አስተማሪ የፕሮግራም መጠነኛ ዕውቀትን ይጠይቃል - በተለይ ከጃቫ ጋር)
ደረጃ 1: ቁሳቁሶች
የፕሮግራም አቀራረብ ብቻ ስለሆነ ለዚህ ፕሮጀክት ብዙ አያስፈልግዎትም።
ቁሳቁሶች
- ላፕቶፕ
- ግርዶሽ (ወይም የመረጡት ማንኛውም IDE)
አዎን. ይሀው ነው.
ደረጃ 2 - ፕሮግራሙን ይወቁ - ቦርድ
በ GitHub ላይ ሁሉንም ኮዴን ሰቅዬያለሁ - እዚህ ይመልከቱት
ጨዋታውን በ 3 ክፍሎች ከፍዬዋለሁ - ቦርድ ፣ ሰድር እና ጨዋታ።
ቦርድ ፦
መግለጫ - የቦርዱ ክፍል ከጨዋታ ሰሌዳ ጋር ይገናኛል ፣ የ ‹ሰድር› ንጥረ ነገሮችን ድርድር ያዘጋጃል ፣ የአሁኑን ውጤት እና ከፍተኛውን ሰድር ያግኙ ፣ እና ድርድርን በሕብረቁምፊ ውስጥ ያስቀምጣል (በኋላ ላይ በ ‹ጨዋታ› ውስጥ ጥቅም ላይ ይውላል)። አብዛኛው አመክንዮ እዚህ አለ ፣ ክፍሉ በዘፈቀደ ቦታዎች 2 እና 4 ን ለመራባት ዘዴዎችን ይሰጣል ፣ ወደ ላይ ፣ ወደ ታች ፣ ወደ ግራ እና ወደ ቀኝ መንቀሳቀስ እና ጨዋታው ሲያልቅ ተጫዋቾችን ማሳወቅ።
ግንበኞች:
/ * ለቦርዱ ነባሪ ገንቢ - 4x4 ማትሪክስ ያዘጋጃል */
የህዝብ ቦርድ () {…}
/ * ለቦርዱ ገንቢ - ከተጠቀሰው የፍርግርግ መጠን ጋር ማትሪክስ ያዘጋጃል */
የሕዝብ ቦርድ (int grids) {…}
ዘዴዎች:
/ * ቦርዱን የሚመልስ የጌተር ዘዴ */
ይፋዊ ሰድር getBoard () {…}
/ * ውጤቱን የሚመልስ የጌተር ዘዴ */
public int getScore () {…}
/ * በቦርዱ ላይ ያለውን ከፍተኛ ሰድር አግኝቶ ይመልሰዋል */
public int getHighTile () {…}
/ * ሰሌዳውን በኮንሶል ላይ ያትማል - ለሙከራ ዓላማዎች */
ይፋዊ ባዶ ህትመት () {…}
/ * ሰሌዳውን እንደ ሕብረቁምፊ ይመልሳል - በ GUI ውስጥ ጥቅም ላይ ውሏል */
public String toString () {…}
/ * እንቅስቃሴ በሚደረግበት ጊዜ 2 (ወይም 4) ባዶ ቦታ ላይ ይወልዳል/
የህዝብ ባዶ ቦታ () {…}
/ * ቦርዱ ሙሉ በሙሉ የጠቆረ መሆኑን እና እሱ ካለ ተጫዋቾቹን እንደገና እንዲጀምሩ ያደርጋቸዋል */
ይፋዊ ቡሊያን ጥቁር መውጫ () {…}
/ * ጨዋታው ካለቀ ለማየት ይፈትሻል - ቦርዱ ሲጨልም እና አንዳቸውም ሰቆች ማዋሃድ አይችሉም/
ይፋዊ ቡሊያን ጨዋታ () {…}
/ * 'W' ወይም ወደ ላይ ቀስት ሲጫን ተጠርቷል - በቦርዱ ላይ ላለው እያንዳንዱ ሰድር '' '' '' '/' '' '' '' '' '' '
የህዝብ ባዶነት () {…}
/ * የ ‹ወይም› ቀስት ሲጫን ተጠርቷል - በቦርዱ ላይ ላሉት እያንዳንዱ ሰድር ‹ቁልቁል› */የሕዝብ ባዶነት () {…}
/ * 'D' ወይም የቀስት ቀስት ሲጫን ተጠርቷል - በቦርዱ ላይ ላሉት እያንዳንዱ ንጣፍ 'horizontalMove' ን 'ግቤት' * */የህዝብ ባዶ መብት () {…}
/ * 'ሀ' ወይም የግራ ቀስት ሲጫን ተጠርቷል - በቦርዱ ላይ ላሉት እያንዳንዱ ሰድር 'ግራ' * '' ''/'' ''
የህዝብ ባዶ ባዶ () {…}
/* የሁለት ሰድር እሴቶችን በአንድነት ያወዳድራል እና ተመሳሳይ ከሆኑ ወይም አንዱ ከ 0 (ተራ ሰድር) ጋር እኩል ከሆነ - እሴቶቻቸው ተጨምረዋል (የምናወዳድራቸው ሰቆች ሁለት የተለያዩ ሰቆች እና ወደ ተገቢው አቅጣጫ እየሄዱ ከሆነ) - በተከታታይ ረድፍ ውስጥ//
ይፋዊ ባዶ አግድም አግድም (int row ፣ int col ፣ String direction) {…}
/* የሁለት ሰድር እሴቶችን በአንድነት ያወዳድራል እና ተመሳሳይ ከሆኑ ወይም አንዱ ከ 0 (ተራ ሰድር) ጋር እኩል ከሆነ - እሴቶቻቸው ተጨምረዋል (የምናወዳድራቸው ሰቆች ሁለት የተለያዩ ሰቆች እና ወደ ተገቢው አቅጣጫ እየሄዱ ከሆነ) - በአዕማዱ ውስጥ */ በተደጋጋሚ ይንቀሳቀሳል
ይፋዊ ባዶነት verticalMove (int ረድፍ ፣ int col ፣ String direction) {…}
አዎ ፣ ያ ብዙ ዘዴዎች ነው - ግን አይጨነቁ ፣ አብዛኛዎቹ ለመረዳት በጣም ቀላል ናቸው። በዚያ ላይ የ ‹ቦርድ› ክፍል በጣም የተወሳሰበ ነው ፣ ስለዚህ ከዚህ በኋላ ሁሉም ነገር በአንፃራዊነት ቀላል ይሆናል።
ደረጃ 3 - ፕሮግራሙን ይወቁ - ሰድር
ሰድር
መግለጫ - የሰድር ክፍል ከግለሰቦች ሰቆች ጋር ይሠራል ፣ እና ከሁሉም ክፍሎች በጣም ትንሹ ነው። እያንዳንዱ ሰድር ኢንቲጀር እሴት እና ቀለም አለው። እሴት 0 (ነባሪ) ወይም እሴት #ን የሚፈጥሩ ሁለት ገንቢዎች አሉት። ዘዴዎቹ በአብዛኛው እራሳቸውን የሚገልጹ ናቸው ፣ በ ‹getter› እና ‹setter› ዘዴዎች ከጠቅላላው ብዙ።
ግንበኞች:
/ * በ 0 */እሴት መሰረታዊ ሰድር ይገነባል
ይፋዊ ሰድር () {…}
/ * የቁጥር እሴት ያለው ሰድር ይገነባል */
ይፋዊ ሰድር (int ቁጥር) {…}
ዘዴዎች:
/ * የሰድር ዋጋን ያገኛል */
public int getValue () {…}
/ * የሰድር ዋጋን ያዘጋጃል - ሁለት ንጣፎችን አንድ ላይ ሲጨምሩ ጥቅም ላይ ይውላል */
የሕዝብ ባዶነት ስብስብ እሴት (int እሴት) {…}
/ * ሰድርን እንደ ሕብረቁምፊ ይወክላል - በ GUI ውስጥ ጥቅም ላይ ውሏል */
public String toString () {…}
/ * የሰድርውን ቀለም በእሴቱ መሠረት ያዘጋጃል */
የህዝብ ባዶነት setColor () {…}
/ * የሰድርን ቀለም ያገኛል */
የህዝብ ባዶነት getColor () {…}
ደረጃ 4 - ፕሮግራሙን ይወቁ - ጨዋታ
ጨዋታ
መግለጫ -የጨዋታ ክፍሉ ዋናው ዘዴ ፣ አብዛኛዎቹ የ GUI ዘዴዎች እና የቁልፍ ግንኙነቶች። እሱ የሰድር እና የቦርድ ትምህርቶችን ሁለቱንም ይወስዳል ፣ እና አብረው እንዲሠሩ ያስችላቸዋል።
ግንበኞች:
የለም
ዘዴዎች:
/ * GUI ን በተገቢው መጠኖች ያዋቅራል እና ቁልፍ አድማጭ ያክላል */
ይፋዊ የማይንቀሳቀስ ባዶነት ስብስብUpGUI () {…}
/ * ዋሽ ወይም የቀስት ቁልፎች ተጭነው ተገቢ እርምጃዎችን እንደሚፈፅሙ ለማየት ይፈትሻል - በእያንዳንዱ እንቅስቃሴ * JFrame ን ያዘምናል */
የህዝብ ባዶነት ቁልፍ ተጭኗል (KeyEvent e) {…}
/ * GUI ን በተከታታይ ሕብረቁምፊዎች ፣ ሰሌዳ ፣ ሰቆች ይቀባል እና ጨዋታው ሲያልቅ እንደገና መቀባቱን ያረጋግጣል */
የህዝብ ባዶነት ቀለም (ግራፊክስ ሰ) {…}
/ * አንድ ግለሰብ ሰድር ይሳላል - ከቀለም ዘዴ ተጠርቷል */
ይፋዊ ባዶነት ስዕሎች (ግራፊክስ g ፣ የሰድር ሰድር ፣ int x ፣ int y) {…}
/ * ዋናው ዘዴ - GUI ን ያዋቅራል እና ጨዋታውን ይጀምራል/
ይፋዊ የማይንቀሳቀስ ባዶ ባዶ (ሕብረቁምፊ args) {…}
ደረጃ 5 አስፈላጊ ዘዴዎች - እንቅስቃሴ
የእንቅስቃሴ ዘዴዎች ለመረዳት በጣም አስፈላጊ ናቸው ፣ ግን መልካም ዜናው አንዴ አቀባዊ እንቅስቃሴዎችን ከተረዱ በኋላ ያንን ግንዛቤ ወደ አግድም እንቅስቃሴዎች መተግበር ይችላሉ። እንደ እውነቱ ከሆነ ፣ ሦስቱ አቀባዊ የመንቀሳቀስ ዘዴዎች ልክ እንደ ሦስቱ አግድም ዘዴ እንቅስቃሴዎች አንድ ናቸው ፣ አንደኛው በመደዳዎች ላይ ሌላኛው በአምዶች ላይ ካልተዘዋወረ በስተቀር። በዚህ ምክንያት ፣ በአቀባዊ የመንቀሳቀስ ዘዴዎች ላይ ብቻ እናተኩር።
የግል ባዶ ቀጥ ያለ አንቀሳቅስ (int ረድፍ ፣ int col ፣ String direction)
{የሰድር መጀመሪያ = ሰሌዳ [ድንበር] [col]; የሰድር ማወዳደር = ሰሌዳ [ረድፍ] [col]; ከሆነ (initial.getValue () == 0 || initial.getValue () == Compa.getValue ()) {ከሆነ (ረድፍ> ድንበር || (direction.equals ("down") && (ረድፍ <border))) {int addScore = initial.getValue () + Compa.getValue (); ከሆነ (initial.getValue ()! = 0) {score += addScore; } initial.setValue (addScore); Compa.setValue (0); }} ሌላ {ከሆነ (direction.equals ("down")) {border--; } ሌላ {ድንበር ++; } verticalMove (ረድፍ ፣ ኮል ፣ አቅጣጫ); }}
ከላይ የተጠቀሰው ዘዴ ፣ አቀባዊ ሞቭ ፣ በ ‹ላይ› እና ‹ታች› ዘዴዎች ይጠራል። የ “ወደላይ” ዘዴን እንመልከት።
የህዝብ ባዶነት ()
{ለ (int i = 0; i <grids; i ++) {border = 0; ለ (int j = 0; j <grids; j ++) {ከሆነ (ሰሌዳ [j] .getValue ()! = 0) {ከሆነ (ድንበር <= j) {verticalMove (j ፣ i ፣ “up”); }}}}}
ይህ ዘዴ በጠቅላላው ቦርድ ውስጥ ያልፋል እና ልኬቱ “ወደ ላይ” ላለው ለእያንዳንዱ ንጣፍ verticalMove ብሎ ይጠራል። verticalMove ከዚያ ሰቅሉን በአቀማመጥ 'j' እና 'i' ላይ ካለው ንጣፍ 'ድንበር' እና 'i' ጋር ያወዳድራል። ሁለቱ እኩል ከሆኑ ተጣምረዋል። እነሱ ከሌሉ ፣ የድንበሩ ሰድር በ 1 ጨምሯል (በቦታው ላይ ያለው መመዘኛ ‹ከፍ› ስለሆነ) ፣ እና አቀባዊ ሞቭ እንደገና ተጠርቷል።
የሚመከር:
የእራስዎን ተንቀሳቃሽ የሬትሮ ጨዋታ ኮንሶል ያድርጉ! ይህ ደግሞ የ Win10 ጡባዊ ነው !: 6 ደረጃዎች (ከስዕሎች ጋር)
የእራስዎን ተንቀሳቃሽ የሬትሮ ጨዋታ ኮንሶል ያድርጉ! …… which is also a Win10 Tablet !: በዚህ ፕሮጀክት ውስጥ እንደ ዊንዶውስ 10 ጡባዊ ሆኖ ሊያገለግል የሚችል ተንቀሳቃሽ የሬትሮ ጨዋታ ኮንሶል እንዴት እንደሚፈጥሩ አሳያችኋለሁ። እሱም አንድ 7 "; ኤችዲኤምአይ ኤልሲዲ ከማያ ገጽ ማያ ገጽ ፣ ከላቴፓንዳ ኤስቢሲ ፣ ከዩኤስቢ ዓይነት ሲ ፒዲ ኃይል ፒሲቢ እና ጥቂት ተጨማሪ ማሟያዎች
ስምዖን ጨዋታ - አስደሳች ጨዋታ! 5 ደረጃዎች
ስምዖን ጨዋታ - አስደሳች ጨዋታ! አንጎላችን ለማሠልጠን ጊዜው አሁን ነው አይደል? ከእነዚያ አሰልቺ እና ትርጉም የለሽ ጨዋታዎች በተጨማሪ ሲሞን ጨዋታ የሚባል ጨዋታ አለ
የአሩዱዲኖ የ LED ጨዋታ ፈጣን የሁለት ተጫዋች ጨዋታ ጠቅ ማድረግ 8 ደረጃዎች
የአሩዱዲኖ የ LED ጨዋታ ፈጣን የሁለት ተጫዋች ጨዋታን ጠቅ ማድረግ - ይህ ፕሮጀክት በ @HassonAlkeim ተመስጦ ነው። በጥልቀት ለመመልከት ፈቃደኛ ከሆኑ አገናኝ እዚህ ማየት ይችላሉ https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. ይህ ጨዋታ የተሻሻለ የአልኬም ስሪት ነው። እሱ ነው
በጃቫ ውስጥ የእራስዎን የቲክ ታክ ጣት ጨዋታ ይፃፉ 6 ደረጃዎች
በጃቫ ውስጥ የእራስዎን የቲክ ታክ ጣት ጨዋታ ይፃፉ - ሁላችሁም ስለ ‹Tic Tic Toe› ክላሲክ ጨዋታ እንደምታውቁ እርግጠኛ ነኝ። ከአንደኛ ደረጃ ትምህርት ቤት ዓመታት ጀምሮ ቲክ ታክ ጣት ከጓደኞቼ ጋር የምጫወትበት ተወዳጅ ጨዋታ ነበር። በጨዋታው ቀላልነት ሁል ጊዜ ይማርከኝ ነበር። በአዲሱ ዓመት ፣ የእኔ
KerbalController ለሮኬት ጨዋታ የከርባል የጠፈር ፕሮግራም ብጁ የቁጥጥር ፓነል 11 ደረጃዎች (ከስዕሎች ጋር)
KerbalController: ለሮኬት ጨዋታ የከርባል የጠፈር መርሃ ግብር ብጁ የቁጥጥር ፓነል - KerbalController ለምን ይገነባል? ደህና ፣ ምክንያቱም አዝራሮችን መግፋት እና አካላዊ መቀያየሪያዎችን መወርወር መዳፊትዎን ጠቅ ከማድረግ የበለጠ እጅግ የላቀ ስሜት ስለሚሰማዎት። በተለይም ትልቅ ቀይ የደህንነት መቀየሪያ በሚሆንበት ጊዜ መጀመሪያ ሽፋኑን መክፈት ያለብዎት ፣ ማብሪያ / ማጥፊያውን ጠቅ ያድርጉ