⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 face.java

📁 一个java写的魔方游戏
💻 JAVA
字号:
// FrontEnd Plus GUI for JAD
// DeCompiled : Face.class

import java.awt.Color;
import java.awt.Graphics;
import java.io.PrintStream;

class Face
{

    public int VerNum;
    public Vertex Vertices[];
    public Color FaceColor;
    float XMin;
    float XMax;
    float YMin;
    float YMax;
    float ZMin;
    float ZMax;
    protected Vertex ScreenVer[];
    protected int ScreenX[];
    protected int ScreenY[];

    public Face(int i)
    {
        VerNum = i;
        Vertices = new Vertex[i];
        ScreenX = new int[i];
        ScreenY = new int[i];
        ScreenVer = new Vertex[i];
        for(int j = 0; j < i; j++)
            ScreenVer[j] = new Vertex();

    }

    void CalcParam(Matrix3D matrix3d)
    {
        matrix3d.Transform(Vertices, ScreenVer, VerNum);
        XMin = ScreenVer[0].x;
        XMax = XMin;
        YMin = ScreenVer[0].y;
        YMax = YMin;
        ZMin = ScreenVer[0].z;
        ZMax = ZMin;
        for(int i = 1; i < VerNum; i++)
        {
            XMin = Math.min(XMin, ScreenVer[i].x);
            XMax = Math.max(XMax, ScreenVer[i].x);
            YMin = Math.min(YMin, ScreenVer[i].y);
            YMax = Math.max(YMax, ScreenVer[i].y);
            ZMin = Math.min(ZMin, ScreenVer[i].z);
            ZMax = Math.max(ZMax, ScreenVer[i].z);
        }

    }

    public final boolean CloserThan(Face face)
    {
        return ZMax + ZMin < face.ZMax + face.ZMin;
    }

    public void Paint(Graphics g, int i, int j)
    {
        for(int k = 0; k < VerNum; k++)
        {
            ScreenX[k] = (int)ScreenVer[k].x + i / 2;
            ScreenY[k] = j / 2 - (int)ScreenVer[k].y;
        }

        g.setColor(FaceColor);
        g.fillPolygon(ScreenX, ScreenY, VerNum);
        g.setColor(Color.black);
        g.drawPolygon(ScreenX, ScreenY, VerNum);
    }

    public void Print()
    {
        System.out.println("Face -- ");
        for(int i = 0; i < VerNum; i++)
        {
            System.out.print("Origin  ");
            Vertices[i].Print();
            System.out.print("Screen  ");
            ScreenVer[i].Print();
        }

    }
}

⌨️ 快捷键说明

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