程式設計期末報告 400415032陳益群 400415012黃士展.

Slides:



Advertisements
Similar presentations
迪士尼公主裙衫变化记. 《白雪公主和七个小孩人》 《白雪公主和七个小矮人》,是世界电影史上第一部长动 画片,也是迪士尼的第一部。《白雪公主》不仅为迪斯尼 带来了第一尊奥斯卡小人,更是拯救迪斯尼于水火的贵 人 —— 在经济大萧条的 1937 年的美国,《白雪公主》为迪 斯尼赚到了 850 万美元,这约等于现在的数亿美元!
Advertisements

1. 一. 人口分布  全球約十分之九的人口集中在北半球。  三大人口稠密區:亞洲東南半壁、歐洲、北美洲東部  季風亞洲人口占全球一半。  人口稀少區 太乾-北非撒哈拉沙漠 太濕-亞馬孫、剛果雨林 太冷-西伯利亞、南極 崎嶇-東非、青藏高原 2 台灣人口分佈狀況 (04 : 43) p.83.
传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
LED CUBE 預期規劃.
計算機程式語言實習課.
学党章党规、学系列讲话,做合格党员 学习教育
人工智慧 - 五子棋 報告人:張任頡 班級:碩研資工二甲.
AI人工智慧期末報告 -五子棋 班級:資工四乙 學號:498G0112 姓名:陳銘彥.
嵌入式網路程式設計 期中專題 微算機原理及應用實習.
中国文学 王馨.
项目申报及投资推进工作实务 更多模板、视频教程: 兰溪市发展和改革局 2013年9月 1.
珍惜时间 提高效率 初二1班
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
Chapter 5 迴圈.
基本程式範例.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
動畫程式 撰寫流程與範例.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
图形化函数库及操作 叶安胜. 图形化函数库及操作 叶安胜 EasyX 库背景 Turbo C的图形函数库的使用是很简单的,可是TC 本身环境太老了。 VC ++6.0编辑和调试环境都很优秀,也有适合教学的免费版本。可惜在 VC 想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。
JDK 安裝教學 (for Win7) Soochow University
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 閃爍燈 2018年11月23日 8051 單晶片實習---E0901閃爍燈.
資料庫操作.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
嵌入式系統進階 日期 : 2018/12/4.
Visual Basic 物件導向程式設計簡介.
檔案與磁碟的基本介紹.
Java 程式設計 講師:FrankLin.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
#include <stdio.h> #include "console.c" main(){ int x=20, y=10;
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
Scratch: 動畫或遊戲編程 任務5: 野馬與獅子.
數位鳳凰計畫-復習課程 授課:方順展.
VS.NET 2003 IDE.
Networking Games 程式設計 潘仁義 CCU COMM.
專題規劃 kiosk 指導教授:李博明 組員:4A – 陳俊良 4a – 梁怡瑄 1.
Introduction to C Programming
打地鼠(陣列版).
CH05. 選擇敘述.
期末考.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
基本IO.
VS.NET 2003 IDE.
4.19 Fsys _ SLOW MODE HT66F70A.
4-16 SLEEP0 HT66F70A.
電腦軟體設計 建國科技大學 資管系 饒瑞佶 2010年.
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
Text To Speech (TTS, 文字轉 語音)、讀簡訊 靜宜大學資管系 楊子青
PowerPoint 操作介紹 106 計算機概論
PROGRAM 7 SQUARE E. Angel.
陣列與結構.
Scratch: 動畫或遊戲編程 任務10:尋找小鬼.
12797: Letters ★★★☆☆ 題組:Problem Set Archive with Online Judge
<< 火柴遊戲1 >> 有火柴共21支,由兩人(A,B)對賽, 每人輪流抽取1/2/3/4支, 取最後一支者敗。
作業
Cloud Operating System - Unit 03: 雲端平台建構實驗
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
期末報告第一題 通訊四甲 B 湯智瑋.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
查表法&電腦IO Port二進制轉七段顯示器
Cloud Training Material- 事件 Sherman Wang
多站台網路預約系統之 AJAX即時資料更新機制
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
Unix指令4-文字編輯與程式撰寫.
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
單晶片實作講義 微電腦控制界面 (LCD) 。.
Presentation transcript:

