stone.cpp

来自「qgo-1.5.4-r3.tar.gz linux下一个很好玩的游戏」· C++ 代码 · 共 87 行

CPP
87 行
字号
/** stone.cpp*/#include "defines.h"#include "stone.h"#include "imagehandler.h"#include <stdlib.h>Stone::Stone(QCanvasPixmapArray *a, QCanvas *canvas, StoneColor c, int x, int y, int numberOfImages, bool has_shadow): QCanvasSprite(a, canvas), color(c), myX(x), myY(y){	setFrame(color == stoneBlack ? 0 : (rand() % numberOfImages) + 1);		shadow = NULL;		if (has_shadow) {		shadow = new QCanvasSprite(a, canvas);		shadow->setFrame(numberOfImages + 1);		shadow->setZ(4);	}		setZ(5);	show();		dead = false;	seki = false;	checked = false;	}Stone::~Stone(){    delete shadow;} void Stone::setColor(StoneColor c){	setFrame(c == stoneBlack ? 0 : (rand() % 8) + 1);	color = c;}void Stone::toggleOneColorGo(bool oneColor){  // if we play one color go, the black stones are repainted white, else normal black  if (color ==  stoneBlack)     setFrame(oneColor ? (rand() % 8) + 1 : 0);}void Stone::setX(double x){	int offset;	QCanvasSprite::setX(x);	if (shadow) {		 offset = shadow->boundingRect().width();		 shadow->setX(x - offset / 8);	}}void Stone::setY(double y){	QCanvasSprite::setY(y);	int offset;	if (shadow) {		 offset = shadow->boundingRect().height();		 shadow->setY(y + offset / 8);	}	}void Stone::hide(){	QCanvasSprite::hide();	if (shadow) 	 shadow->hide();	}void Stone::show(){	QCanvasSprite::show();	if (shadow) 	 shadow->show();	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?