数独游戏开发

Android系统中颜色的表示方法

1.int Color1 = Color.blue;

2.int Color2 = Color.argb(177,255,255,255);

3.在XML文件当中定义颜色。


画笔Paint

1.Paint对象:用于控制画笔的风格(粗细等)和颜色。

2.paint.setColor(Color.blue);

3.paint的设置方法:

setAntiAlias:设置画笔锯齿效果

setColor:设置画笔颜色

setARGB:设置画笔的a,r,g,b值

setAlpha:设置透明度

setTextSize:设置字体尺寸

setStyle:设置画笔风格,空心或实心

setStrokeWidth:设置空心的边框宽度

getColor:得到画笔的颜色

getAlpha:得到画笔的透明度


画布Canvas

1.在画布上绘制字符、图形和图片等内容。

(1)其中绘制字符时用drawText(String text,float x,float y,Paint paint)

特别的,y指基准线的位置,不是最底下的位置。

(2)绘制图片

drawBitmap(Bitmap bitmap,float left,float top,Paint paint)

2.canvas.drawCircle(300,400,100,paint);

3.canvas绘制常见图形的方法:

绘制直线:drawLine(float startX,float startY,float stopX,float stopY,Paint paint)

绘制矩形:drawRect(float left,float top,float right,float bottom,Paint paint)

绘制圆形:drawCircle(float cx,float cy,float radius,Paint paint)



自定义View用来实现更复杂多样的图形绘制

1.定义一个类,继承View

2.复写View的onDraw方法

3.在onDraw方法中使用Canvas和Paint对象绘制图形


数独游戏实现步骤:

1.创建自定义View类

(1)画背景为蓝色

(2)用循环语句画出9*9=81个单元格(添加刻痕效果)

(3)设置文字在矩形框居中的居中方法(设置画笔setTextAlign使字符水平方向居中;FontMetrics的使用使字符垂直方向居中)

FontMetrcs的使用:

    FontMetrcs fm = paint.getFontMetrcs();

    FontMetrcs的四个参数:

        top:基线到最顶端的位置(负数)

        bottom:基线到最底端的位置(负数)

        ascent:基线到视觉顶端的位置(正数)

        descent:基线到视觉底端的位置(正数)

居中代码实现:

    FontMetrcs fm = numberPaint.fetFontMetrcs();

    float x = width/2;

    float y = height/2-(fm.ascent + fm.descent)/2;

    canvas.drawText("1",4*width+x,y,numberPaint);

2.创建逻辑算法类Game

(1)初始化九宫格数据

定义一个字符串str,初始化81个单元格的数据,其中不显示的单元格用‘0’表示。

定义一个长度为81的数组,存储初始化的数字。

定义一个方法用来将字符串转化为数字存放到数组中,并将该方法放入Game类的构造函数中。

定义一个方法用来得到某行某列的数字

定义一个方法用来得到某行某列的字符





你可能感兴趣的:(专业课程—安卓开发)