freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

手機(jī)五子棋游戲設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-08-23 10:49 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 rivate ChessBoard cBoard。 public static int screenWidth,screenHeight。 public Toast toast。 private Button button1,button2,button3,button4。 private static String TAG=tag。 Dialog dialog,dialog1,dialog2,dialog3。private static final int READY = 1。// 已準(zhǔn)備好,可開局 private static final int PLAYER_TWO_LOST = 3。 // 以玩家2失敗結(jié)束 private static final int PLAYER_ONE_LOST = 4。 // 以玩家1失敗結(jié)束 public void onCreate(Bundle savedInstanceState){ (savedInstanceState)。 setContentView()。 setcBoard((ChessBoard) findViewById())。 ((TextView)findViewById())。 DisplayMetrics dMetrics=new DisplayMetrics()。 getWindowManager().getDefaultDisplay().getMetrics(dMetrics)。 screenWidth=。 screenHeight=。 (TAG, width=+screenWidth+ height=+screenHeight)。 button1=(Button)findViewById()。 button2=(Button)findViewById()。 button3=(Button)findViewById()。 button4=(Button)findViewById()。 (new OnClickListener(){ public void onClick(View v){ ()。 } })。 (new OnClickListener(){ public void onClick(View v){ if (()) { if (()==1) { (您提出悔棋)。 (cBoard)。 }else { if (()) { ()。 ()。 }else { ()。 ()。 } } } } })。 (new OnClickListener(){ public void onClick(View v){ if (()) { ()。 } } })。 (new OnClickListener(){ public void onClick(View v){ ()。 } })。 dialog = new () .setTitle(退出游戲提示)//設(shè)置標(biāo)題 .setMessage(是否退出游戲界面)//設(shè)置內(nèi)容 .setPositiveButton(確定,//設(shè)置確定按鈕 new () { public void onClick(DialogInterface dialog, int whichButton) { Intent intent=new Intent()。 (, )。 startActivity(intent)。 ()。 } }).setNeutralButton(取消, new () { public void onClick(DialogInterface dialog, int whichButton) { } }).create()。 dialog1 = new () .setTitle(悔棋提示)//設(shè)置標(biāo)題 .setMessage(白棋玩家提出悔棋,是否同意對(duì)方悔棋)//設(shè)置內(nèi)容 .setPositiveButton(同意,//設(shè)置確定按鈕 new () { public void onClick(DialogInterface dialog, int whichButton) { ()。 Point point =().get(().size() 1)。 ().remove(point)。 (point)。 (cBoard)。 } }).setNeutralButton(取消, new () { public void onClick(DialogInterface dialog, int whichButton) { } }).create()。 dialog2 = new () .setTitle(悔棋提示)//設(shè)置標(biāo)題 .setMessage(黑棋玩家提出悔棋,是否同意對(duì)方悔棋)//設(shè)置內(nèi)容 .setPositiveButton(同意,//設(shè)置確定按鈕 new () { public void onClick(DialogInterface dialog, int whichButton) { ()。 Point point =().get(().size() 1)。 ().remove(point)。 (point)。 (cBoard)。 } }).setNeutralButton(取消, new () { public void onClick(DialogInterface dialog, int whichButton) { } }).create()。 dialog3 = new () .setTitle(認(rèn)輸提示)//設(shè)置標(biāo)題 .setMessage(您已提出認(rèn)輸,確定嗎)//設(shè)置內(nèi)容 .setPositiveButton(確定,//設(shè)置確定按鈕 new () { public void onClick(DialogInterface dialog, int whichButton) { if (()) { (PLAYER_TWO_LOST)。 (READY)。 (cBoard)。 }else if (()) { (PLAYER_ONE_LOST)。 (READY)。 (cBoard)。 } } }).setNeutralButton(取消, new () { public void onClick(DialogInterface dialog, int whichButton) { } }).create()。 } public void setcBoard(ChessBoard cBoard) { = cBoard。 } public ChessBoard getcBoard() { return cBoard。 } //顯示Toast內(nèi)容 public void DisplayToast(int i){ toast=(this, i, )。 (, 0, 0)。 ()。 }} 棋盤類棋盤類是本次設(shè)計(jì)的一個(gè)最重要的一個(gè)類,進(jìn)入游戲界面后,游戲狀態(tài)將處于就緒狀態(tài),游戲界面最上方的信息提示框?qū)?huì)提示玩家點(diǎn)擊開始按鈕開始游戲,代表游戲雙方的黑白棋缽圖片也會(huì)同時(shí)出現(xiàn)在棋盤上方,在棋盤的相應(yīng)位置畫好十五條橫線和十五條豎線。點(diǎn)擊開始按鈕后,游戲?qū)⑦M(jìn)入游戲狀態(tài),首先初始化棋盤,清空游戲雙方的棋子。然后輪到人類玩家落子,由于Android手機(jī)一般都采用的是觸摸屏,因此游戲過(guò)程人類玩家也會(huì)通過(guò)觸屏落子,人類玩家落子的后,棋盤類將會(huì)計(jì)算人類玩家觸摸的點(diǎn)的坐標(biāo),并判斷該位置是否已經(jīng)有棋子,如果沒有,棋盤類將會(huì)在該位置上畫上相應(yīng)的棋子。否則,則不予落子。畫完相應(yīng)的棋子之后判斷人類玩家是否已經(jīng)贏了,如果贏了,則游戲結(jié)束,提示本輪游戲中人類玩家獲勝。如果人類玩家還沒有贏則輪到玩家2落子。如果人類玩家選擇的是人機(jī)大戰(zhàn)模式,棋盤類將會(huì)設(shè)置玩家2為手機(jī)玩家。調(diào)用人工智能算法計(jì)算出最佳落子的點(diǎn)并在相應(yīng)的位置畫上棋子,然后判斷手機(jī)玩家是否贏了。如果手機(jī)玩家贏了,則游戲結(jié)束,否則游戲繼續(xù)。如果人類玩家選擇的是人人大戰(zhàn)模式。則棋盤類將會(huì)設(shè)置玩家2也為人類玩家。然后根據(jù)人類玩家2所落子的位置進(jìn)行判斷是否可以在該點(diǎn)落子。人類玩家2落子之后判斷人類玩家2是否贏了。如果贏了游戲結(jié)束,否則游戲繼續(xù)。其主要的流程圖為:進(jìn)入游戲界面初始化游戲界面,加載相應(yīng)的控件。點(diǎn)擊開始按鈕,進(jìn)入游戲狀態(tài),初始化棋盤,清空游戲雙方的棋子,玩家1落子如果選擇的是人機(jī)大戰(zhàn)模式,則設(shè)置玩家2為手機(jī)玩家判斷玩家1落的子是否合法即該點(diǎn)是否已經(jīng)被占有如果該點(diǎn)非法,則不予落子。如果該點(diǎn)是合法的,則在該點(diǎn)落子并判斷玩家1是否贏了如果玩家1贏了,則游戲以玩家1勝利結(jié)束如果玩家1還沒贏則輪到玩家2落子如果選擇的是人人大戰(zhàn)模式,則玩家2也為人類玩家判斷玩家2落的子是否合法即該點(diǎn)是否已經(jīng)被占有如果該點(diǎn)非法,則不予落子。如果該點(diǎn)是合法的,則在該點(diǎn)落子并判斷玩家2是否贏了如果玩家2贏了,則游戲以玩家2勝利結(jié)束如果玩家2還沒贏則輪到玩家1落子圖7 棋盤類設(shè)計(jì)流程圖棋盤類的主要代碼為:package 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。//棋盤類public class ChessBoard extends View { // 游戲狀態(tài)常量: private static final int READY = 1。// 已準(zhǔn)備好,可開局 public static final int RUNNING = 2。 // 已開局 private static final int PLAYER_TWO_LOST = 3。 // 以玩家2失敗結(jié)束 private static final int PLAYER_ONE_LOST = 4。 // 以玩家1失敗結(jié)束 private int whoRun = 1。 private int currentMode = READY。 // 當(dāng)前狀態(tài),默認(rèn)為可準(zhǔn)備狀態(tài) private final Paint paint = new Paint()。// 畫筆對(duì)象 private Bitmap board = null。// 棋盤圖片 private Bitmap whitechess = null。 // 黑色棋缽圖片 private Bitmap blackchess = null。 // 白色棋缽圖片 private Bit
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1