import java.util.*;
public class Main{
public static void main(String[] args) {
csp_16_04_02.run();}public static void run() {
Scanner scanner = new Scanner(System.in);int[][] arr = new int[15][10];int[][] arrSqu = new int[4][4];//将输入的方格图存入数组for (int i = 0; i < 15; i++) {
for (int j = 0; j < 10; j++) {
arr[i][j] = scanner.nextInt();}}//将输入的方块存入数组for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
arrSqu[i][j] = scanner.nextInt();}}//获取方块将要下沉的位置,偏移int column = scanner.nextInt();scanner.close();//获取这个方块值为1的每个节点在4*4矩阵中的位置int[] x = new int[4];int[] y = new int[4];int z = 0;for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
if (arrSqu[i][j] == 1) {
x[z] = i;y[z] = j+column-1;z++;}}}boolean flag = true;int count = 0;int offset = 0;outer:while (flag) {
for (int i = 0; i < 4; i++) {
//判断最下面的边界,如果有一个方块到了最下面,直接结束下沉if ((x[i] + offset) == 14) {
for (int j = 0; j < 4; j++) {
arr[x[j] + offset][y[j]] =1;}break outer;}if (arr[x[i] + offset][y[i]]==0) {
//不断下沉count++;}}if (count == 4) {
offset++;count=0;}else {
for (int i = 0; i < 4; i++) {
arr[x[i] + offset -1][y[i]] = 1;}flag = false;}}//遍历下沉后的矩阵for(int i=0;i<15;i++){
for(int j=0;j<10;j++){
System.out.print(arr[i][j]+" ");}System.out.println();}}
}
详细解决方案
16-04-02(俄罗斯方块*)
热度:29 发布时间:2023-11-21 21:47:26.0
相关解决方案
- 小弟最近忙着做个手机游戏(俄罗斯方块),请教怎么是方块的下落速度随着分数增加到一定程度而自动加速,小弟我知道这是个简单的有关问题,可小弟我
- 俄罗斯方块
- 俄罗斯方块,写到这里实在写不下去了~直接放弃了.解决思路
- 帮忙调个程序,俄罗斯方块,希望它能一直往上落,跪求
- 俄罗斯方块《那些年,小弟我们一起追的女孩》版
- 1367 俄罗斯方块
- python实现 CCF201604-2 俄罗斯方块
- csp试题2:俄罗斯方块
- 16-04-02(俄罗斯方块*)
- 网易编程题:俄罗斯方块
- windows桌面程序: 俄罗斯方块 C++
- CCF 201604-2 俄罗斯方块 Python满分代码
- CCF CSP 201604-2 俄罗斯方块 需要考虑边界情况,特殊情况(列满列空)
- JavaScript-俄罗斯方块
- 51单片机游戏(俄罗斯方块)
- CCF 2016-4-2 俄罗斯方块 100分
- 18-12-08 CCF 201604-2 俄罗斯方块
- 基于labview的小游戏(五子棋、俄罗斯方块)
- ABAP游戏:俄罗斯方块(代码部分1)_SAP刘梦_新浪博客
- shell脚本,俄罗斯方块,亲测可玩
- C+EasyX 实现的《俄罗斯方块》小游戏,附C# 实现的控制台俄罗斯方块链接!
- 俄罗斯方块。
- 201604-2 俄罗斯方块(Java 100)
- CCF 201604-2 俄罗斯方块 python 满分