程式設計期末報告 400415032陳益群 400415012黃士展

程式內容 名稱:五子棋 內容:傳統的五子棋,還有其他模式之玩法 使用說明:用上下左右鍵控制其移動方向,利用空白鍵下棋。先達到五顆同色棋連成一線者為贏。

工作日誌(1) 5月 week1—棋盤的製作 5月 week 2—棋子移動時之判斷 5月 week3 —下棋勝負之判斷

工作日誌(2) 6月 week1---程式其他模式製作 6月week2---整合所有物件 6月 week3----除錯

發展文件 (1)分析問題 五子棋目的為同色棋子五顆連成一條線者勝 需要先設計棋盤,利用矩陣儲存棋子,再判斷是否連成一條線。

(2)分析過程—函式 判斷副函式: int find1(int); int find2(int);int find3(int); int find4(int); 玩家棋子:int play_1(void); int play_2(void); 限時模式:int time_1(int); int time_2(int); 電腦隨機:int computer(void); 動畫:void first(void); void second(void); void win_1(void); void win_2(void); void number(void); void first(void); void second(void); void win_1(void); void win_2(void); void number(void);

(2)分析過程 需要: First,second 副函式管理開頭動畫 Play_1,Play_2副函式管理下棋的過程 Time_1,time_2副函式管理限時時間 win_1,win_2副函式管理勝利動畫 Computer副程式管理電腦隨機下棋 Number 副函式管理倒數動畫

(2)分析過程 需要利用gotoxy來移動游標位址來下棋 以kbhit()來偵測鍵盤動作 以if判斷棋子是否連成一條線與判斷鍵盤輸入指令是否符合選項 用switch分類選項執行符合條件的動作

(2)分析過程 --程式結構 main 棋盤介面 普通模式 Play1 判斷 Play2 限時模式 Time_1 Time_2 亂入模式 主程式 棋盤介面 動畫與選項 普通模式 Play1 Int play_1(void) 判斷 Int Find1,2,3,4 Play2 Int play_2(void) 限時模式 Time_1 Int time_1 Int play_1(void)) Time_2 Int time_2 亂入模式 電腦隨機 Int computer(void) Int find1,2,3,4) (2)分析過程 --程式結構

程式測試(1) 1.棋盤製作:尋找可用之圖形,最終選擇使用全形繁體所提供之圖形格子,以及因螢幕大小選擇使用15*15之棋盤 2.棋子之顯示:利用迴圈使未下之棋子閃爍,但因使用延遲函式,因此會影響到反應時間,最終經多次測試選擇了最適切之延遲時間 3.棋子之移動:使用無限迴圈及getch抓取按鍵,並使其移動,但在判斷式上複雜,必須考慮許多可能,因此可說是程式碼中較為複雜的地方,在測試途中時常發現缺陷,要馬上補上判斷式修改

程式測試(2) 勝負之判斷:勝負判斷因五子棋規則明瞭,因此有較簡潔之判斷式,反而是迴圈的邏輯較耗時間,時常想的與結果不同,導致判斷不出輸贏 下一子之位子:下一子顯示位置之判斷看似簡潔,但常常會有漏看之可能性,導致程式bug,經過多次測試才將其改到不會相撞

限時模式:用sleep去抓大約的時間,主要是在已寫好的主程式上附加東西,因此相對好寫,但一開始無法掌握較好的寫法,時常讓程式陷入死當的狀態 亂入模式:因放棋子的位置是電腦隨機,但有些結果用隨機反而會使程式當掉,因此改用較為複雜的寫法,但也解決了死當的問題

分工 陳益群---動畫 黃士展----遊戲內容