做業要求【https://edu.cnblogs.com/campus/nenu/2018fall/homework/2189】android
1.NABCD模型程序員
選題背景與意義:編程
近年來,屢次傳出關於遊戲影響青少年健康成長,讓遊戲成爲大衆眼中殘害青少年的不良產品,但不可改變的是遊戲業儼然已變成全球最大的娛樂事業。因而,開發一款教育類遊戲引導青少年健康遊戲、快樂成長變得極其重要。本次開發的遊戲《i》就是一款學習編程的教育類安卓手機遊戲。數組
《i》是一款休閒解謎(益智)遊戲,產品經過按部就班的遊戲過程一步步瞭解編程,是一款可讓任何一個無編程經驗的人掌握的編程教學遊戲。在設想時,咱們考慮經過一個個鮮活的故事情節來貫通整個遊戲,用一次次代碼填空的方式來映射遊戲人物i的成長。i是遊戲中的人物也是學習編程的每個人。i是從一無所知開始,靠着一點一滴的積累終學有所成,我(I)亦是如此。i的家庭充滿着歡聲笑語,讓i能夠健康快樂成長學習本身所喜好的編程,這是由於有愛(i與愛爲諧音)。因此,綜合以上兩點咱們將主人公命名爲i。微信
競爭性需求分析的框架——NABCD模型框架
1) N (Need 需求)函數
這款遊戲在設計一方面是爲了下降編程教育的准入門檻,爲廣大人羣提供較爲基礎的編程教育,知足人們想學習編程的想法。另外一方面,咱們但願當一個用戶處於無聊或好奇下載該遊戲後,能經過簡單的編程遊戲讓一個歷來沒有接觸過代碼的人可以在提示和基礎的數學邏輯下通關找到學習編程的興趣,從而開始系統學習編程。學習
2) A (Approach 作法)設計
爲了能更好的完成android手機遊戲的製做,本組採用Java語言進行編寫。由於本組成員在學習編程時最早學習的是c語言,因此咱們將c語言做爲解謎的基礎邏輯。咱們將寫出許多吸引人的小故事串聯出i的一輩子,讓玩家有興趣玩下去。i的一輩子也是不少人一輩子的縮影,從呱呱墜地到懸車之年,從對編程一無所知到了如指掌。在遊戲設計上,咱們會採用許多較爲廣泛的例子引發玩家共鳴。3d
3) B (Benefit 好處)
該遊戲能夠在玩遊戲消磨時光的同時還能夠學習到較爲基礎的編程知識,這種征服新領域的過程能夠極大的增長玩家的成就感,找到學習編程的樂趣所在。
4) C (Competitors 競爭)
與該款遊戲在乎義上較爲接近的遊戲有《極客戰記》,在人物的設計與遊戲流暢度上,咱們沒法與其媲美。但在玩該遊戲是發如今不少方面咱們優於此遊戲。首先,《極客戰記》的提示過於全面,致使並不須要真正學習語言只要按照提示即可以不求甚解的過關。
其次,咱們再設計此款遊戲時,在通關設計的時長方面預估是少於60分鐘,而《極客戰記》所設計的關卡有300多關致使很容易在中途選擇放棄學習編程。最後,與《極客戰記》最大的不一樣是本組設計的此款遊戲是免費遊戲《極客戰記》試圖用遊戲學習編程,然而中國的現狀是許多人並不知道本身是否喜歡編程,因此咱們不會教用戶編程,而是讓用戶對代碼有一些瞭解。
5) D (Delivery 交付)
在推廣方面,首先咱們能夠利用本身的社交平臺進行推廣如微信、百度貼吧、微博等。其次,咱們能夠分發傳單,傳單上印有爲該遊戲製做二維碼,進行下載試玩參與抽獎等活動。
2. 視頻腳本
視頻以對話的方式配音
(此處2人對話)
第一部分
問題1:你接觸過代碼嗎?
有or沒有
問題2:你以爲代碼是什麼樣的?枯燥、複雜、超難等等
(若是有一款遊戲是關於程序員的養成你願意嘗試嗎?)
願意or不肯意
不少人對於計算機專業知識是十分畏懼的,尤爲是寫代碼部分。但其實初級的代碼是很是簡單的。
因而,咱們作了一個C語言題庫以及教程,咱們但願用戶可以在一小時內學習並完成全部問題,好比賦值、循環和判斷and so on。正所謂在作中學
那麼,咱們該如何吸引用戶去嘗試呢?
很簡單,若是咱們將這個程序以故事的形式展開,那麼它就不只僅是一個題庫了,從而演變成爲一款誘人的遊戲了。
-----------------------------------以上爲開場白
第二部分:講故事
從前有一我的,名字叫做「i」。int i,表明他降臨到這個世界,i++,表明他長大了一歲。他的父母"a"和「b」對他寄與厚望,i=a+b,是i從他父母學習過來的能力與思想(俗稱繼承)。後來,他的弟弟int j;出生了
……
多年之後,他遇到了本身的初戀int l;for(i=6;i++)是他在學校裏發生一次又一次重複的事情,而if, else,是他在成長路上一次又一次的選擇。從i,到I,從int,到class,他是一個怎樣的人?他經歷過什麼?……就要須要你們來揭曉啦...
------------------------------
第三部分:展現做業
進入遊戲、知識點、問題、故事圖片分別展現+解說
(首先,咱們進去這樣一個界面,而後,彈出一個界面,用戶根據提示完成任務,若是用戶作錯了會怎麼樣,作對了彈出什麼,中途退出了怎麼辦等等)
咱們要用到的知識有......
(賦值,運算,循環,條件,多種數據類型,結構體,類,函數等)
咱們做業的優勢是......
難度低、遊戲時間短因此能快速解鎖所有劇情,揭曉謎底
咱們的目的是......
讓C語言再也不枯燥乏味,讓編程成爲一種興趣,寫代碼這件事不再是敬而遠之了
3. 基本關卡
//咱們的程序是爲初學者研發的,因此要麼咱們的問題足夠簡單,要麼咱們的提示足夠複雜。
類型A:基本關卡:這是一類最簡單的關卡,根據提示便可完成,大部分關卡都是這種。
這種類型能夠出很多題
///////////文字都是我隨便配的,我寫做能力差,找個厲害的來。///////////////
提示:
變量聲明 :向程序代表變量的類型和名字。int i :i是變量名,int 表明整數。
Int i;
i=0;
問:
i=?
「我出生了,個人名字叫i」配圖:嬰兒
——————————————————
運算符:「+」加、「-」減、「*」乘、「/」除、"="賦值。
小學數學。
int i;
i=0;
i=i+1;
i=?
「哈,今天我1歲啦」
——————————————————
int i;
int a;
int b;
a=27;
b=25;
i=a+b;
i=?
配圖:一張一家三口的圖片
「我爸爸是a,媽媽是b,我是他們的兒子,由於爸爸很是愛媽媽,因此個人名字就是i love b的i(諧音:愛),我是爸爸媽媽的寶貝」
——————————————————
i++:一個縮寫。i=i+1的縮寫。程序員喜歡這個!
int i;
i=0;
i=i+1;
i++;
int j;
「我在一每天長大,現現在,我已經2歲了,今年,爸爸媽媽又給我生了個弟弟,他叫j。這是我給他取的名字」
——————————————————
=表明着賦值運算,==才表明着相等。3-2==1是一個「真」表達式,3==2則是「假」的。
int i=12345;
int j=12345;
i==j 是一個?的表達式
配圖:倆小人踢足球
「我愛踢足球,弟弟也愛踢足球,天天放學回家寫完做業以後咱們就一塊兒出去踢球,這是我和我弟弟共同的愛好」
——————————————————
「!=」不相等
int i=12345;
int j=23857;
i!=j 是一個?的表達式
「雖然他是個人親弟弟,但咱們也有一些不一樣,好比他比較內向,而我比較外向,他學習好,而我學習很差」
——————————————————
if(){}else{}判斷,若是()爲真執行if{},不然執行else{}
int i;
int m;
m=4;
if (m<5){
i=3;
}
else {
i=7;
}
「快樂的時光轉瞬即逝,我即將開始上幼兒園了,又到了面臨選擇的時候了,去哪一個幼兒園呢?爸爸媽媽讓我本身選,有的離家近但師資力量通常,有的離家遠但師資力量好,which one?」
——————————————————
while:while(){}表明着循環,只要()裏是真的,就會一直執行{ },直到假爲止。
int i;
i=2;
while(i<6){
i++;
}
i=?
"今天好開心呀,有蛋糕吃啦!由於我今天6歲了!快和我說生日快樂!"
————————————————————
char:char表明定義了一個字符。好比字母。對於m=‘m’來講,左面是變量,右面是值。
char m;
m=‘b’;
m=?
配圖:書。最好是三張圖片切換:b-book-書。
"今天是我步入小學一年級的第一天,媽媽告訴這是教科書,上學必定不能忘帶!忘帶老師會打屁股的!"
_____________________________________________
ASCii碼 :明明是字母,倒是用數字的形式存在計算機裏。因此咱們可讓一個字母變成另外一個字母‘a’+1==‘b’,‘b’+1==‘c’神奇吧?
char i='p';
i=i+1;
i=?
「q-question-好奇心」
配圖:音符
今天英語課老師教咱們唱英文字母歌,我學會了呢,媽媽,我唱給你聽:a.b.c.d.e.f.g……
——————————————————
for
「枯燥的重複」
媽媽,我再給你唱一遍……一會爸爸回來了,我還要給爸爸唱
——————————————————
main()
「轉眼間,我已經小學三年級了,從這一刻開始,我將面臨着寫不完的句子,算不完的數,人生啊,oh my god」
_______________________________________
int play(int i){
}
main(){
play();
}
__________________________________
後面還有數組、字符串、各類函數、結構體、類什麼的
好比abs函數:「不管怎樣我都必須走上正軌。」
sin函數:「你是否想要試着換一個角度?」
————————————————————
4.視頻截圖
5.初始界面設計
1)logo
2)開始界面
3)總關卡界面
4)答題界面
5)成功界面
6)失敗界面