- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作多人俄罗斯方 block 。 TetrisGame 类只是使用循环运行游戏,而 Tetris 类构造函数创建一个新棋子(不用担心 board2 类,它只是绘制棋子)。所以这是两个类:
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.*;
import java.net.MalformedURLException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class TetrisGame extends JFrame
{
private board2 myBoard;
private int score;
static Tetris_RafArian tetromino, tet2;
private int speed = 500;
private boolean pause;
private boolean start;
public TetrisGame() throws InterruptedException
{
super("Tetris");
setLayout(new BorderLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
keyListener();
pause=true;
start=true;
score=0;
while(true)
{
if(start)
{
myBoard = new board2(10, 20);
add(myBoard, BorderLayout.CENTER);
tet2 = new Tetris_RafArian(myBoard, 20, 0, 12, 12);
tetromino = new Tetris_RafArian(myBoard, 4, 0, 12, 6);
pack();
runGame();
}
score=0;
Thread.sleep(1);
}
}
/**
* Listens for key action
*/
public void keyListener()
{
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_UP:
if (pause && start)
tet2.rotateTetro();
break;
case KeyEvent.VK_W:
if (pause && start)
tetromino.rotateTetro();
break;
case KeyEvent.VK_LEFT:
if (tet2.checkWall(0) && pause && start)
tet2.move(0);
break;
case KeyEvent.VK_A:
if (tetromino.checkWall(0) && pause && start)
tetromino.move(0);
break;
case KeyEvent.VK_RIGHT:
if (tet2.checkWall(1) && pause && start)
tet2.move(1);
break;
case KeyEvent.VK_D:
if (tetromino.checkWall(1) && pause && start)
tetromino.move(1);
break;
case KeyEvent.VK_DOWN:
if (tet2.checkCollision(tet2.tetro()) && pause && start)
tet2.fall();
break;
case KeyEvent.VK_S:
if (tetromino.checkCollision(tetromino.tetro()) && pause && start)
tetromino.fall();
break;
case KeyEvent.VK_SPACE:
if (pause && start)
speed = 10;
break;
case KeyEvent.VK_P:
if (pause && start)
pause = false;
else
pause = true;
if (!start)
start = true;
}
myBoard.repaint();
}
});
}
/**
* Runs a single game
* @throws InterruptedException
*/
public void runGame() throws InterruptedException
{
//System.out.println(tetromino.checkCollision(tetromino.tetro));
while(tetromino.checkCollision(tetromino.tetro())||tetromino.tetro()[1][1]!=0)
{
while(tetromino.checkCollision(tetromino.tetro()))
{
if(pause)
{
//tetromino.fall();
tet2.fall();
myBoard.repaint();
Thread.sleep(speed);
}
}
speed = 500;
int x=0;
for(int i=0 ; i<20 ; i++)
if(myBoard.checkRow(i))
{
myBoard.removeRow(i);
score++;
x++;
}
score+=x;
myBoard.setScore(score);
tetromino.newTetris();
}
start=false;
myBoard.setEnd(true);
myBoard.repaint();
}
public static void main(String[] args) throws InterruptedException, MalformedURLException, LineUnavailableException, UnsupportedAudioFileException, IOException
{
new TetrisGame();
}
}
<小时/>
public class Tetris_RafArian
{
private static board2 myBoard;
private static int color, temColor;
private static int alt=0;
private static int xShift, yShift;
private static int xPos, yPos;
private static int[][] tetro, temTetro, shadTetro; // this is public because Game class needs access
public Tetris_RafArian(board2 bd, int x, int y, int tx, int ty)
{
myBoard=bd;
xShift=x;
yShift=y;
xPos=tx;
yPos=ty;
color = (int)(Math.random()*7)+1;
temColor = (int)(Math.random()*7)+1;
tetro = chooseRandom(color);
temTetro = chooseRandom(temColor);
shadTetro = new int[4][2];
for(int i=0; i<4 ; i++)
for(int j=0; j<2; j++)
shadTetro[i][j]=tetro[i][j];
setShadTetro();
myBoard.setTetris(temTetro, temColor, xPos, yPos);
myBoard.setTetris(tetro, color, xShift, yShift);
}
public int[][] tetro()
{
return tetro;
}
/**
* makes the shadow of the tetris
*/
private void setShadTetro()
{
while(checkCollision(shadTetro))
for(int i=0 ; i<4 ; i++)
shadTetro[i][1]++;
myBoard.setTetris(shadTetro, color+7, xShift, yShift);
}
/**
* A replica of the tetris constructor
* Helps to simply redefine all the values
* since creating multiple tetris objects is unneccessary
*/
public void newTetris()
{
color = temColor;
tetro = temTetro;
for(int i=0; i<4 ; i++)
for(int j=0; j<2; j++)
shadTetro[i][j]=tetro[i][j];
setShadTetro();
myBoard.setTetris(temTetro, 0, xPos, yPos);
temColor = (int)(Math.random()*7)+1;
temTetro = chooseRandom(temColor);
myBoard.setTetris(temTetro, temColor, xPos, yPos);
myBoard.setTetris(tetro, color, xShift, yShift);
}
/**
* chooses a tetromino based on the random number inserted
* @param c
* @return the desired tetromino
*/
private static int[][] chooseRandom(int c)
{
switch(c)
{
case 1:
return new int[][] {{-1,0},{0,0},{1,0},{1,1}};//J
case 2:
return new int[][] {{-1,1},{0,0},{-1,0},{1,0}};//L
case 3:
return new int[][] {{-1,0},{0,0},{1,0},{2,0}};//I
case 4:
return new int[][] {{-1,0},{0,0},{0,1},{1,1}};//Z
case 5:
return new int[][] {{-1,1},{0,0},{0,1},{1,0}};//S
case 6:
return new int[][] {{1,0},{0,0},{1,1},{0,1}};//O
case 7:
return new int[][] {{-1,0},{0,0},{1,0},{0,1}};//T
}
return new int[1][1];
}
/**
* Checks for floor collision
* @param tet
* @return true, if collided
* @return false, if not
*/
public boolean checkCollision(int[][] tet)
{
for(int i=0; i<4 ; i++)
{
if(tet[i][1]+1>19)
{
//System.out.println("1");
return false;
}
if(tet.equals(tetro))
{
int val = myBoard.getValue(tet[i][0]+xShift , tet[i][1]+1);
if(val>0 && val<8 && !contains(tet, tet[i][0], tet[i][1]+1))
{
//System.out.println("2");
return false;
}
}
else if(myBoard.getValue(tet[i][0]+xShift, tet[i][1]+1)!=0 && !contains(tet, tet[i][0], tet[i][1]+1))
{
//System.out.println("3");
return false;
}
}
return true;
}
/**
* checks to see if the inputed coordinates are part of the tetromino or not
* @param tet
* @param r
* @param c
* @return true, if tetromino contains those coordinates
* @return false, if not
*/
private static boolean contains(int[][] tet, int r, int c)
{
for(int i=0 ; i<4 ; i++)
if(r==tet[i][0] && c==tet[i][1])
return true;
return false;
}
/**
* checks for wall collision
* @param direction
* @return true, if collided
*/
public boolean checkWall(int d)
{
if(d>0)
for(int i=0; i<4 ; i++)
{
if(tetro[i][0]>4)
return false;
int val = myBoard.getValue(tetro[i][0]+xShift+1, tetro[i][1]);
if(val>0 && val<8 && !contains(tetro, tetro[i][0]+1, tetro[i][1]))
return false;
}
else
for(int i=0; i<4 ; i++)
{
if(tetro[i][0]<-3)
return false;
int val = myBoard.getValue(tetro[i][0]+xShift-1, tetro[i][1]);
if(val>0 && val <8 && !contains(tetro, tetro[i][0]-1, tetro[i][1]))
return false;
}
return true;
}
/**
* makes the tetromino fall one step
*/
public void fall()
{
myBoard.setTetris(tetro, 0, xShift, yShift);
for(int i=0 ; i<4 ; i++)
tetro[i][1]++;
myBoard.setTetris(tetro, color, xShift, yShift);
}
/**
* moves the tetromino left or right
* @param dir
*/
public void move(int dir)
{
myBoard.setTetris(tetro, 0, xShift, yShift);
if(dir>0)
{
for(int i=0 ; i<4 ; i++)
//if(tetro[i][0]<5)
tetro[i][0]++;
}
else
{
for(int i=0 ; i<4 ; i++)
// if(tetro[i][0]>-3)
tetro[i][0]--;
}
myBoard.setTetris(shadTetro, 0, xShift, yShift);
for(int i=0 ; i<4 ; i++)
for(int j=0 ; j<2 ; j++)
shadTetro[i][j] = tetro[i][j];
setShadTetro();
myBoard.setTetris(tetro, color, xShift, yShift);
myBoard.repaint();
}
/**
* rotates the tetromino
*/
public void rotateTetro()
{
if(color==6) return;
alt++; // this "alt" field let's pieces 's', 'z', and 'i' alternate between clockwise and counter-clockwise,
// since these pieces would shift left/right otherwise.
myBoard.setTetris(tetro, 0, xShift, yShift);
myBoard.setTetris(shadTetro, 0,xShift, yShift);
switch(checkRotation())
{
case 0:
for(int i=0 ; i<4 ; i++)
tetro[i][0]--;
if(color==3)
for(int i=0 ; i<4 ; i++)
tetro[i][0]--;
break;
case 1:
for(int i=0 ; i<4 ; i++)
tetro[i][0]++;
break;
case 2:
for(int i=0 ; i<4 ; i++)
tetro[i][1]--;
break;
case 3:
for(int i=0 ; i<4 ; i++)
tetro[i][1]++;
if(color==3)
for(int i=0 ; i<4 ; i++)
tetro[i][1]++;
break;
case 4:
myBoard.setTetris(tetro, color, xShift, yShift);
return;
}
for(int i=0; i<4 ; i++)
tetro[i] = rotPointOffset(tetro[i][0],tetro[i][1],tetro[1][0],tetro[1][1]);
for(int i=0 ; i<4 ; i++)
for(int j=0 ; j<2 ; j++)
shadTetro[i][j] = tetro[i][j];
setShadTetro();
myBoard.setTetris(tetro, color,xShift, yShift);
myBoard.repaint();
}
/**
* checks to see if rotating causes it to go through the walls or into other pieces
* @return type of collision
*/
public static int checkRotation()
{
int[]tet;
for(int i=0; i<4 ; i++)
{
tet= rotPointOffset(tetro[i][0],tetro[i][1],tetro[1][0],tetro[1][1]);
if(tet[0]>5)
return 0;
if(tet[0]<-xShift)
return 1;
if(tet[1]>19)
return 2;
if(tet[1]<0)
return 3;
if(myBoard.getValue(tet[0]+xShift, tet[1])!=0 && !contains(tetro, tet[0], tet[1]))
return 4;
}
return 5;
}
/**
* rotates coordinate (x,y) about (a,b)
* @param x
* @param y
* @param a
* @param b
* @return
*/
public static int[] rotPointOffset(int x, int y, int a, int b)
{
if(color==7 || color==1 || color==2)
return new int[] {y-b+a,a-x+b};
else
{
if(alt%2==0)
return new int[] {y-b+a,a-x+b};
else
return new int[] {b-y+a,x-a+b};
}
}
}
<小时/>
现在不要被所有的方法和其他方法冲昏了头脑。我的问题与 TetrisGame 构造函数有关,我在其中创建了两个俄罗斯方 block 对象:tetromino 和 tet2。当我第一次创建 tet2 时,它有自己的俄罗斯方 block (只是一个数组)。但是,在下一行中创建 tetromino 后,tet2 对象的俄罗斯方 block (以及所有其他字段)会发生更改。
现在,我评估了形势。基本上,我创建的这两个对象只是俄罗斯方 block 类的访问器,并且由于某种原因,它们没有像我期望的那样拥有自己独特的一组字段值。我还使用 toString() 方法确认了它们的内存位置是独立的。我以前曾使用相同的技术制作过多人游戏,但由于某种原因这不起作用。如有任何建议,我将不胜感激。谢谢你。
此外,对于所有想要在计算机上尝试此操作的爱好者,这里是 board2 类:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class board2 extends JPanel
{
private int[][] mtx;
private int ver , hor;
private int sz;
//private int[][] nextTet;
//private int nextCol;
private int score;
private Color color;//, nexColor;
private boolean end;
public board2(int r, int c)
{
hor = r; ver = c;
sz=30;
mtx=new int[c][r+16];
setPreferredSize(new Dimension((hor+16)*sz,ver*sz+15));
setBackground(Color.WHITE);
repaint();
}
public boolean checkRow(int r)
{
for(int i=0 ; i<10 ; i++)
if(mtx[r][i]==0)
return false;
return true;
}
public void removeRow(int r) throws InterruptedException
{
for(int i=r ; i>=0 ; i--)
for(int j=0 ; j<10 ; j++)
if(i>0)
mtx[i][j]=mtx [i-1][j];
else
mtx[i][j]=0;
//mtx[0]=new int[26];
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.BLACK);
g.drawLine(300, 0, 300, 600);
g.drawLine(306, 0, 306, 580);
g.drawLine(26, 580, 306, 580);
for(int i=0 ; i<ver ; i++)
g.drawLine(306, i*28+20, 300, i*sz);
g.drawLine(0, 600, 300, 600);
for(int i=0 ; i<hor+1 ; i++)
g.drawLine(i*sz, 600, i*28+26, 580);
for(int i=ver-1 ; i>9 ; i--)
for(int j=hor+15 ; j>12 ; j--)
{
setColor(mtx[i][j]);
if(mtx[i][j]>0)
{
//for(int k=0 ; k<26 ; k++)
//{
g.setColor(color.darker().darker());
//g.drawLine(j*sz+k, i*sz+k, (j+1)*sz+k, i*sz+k);
g.fillPolygon(new int[] {j*sz, j*sz, j*28+26, j*28+26}, new int[] {i*sz, i*sz+sz, i*28+28+20, i*28+20}, 4);
g.setColor(color.darker());
g.fillPolygon(new int[] {j*sz, j*sz+sz, j*28+26+28, j*28+26}, new int[] {i*sz, i*sz, i*28+20, i*28+20}, 4);
//g.drawLine(j*sz+k, i*sz+k, j*sz+k, (i+1)*sz+k);
//}
g.setColor(color);
g.fillRect(j*sz, i*sz, sz, sz);
if(mtx[i][j]<8)
g.setColor(Color.BLACK);
else
g.setColor(Color.GRAY);
g.drawRect(j*sz, i*sz, sz, sz);
g.drawPolygon(new int[] {j*sz, j*sz, j*28+26, j*28+26}, new int[] {i*sz, i*sz+sz, i*28+28+20, i*28+20}, 4);
g.drawPolygon(new int[] {j*sz, j*sz+sz, j*28+26+28, j*28+26}, new int[] {i*sz, i*sz, i*28+20, i*28+20}, 4);
//g.fillPolygon(new int[] {j*sz+15, j*sz+45, j*sz+15, j*sz+45}, new int[] {i*sz+15, i*sz+15, i*sz+45, i*sz+45}, 4);
}
//g.drawRect(j*sz, i*sz, sz, sz);
}
for(int i=ver-1 ; i>9 ; i--)
for(int j=0 ; j<13 ; j++)
{
setColor(mtx[i][j]);
if(mtx[i][j]>0)
{
//for(int k=0 ; k<26 ; k++)
//{
g.setColor(color.darker().darker());
// g.drawLine(j*sz+k, i*sz+k, (j+1)*sz+k, i*sz+k);
g.fillPolygon(new int[] { j * sz + sz, j * sz + sz, j * 28 + 26 + 28, j * 28 + 26 + 28 },
new int[] { i * sz, i * sz + sz, i * 28 + 28 + 20, i * 28 + 20 }, 4);
g.setColor(color.darker());
g.fillPolygon(new int[] { j * sz, j * sz + sz, j * 28 + 26 + 28, j * 28 + 26 },
new int[] { i * sz, i * sz, i * 28 + 20, i * 28 + 20 }, 4);
//g.drawLine(j*sz+k, i*sz+k, j*sz+k, (i+1)*sz+k);
//}
g.setColor(color);
g.fillRect(j*sz, i*sz, sz, sz);
if(mtx[i][j]<8)
g.setColor(Color.BLACK);
else
g.setColor(Color.GRAY);
g.drawRect(j*sz, i*sz, sz, sz);
g.drawPolygon(new int[] {j*sz+sz, j*sz+sz, j*28+26+28, j*28+26+28}, new int[] {i*sz, i*sz+sz, i*28+28+20, i*28+20}, 4);
g.drawPolygon(new int[] {j*sz, j*sz+sz, j*28+26+28, j*28+26}, new int[] {i*sz, i*sz, i*28+20, i*28+20}, 4);
}
//g.drawRect(j*sz, i*sz, sz, sz);
}
for(int i=0 ; i<10 ; i++)
for(int j=hor+15 ; j>12 ; j--)
{
setColor(mtx[i][j]);
if(mtx[i][j]>0)
{
//for(int k=0 ; k<26 ; k++)
// {
g.setColor(color.darker());
g.fillPolygon(new int[] { j * sz, j * sz + sz, j * 28 + 26 + 28, j * 28 + 26 },
new int[] { i * sz+sz, i * sz+sz, i * 28 + 28+20, i * 28 + 28 +20 }, 4);
g.setColor(color.darker().darker());
// g.drawLine(j*sz+k, i*sz+k, (j+1)*sz+k, i*sz+k);
g.fillPolygon(new int[] { j * sz, j * sz, j * 28 + 26, j * 28 + 26 },
new int[] { i * sz, i * sz + sz, i * 28 + 28 + 20, i * 28 + 20 }, 4);
// g.drawLine(j*sz+k, i*sz+k, j*sz+k, (i+1)*sz+k);
// }
g.setColor(color);
g.fillRect(j*sz, i*sz, sz, sz);
if(mtx[i][j]<8)
g.setColor(Color.BLACK);
else
g.setColor(Color.GRAY);
g.drawRect(j*sz, i*sz, sz, sz);
g.drawPolygon(new int[] {j*sz, j*sz, j*28+26, j*28+26}, new int[] {i*sz, i*sz+sz, i*28+28+20, i*28+20}, 4);
g.drawPolygon(new int[] {j*sz, j*sz+sz, j*28+26+28, j*28+26}, new int[] {i*sz+sz, i*sz+sz, i*28+28+20, i*28+28+20}, 4);
}
//g.drawRect(j*sz, i*sz, sz, sz);
}
for(int i=0 ; i<10 ; i++)
for(int j=0 ; j<13 ; j++)
{
setColor(mtx[i][j]);
if(mtx[i][j]>0)
{
//for(int k=0 ; k<26 ; k++)
//{
g.setColor(color.darker().darker());
//g.drawLine(j*sz+k, i*sz+k, (j+1)*sz+k, i*sz+k);
g.fillPolygon(new int[] {j*sz+sz, j*sz+sz, j*28+26+28, j*28+26+28}, new int[] {i*sz, i*sz+sz, i*28+28+20, i*28+20}, 4);
g.setColor(color.darker());
g.fillPolygon(new int[] {j*sz, j*sz+sz, j*28+26+28, j*28+26}, new int[] {i*sz+sz, i*sz+sz, i*28+20+28, i*28+20+28}, 4);
//g.drawLine(j*sz+k, i*sz+k, j*sz+k, (i+1)*sz+k);
//}
g.setColor(color);
g.fillRect(j*sz, i*sz, sz, sz);
if(mtx[i][j]<8)
g.setColor(Color.BLACK);
else
g.setColor(Color.GRAY);
g.drawRect(j*sz, i*sz, sz, sz);
g.drawPolygon(new int[] {j*sz+sz, j*sz+sz, j*28+26+28, j*28+26+28}, new int[] {i*sz, i*sz+sz, i*28+28+20, i*28+20}, 4);
g.drawPolygon(new int[] {j*sz, j*sz+sz, j*28+26+28, j*28+26}, new int[] {i*sz+sz, i*sz+sz, i*28+20+28, i*28+20+28}, 4);
//g.fillPolygon(new int[] {j*sz+15, j*sz+45, j*sz+15, j*sz+45}, new int[] {i*sz+15, i*sz+15, i*sz+45, i*sz+45}, 4);
}
//g.drawRect(j*sz, i*sz, sz, sz);
}
Font font = new Font("Typo Round Regular Demo", Font.PLAIN, 20);
g.setFont(font);
g.setColor(Color.BLACK);
g.drawString("NEXT:", (hor+1)*sz, 260);
g.setFont(font.deriveFont(30f));
g.drawString("SCORE:"+score, 345, 30);
if(end)
{
g.setColor(Color.WHITE);
g.fillRect(20, 225, 440, 160);
g.setColor(Color.BLACK);
g.drawRect(20, 225, 440, 160);
g.setFont(font.deriveFont(60f));
g.drawString("GAME OVER", 63, 330);
}
}
public int getValue(int r, int c)
{
return mtx[c][r];
}
public void setTetris(int[][] tet, int c, int xShift, int yShift)
{
for(int i=0 ; i<4 ; i++)
{
//System.out.println((tet[i][0]+xShift)+","+(tet[i][1]+yShift));
mtx[tet[i][1]+yShift][tet[i][0]+xShift]=c;}
//System.out.println("\n\n");
}
public void sendNext(int[][] tetro, int color)
{
for(int i=8; i<11 ; i++)
for(int j=11; j<15 ; j++)
mtx[i][j]=0;
for(int i=0 ; i<4; i++)
mtx[tetro[i][1]+9][tetro[i][0]+12]=color;
}
private void setColor(int i)
{
switch(i)
{
case 1:
color = Color.BLUE;
break;
case 2:
color = new Color(255,128,0);
break;
case 3:
color = Color.CYAN;
break;
case 4:
color = Color.RED;
break;
case 5:
color = new Color(128,255,0);
break;
case 6:
color = Color.YELLOW;
break;
case 7:
color = Color.MAGENTA;
break;
case 8:
color = new Color(190,190,255);
break;
case 9:
color = new Color(255,222,190);
break;
case 10:
color = new Color(190,255,255);
break;
case 11:
color = new Color(255,190,190);
break;
case 12:
color = new Color(222,255,190);
break;
case 13:
color = new Color(255,255,190);
break;
case 14:
color = new Color(255,190,255);
}
}
public void setEnd(boolean s)
{
end =s;
}
public void setScore(int s)
{
score = s;
}
}
<小时/>
对于所有已被注释掉的代码行,我深表歉意。我应该把它们修剪掉!
最佳答案
您需要删除您想要该对象的多个实例的类中变量的静态修饰符。静态意味着类中的变量只有一个值,例如,它可用于跟踪从球类创建了多少个球。
参见this了解更多详情。
关于java - 创建对象后,创建新对象会更改第一个对象的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42824475/
前言: 有时候,一个数据库有多个帐号,包括数据库管理员,开发人员,运维支撑人员等,可能有很多帐号都有比较大的权限,例如DDL操作权限(创建,修改,删除存储过程,创建,修改,删除表等),账户多了,管理
所以我用 Create React App 创建并设置了一个大型 React 应用程序。最近我们开始使用 Storybook 来处理和创建组件。它很棒。但是,当我们尝试运行或构建应用程序时,我们不断遇
遵循我正在创建的控件的代码片段。这个控件用在不同的地方,变量也不同。 我正在尝试编写指令来清理代码,但在 {{}} 附近插入值时出现解析错误。 刚接触 Angular ,无法确定我错过了什么。请帮忙。
我正在尝试创建一个 image/jpeg jax-rs 提供程序类,它为我的基于 post rest 的 Web 服务创建一个图像。我无法制定请求来测试以下内容,最简单的测试方法是什么? @POST
我一直在 Windows 10 的模拟器中练习 c。后来我改用dev C++ IDE。当我在 C 中使用 FILE 时。创建的文件的名称为 test.txt ,而我给出了其他名称。请帮助解决它。 下面
当我们创建自定义 View 时,我们将 View 文件的所有者设置为自定义类,并使用 initWithFrame 或 initWithCode 对其进行实例化。 当我们创建 customUITable
我正在尝试为函数 * Producer 创建一个线程,但用于创建线程的行显示错误。我为这句话加了星标,但我无法弄清楚它出了什么问题...... #include #include #include
今天在做项目时,遇到了需要创建JavaScript对象的情况。所以Bing了一篇老外写的关于3种创建JavaScript对象的文章,看后跟着打了一遍代码。感觉方法挺好的,在这里与大家分享一下。 &
我正在阅读将查询字符串传递给 Amazon 的 S3 以进行身份验证的文档,但似乎无法理解 StringToSign 的创建和使用方式。我正在寻找一个具体示例来说明 (1) 如何构造 String
前言:我对 C# 中任务的底层实现不太了解,只了解它们的用法。为我在下面屠宰的任何东西道歉: 对于“我怎样才能开始一项任务但不等待它?”这个问题,我找不到一个好的答案。在 C# 中。更具体地说,即使任
我有一个由一些复杂的表达式生成的 ILookup。假设这是按姓氏查找人。 (在我们简单的世界模型中,姓氏在家庭中是唯一的) ILookup families; 现在我有两个对如何构建感兴趣的查询。 首
我试图创建一个 MSI,其中包含 和 exe。在 WIX 中使用了捆绑选项。这样做时出错。有人可以帮我解决这个问题。下面是代码: 错误 error LGH
在 Yii 中,Create 和 Update 通常使用相同的形式。因此,如果我在创建期间有电子邮件、密码、...other_fields...等字段,但我不想在更新期间专门显示电子邮件和密码字段,但
上周我一直在努力创建一个给定一行和一列的 QModelIndex。 或者,我会满足于在已经存在的 QModelIndex 中更改 row() 的值。 任何帮助,将不胜感激。 编辑: QModelInd
出于某种原因,这不起作用: const char * str_reset_command = "\r\nReset"; const char * str_config_command = "\r\nC
现在,我有以下由 original.df %.% group_by(Category) %.% tally() %.% arrange(desc(n)) 创建的 data.frame。 DF 5),
在今天之前,我使用/etc/vim/vimrc来配置我的vim设置。今天,我想到了创建.vimrc文件。所以,我用 touch .vimrc cat /etc/vim/vimrc > .vimrc 所
我可以创建一个 MKAnnotation,还是只读的?我有坐标,但我发现使用 setCooperative 手动创建 MKAnnotation 并不容易。 想法? 最佳答案 MKAnnotation
在以下代码中,第一个日志语句按预期显示小数,但第二个日志语句记录 NULL。我做错了什么? NSDictionary *entry = [[NSDictionary alloc] initWithOb
我正在使用与此类似的代码动态添加到数组; $arrayF[$f+1][$y][$x+1] = $value+1; 但是我在错误报告中收到了这个: undefined offset :1 问题:尝试创
我是一名优秀的程序员,十分优秀!