基于QT的黑白棋游戏设计与实现.ppt
文本预览下载声明
黑白棋的游戏规则 (1)两人对弈,以轮流方式持黑子与白子。(2)开辟新局者持白子,加入者持黑子, 之后以轮流方式将棋子置于棋盘格子中。若无地方可下子,则跳过一回,由对方下子。(3)在提示的格子中,选择一个格子下子, 当下子的位置与离最近的同色旗子中, 若有其他棋子则中间的棋子变为与我方一样颜色。(4)当下满64个棋子,棋子多者为胜。 黑白棋程序界面的需求 通过上述网上常见的一些具有代表性的黑白棋程序的对比分析,现在一个基于界面上的用户需求已经基本确立。该需求包含以下几点:1. 作为按钮出现在主界面上的:先后手选择、单人双人模式、悔棋和悔棋恢复、难度选择、开始新游戏。2. 能够直观显示在游戏界面上的:棋子数目显示、显示上步棋位置、提示下棋点、动画翻转棋子。 黑白棋的需求分析 为了开发出真正满足用户需求的程序,尤其是游戏程序,首先必须知道用户的需求。把用户需求作为前提条件,来指导程序的开发 黑白棋游戏规则的需求 1.两人对弈,以轮流方式持黑子与白子。2.开辟新局者持黑子,加入者持白子, 之后以轮流方式将棋子置于棋盘格子中。若无地方可下子,则跳过一回,由对方下子。3.在提示的格子中,选择一个格子下子, 当下子的位置与离最近的同色旗子中, 若有其他棋子则中间的棋子变为与我方一样颜色。4.当下满64个棋子,棋子多者为胜。5.双方都无棋可走的其他局面,游戏结束,以子多者为胜。 黑白棋的总体设计 * * * 火烈鸟 基于QT的黑白棋游戏设计与实现 火烈鸟队 队呼:乘风破浪会有时,直挂云帆济沧海 队歌:十年 成员: 黑白棋简介 黑白棋游戏规则 黑白棋需求分析 黑白棋总体设计 飞信未来发展 目录 黑白棋的简介 黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello),苹果棋,翻转棋。黑白棋起源中世纪的英国,18世纪传入日本,并在日本得到了发展。现在,黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它 黑白棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。黑白棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。 棋盘绘制,规划和定义 #includeQMessageBox class chessboard:public QWidget { Q_OBJECT public: chessboard(QWidget *parent = 0); public slots: void restartGame(); void skip(); void playwithpc(); signals: void RedNumChanged(int newyellowNum); void BlueNumChanged(int newBlackNum); void flagChanged(int newFlag); protected: void paintEvent(QPaintEvent *); void mousePressEvent(QMouseEvent *event); private: void paintchessboard(QPainter painter); void initChessboard(QPainter painter); int yellowChessmanNum(); int blackChessmanNum(); int playChess(int x, int y, int FLAG); void playChessWithPC(); int flag; int oldFlag; int f_PC; int chessnum[8][8]; QMessageBox *messagebox; }; #endif 双方定义 #ifndef _GAMEBOARD_H_ #define _GAMEBOARD_H_ #includeQWidget #includeQApplication #includeQFont #includeQGridLayout #includeQLabel #includeQPushButton #includeQLCDNumber #includechessboard.h #includemovi
显示全部