java編程簡(jiǎn)單小游戲,JAVA怎么樣寫一個(gè)蘋果小游戲?
為什么要用java寫呢,我想你問(wèn)這個(gè)問(wèn)題的原因是,僅僅是因?yàn)槟阒皇煜ava嗎。java現(xiàn)在已經(jīng)不適合做游戲了。即使是Android。大多數(shù)情況下也是c++,少數(shù)情況下才用java(一般做接口的時(shí)候)。開發(fā)蘋果游戲,一般是c++和oc的結(jié)合。
pyhone能做游戲嘛?
Python可以寫游戲,但不適合。下面我們來(lái)分析一下具體原因。
用錘子能造汽車嗎? 誰(shuí)也沒法說(shuō)不能吧?歷史上也確實(shí)曾經(jīng)有些汽車,是用錘子造出來(lái)的。但一般來(lái)說(shuō),還是用工業(yè)機(jī)器人更合適對(duì)嗎?
比較大型的,使用Python的游戲有兩個(gè),一個(gè)是《EVE》,還有一個(gè)是《文明》。但這僅僅是個(gè)例,沒有廣泛意義。一般來(lái)說(shuō),用來(lái)做游戲的語(yǔ)言,有兩種。一是C++。。一是C#。。
Python理論上,不僅不適合做游戲,而是只要大型的程序,都不適合。只適合寫比較小型的東西,比如一個(gè)計(jì)算器,一個(gè)爬蟲等。
主要有2個(gè)方面,一是速度慢,二是語(yǔ)法缺陷。
也許你一定覺得,Python的語(yǔ)法又干凈,又優(yōu)雅,怎么還有缺陷?但仔細(xì)想想,為什么別的語(yǔ)言沒有這么干凈?沒有這么優(yōu)雅?明明可以直接a=123 干嘛非要寫成 int a=123;呢?難道是其他語(yǔ)言的設(shè)計(jì)者,都有強(qiáng)迫癥嗎?道理很簡(jiǎn)單,有得必有失。如果數(shù)據(jù)類型,只有字符串和數(shù)字,省略掉聲明變量的過(guò)程,當(dāng)然不是問(wèn)題。但只要邏輯一復(fù)雜,情況就完全不同了。。。游戲中,你用C#或C++寫起來(lái),大概會(huì)是這樣。
技能 a=xxxx; 武器 b=xxxx; 角色 c=xxxx; 藥水 d=xxxx; 音樂 e=xxxx;而Python呢?大概是這個(gè)樣子
a=xxxx b=xxxx c=xxxx d=xxxx
如果你的代碼很少,顯然是Python比較方便。但如果你創(chuàng)建幾百個(gè)對(duì)象,代碼超過(guò)1萬(wàn)行。。。寫到幾千行的時(shí)候,遇到一個(gè)叫x的對(duì)象,你還知道它到底是個(gè)啥嗎?是一把武器?還是一瓶藥水?還是一張圖片?一段音頻?一盞燈光?一座房子?不要以為1萬(wàn)行代碼很多。。。。1萬(wàn)行連個(gè)《斗地主》都寫不完。。
用Python寫大程序的感覺就是,當(dāng)你第一天,只寫了50行代碼,創(chuàng)建了3個(gè)類,5個(gè)對(duì)象。你會(huì)覺得太爽了,這絕對(duì)是世界上最好的語(yǔ)言。。。第二天,你又創(chuàng)建了2個(gè)類,5個(gè)對(duì)象的時(shí)候,就覺得有點(diǎn)暈暈的了。第三天,又創(chuàng)建了2個(gè)類之后,你會(huì)發(fā)現(xiàn)自己必須非常仔細(xì)的看一遍注釋,否則就不會(huì)寫了。第四天,你一整天都在看注釋。。。。
這就是動(dòng)態(tài)語(yǔ)言的劣根性。一開始代碼量少,看不出任何缺點(diǎn),各種省事,各種爽。代碼量越多,腦子越亂。一般500行以上,效率就會(huì)被JAVA,C#之類的語(yǔ)言反超。。1000行,就必須要各種加注釋才能看懂了。。2000行,注釋就比代碼多了。。5000行,注釋已經(jīng)完全不管用了,自己根本看不懂自己的代碼,需要準(zhǔn)備棄坑了。
總結(jié)一下,python不是不能開發(fā)游戲,只是并不合適。每種語(yǔ)言都有各自的優(yōu)缺點(diǎn),開發(fā)游戲這一塊或許就是python的缺點(diǎn)吧。
新手學(xué)習(xí)哪種比較易學(xué)的編程?
在手機(jī)游戲流行的當(dāng)下,各類手游層出不窮,占據(jù)中國(guó)流量的半壁江山,各個(gè)游戲公司在手游方面的競(jìng)爭(zhēng)也越發(fā)激烈,急缺游戲開發(fā)人員,對(duì)開發(fā)人員的需求也越來(lái)越高。如果你也想自己制作手游,做起游戲開發(fā)的工作,那么學(xué)習(xí)Java將會(huì)是你不二的選擇!
Java是目前中國(guó)手機(jī)軟件開發(fā)行業(yè)的主流語(yǔ)言之一,也是學(xué)習(xí)的人數(shù)最多的,介于目前中國(guó)流行的基本都是android系統(tǒng),所以手機(jī)游戲的開發(fā)也需要在android的平臺(tái)下開發(fā)。你可以朝這方面學(xué)習(xí),不論你是自學(xué)還是找培訓(xùn)班,學(xué)成后是有很大一片前景的。
學(xué)習(xí)手游制作的大致方向
Android學(xué)習(xí)方向的技能:
1、需要 javaLogic 也就是java的基本邏輯,牢固的Java基礎(chǔ)
2、扎實(shí)的Linux基礎(chǔ)知識(shí)
3、數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)
4、網(wǎng)絡(luò)協(xié)議
游戲方面:
1、精美的圖片、華麗的效果自然離不開flash 圖片處理之類的技術(shù)
2、搞懂游戲算法,比如你制作一款貪吃蛇的手游,要知道怎么讓蛇前進(jìn),怎么才算吃了食物變大。
3、進(jìn)修 java與游戲設(shè)計(jì),必要的話學(xué)點(diǎn)3D設(shè)計(jì)或美術(shù)設(shè)計(jì)。
設(shè)計(jì)模式:
1、在Android系統(tǒng)的框架層當(dāng)中,使用了大量的設(shè)計(jì)模式,如果沒有這個(gè)方面的知識(shí),對(duì)于Android的理解就會(huì)大打折扣。設(shè)計(jì)模式種類之多,全部掌握是不現(xiàn)實(shí)的,必須首先掌握面向?qū)ο蟮幕A(chǔ)設(shè)計(jì)原則。
2、掌握面向?qū)ο蟮幕A(chǔ)設(shè)計(jì)原則的書籍有:
① 《Effective Java》
② 《敏捷軟件開發(fā):原則、模式與實(shí)踐》
服務(wù)器端開發(fā)知識(shí):
1、Java EE
2、PHP,這是另外一門語(yǔ)言,但在我們學(xué)習(xí)Java的同時(shí)學(xué)習(xí),有點(diǎn)得不償失,是否學(xué)習(xí)看你自己)
3、.NET與JavaEE差不多,只不過(guò)需要額外掌握C#,比較麻煩。
4、ruby on rails,簡(jiǎn)潔、優(yōu)雅,幾行代碼就可實(shí)現(xiàn)復(fù)雜的功能,不過(guò)要有Ruby語(yǔ)言知識(shí)基礎(chǔ)。
這些都是Android應(yīng)用程序需的服務(wù)器端支持,掌握這類只是還是有必要的,只不過(guò)關(guān)于服務(wù)器端技術(shù)的種類實(shí)在太多,這邊就列出四個(gè),不過(guò)既然你是學(xué)的Java,還是建議學(xué)習(xí)JavaEE的知識(shí)。
Android開發(fā)的書籍選擇:
① 《精通Android2》
② 《 Android2高級(jí)編程》
兩本書對(duì)安卓開發(fā)的講解都是非常細(xì)致,建議結(jié)合SDK看。
如何用java寫一個(gè)簡(jiǎn)單的猜數(shù)字的游戲?
在eclipse中新建一個(gè)項(xiàng)目Guess,在項(xiàng)目中新建一個(gè)類Guess,步驟較為簡(jiǎn)單,故全部寫入注釋。定義用于存儲(chǔ)隨機(jī)值的變量,玩家猜測(cè)數(shù)字的變量,以及玩家猜測(cè)次數(shù)的變量
如果用戶沒輸對(duì)數(shù)字且猜測(cè)次數(shù)小于10次,持續(xù)執(zhí)行循環(huán)用戶輸入,并提示用戶輸入大小的相關(guān)信息
如果用戶輸入的次數(shù)小于等于10次,且輸入值等于隨機(jī)生成值,則用戶獲勝,否則用戶挑戰(zhàn)失敗
運(yùn)行結(jié)果
JAVA學(xué)會(huì)可以干什么?
首先,當(dāng)前大數(shù)據(jù)領(lǐng)域的開發(fā)崗位確實(shí)比較多,近兩年有不少大數(shù)據(jù)方向的研究生也會(huì)從事大數(shù)據(jù)開發(fā)崗位,而Java語(yǔ)言則是大數(shù)據(jù)開發(fā)人員的常用工具,所以如果要從事大數(shù)據(jù)開發(fā)崗位,可以重點(diǎn)學(xué)習(xí)一下Java語(yǔ)言。
大數(shù)據(jù)開發(fā)有兩大類崗位,不同崗位對(duì)于Java編程能力的要求也并不相同,大數(shù)據(jù)平臺(tái)開發(fā)崗位的要求相對(duì)高一些,而大數(shù)據(jù)應(yīng)用(行業(yè)場(chǎng)景)開發(fā)崗位對(duì)于Java編程的要求并不高。對(duì)于初學(xué)者來(lái)說(shuō),應(yīng)該結(jié)合自身的發(fā)展規(guī)劃來(lái)制定Java的學(xué)習(xí)計(jì)劃。
如果要從事大數(shù)據(jù)應(yīng)用開發(fā)崗位,可以按照J(rèn)ava Web開發(fā)的路線來(lái)制定學(xué)習(xí)規(guī)劃,整體的學(xué)習(xí)內(nèi)容可以分為以下三大部分:
第一:Java面向?qū)ο箝_發(fā)基礎(chǔ)。Java的面向?qū)ο箝_發(fā)基礎(chǔ)可以分為兩大部分,其一是Java的語(yǔ)法基礎(chǔ),包括封裝、繼承、多態(tài)、多線程等內(nèi)容,在學(xué)習(xí)的過(guò)程中要充分理解Java的編程過(guò)程,能夠形成初步的Java編程思想,其二是Java的模式編程,掌握一些經(jīng)典的編程模式能夠促進(jìn)初學(xué)者快速成長(zhǎng),代碼的可用性也會(huì)明顯提升。
第二:JavaWeb開發(fā)基礎(chǔ)。學(xué)習(xí)Java Web開發(fā)主要是提升開發(fā)人員的技術(shù)落地能力,很多大數(shù)據(jù)開發(fā)任務(wù)最終都需要Web形式來(lái)進(jìn)行呈現(xiàn),所以一定要重視Java Web開發(fā)相關(guān)知識(shí)的學(xué)習(xí)。當(dāng)前Spring系列框架在Web開發(fā)領(lǐng)域有廣泛的應(yīng)用,可以從SpringBoot開始學(xué)習(xí)。
第三:大數(shù)據(jù)平臺(tái)接口。學(xué)習(xí)大數(shù)據(jù)開發(fā)一定離不開大數(shù)據(jù)平臺(tái)的支持,所以要在學(xué)習(xí)的過(guò)程中,逐步了解大數(shù)據(jù)平臺(tái)所提供的編程接口,以便于完成一些基于大數(shù)據(jù)平臺(tái)的開發(fā)實(shí)驗(yàn)。
Java程序員轉(zhuǎn)大數(shù)據(jù)職位的學(xué)習(xí)路線圖:
第一步:分布式計(jì)算框架
掌握 hadoop和spark分布式計(jì)算框架,了解文件系統(tǒng)、消息隊(duì)列和Nosql數(shù)據(jù)庫(kù),學(xué)習(xí)相關(guān)組件如hadoop、MR、spark、hive、hbase、redies、kafka等;
第二步:算法和工具
學(xué)習(xí)了解各種數(shù)據(jù)挖掘算法,如分類、聚類、關(guān)聯(lián)規(guī)則、回歸、決策樹、神經(jīng)網(wǎng)絡(luò)等,熟練掌握一門數(shù)據(jù)挖掘編程工具:Python或者Scala。目前主流平臺(tái)和框架已經(jīng)提供了算法庫(kù),如hadoop上的Mahout和spark上的Mllib,你也可以從學(xué)習(xí)這些接口和腳本語(yǔ)言開始學(xué)習(xí)這些算法。
第三步:數(shù)學(xué)
補(bǔ)充數(shù)學(xué)知識(shí):高數(shù)、概率論和線代
第四步:項(xiàng)目實(shí)踐
1、開源項(xiàng)目:tensorflow:Google的開源庫(kù),已經(jīng)有40000多個(gè)star,非常驚人,支持移動(dòng)設(shè)備;
2、參加數(shù)據(jù)競(jìng)賽:Kaggle和國(guó)內(nèi)天池?cái)?shù)據(jù)競(jìng)賽
3、通過(guò)企業(yè)實(shí)習(xí)獲取項(xiàng)目經(jīng)驗(yàn)
如果你僅僅是做大數(shù)據(jù)開發(fā)和運(yùn)維,則可以跳過(guò)第二步和第三步,如果你是側(cè)重于應(yīng)用已有算法進(jìn)行數(shù)據(jù)挖掘,那么第三步也可以先跳過(guò)。
總結(jié):
Java工程師可以更容易理解hadoop的框架和生態(tài),很多大數(shù)據(jù)saas級(jí)產(chǎn)品也是Java開發(fā)的,因此Java基礎(chǔ)是轉(zhuǎn)行大數(shù)據(jù)的一個(gè)很好的起點(diǎn)。但大數(shù)據(jù)是一個(gè)更為寬廣的領(lǐng)域,具有跨界知識(shí)和能力的人才會(huì)更受企業(yè)青睞。隨著人工智能時(shí)代的到來(lái),大數(shù)據(jù)將迎來(lái)黃金發(fā)展的10年,如果你已經(jīng)做好準(zhǔn)備,那么就立即開始行動(dòng)吧!
————————————————
版權(quán)聲明:本文為CSDN博主「Lalalajtyy」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Lalalajtyy/article/details/125204427
以上就是關(guān)于java編程簡(jiǎn)單小游戲和JAVA怎么樣寫一個(gè)蘋果小游戲的相關(guān)問(wèn)題解答,希望對(duì)你有所幫助。