2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  JAVA程序設(shè)計課程設(shè)計</p><p><b>  之</b></p><p><b>  俄羅斯方塊</b></p><p><b>  學(xué)院:計算機(jī)</b></p><p><b>  年級:09級 </b></p>

2、<p><b>  班級:網(wǎng)絡(luò)工程1班</b></p><p>  時間:2011年12月15日</p><p><b>  目錄</b></p><p><b>  摘要1</b></p><p>  第一章 課程設(shè)計要求2</p><p

3、>  第二章 設(shè)計概要3</p><p>  2.1 功能設(shè)計3</p><p>  2.2 程序系統(tǒng)功能模塊3</p><p>  2.3 功能分析4</p><p>  2.3.1 功能流程圖4</p><p>  2.3.2 系統(tǒng)操作界面5</p><p>  2.

4、3.3 程序主要功能說明5</p><p>  1.界面按鈕設(shè)計和功能的實(shí)現(xiàn)5</p><p>  第三章 調(diào)試分析與測試結(jié)果13</p><p>  3.1 游戲運(yùn)行界面13</p><p>  3.2 測試項目13</p><p>  3.2.1 功能區(qū)按鍵測試13</p><

5、;p>  3.2.2 鍵盤功能測試14</p><p>  3.2.3 計分與過關(guān)測試14</p><p>  3.2.4 游戲結(jié)束測試14</p><p>  第四章 設(shè)計總結(jié)15</p><p>  4.1 改進(jìn)意見15</p><p>  4.2 《Java課程設(shè)計》心得體會15<

6、/p><p>  第五章 參考文獻(xiàn)16</p><p><b>  摘要</b></p><p>  在現(xiàn)代,高科技的飛躍發(fā)展,人們工作習(xí)慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來越快,一些有趣的桌面游戲已經(jīng)成為人們在使用計算機(jī)進(jìn)行工作或?qū)W習(xí)之余休閑娛樂的首選,而俄羅斯方塊游戲是人們最熟悉的小游戲之一。俄羅斯方塊(Tetris, 俄文:Те

7、трис)是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它由俄羅斯人阿列克謝·帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本規(guī)則是移動、旋轉(zhuǎn)和擺放游戲自動輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。 為此,我們設(shè)計了一款簡單的俄羅斯方塊JAVA游戲程序,以便更好的滿足廣大電腦工作者閑暇之余的消遣,并且也讓我們學(xué)到編程技術(shù)與團(tuán)隊意識。</p><p>

8、  關(guān)鍵字:俄羅斯方塊、JAVA游戲、編程</p><p><b>  課程設(shè)計要求</b></p><p>  題目名稱:俄羅斯方塊</p><p><b>  題目類型:設(shè)計型</b></p><p><b>  課程設(shè)計目的:</b></p><p&g

9、t;  1)了解Java的基本使用方法。</p><p>  2)熟悉eclipse的運(yùn)行環(huán)境。</p><p>  3)用JAVA面向?qū)ο蟮姆椒▉碓O(shè)計一個俄羅斯方塊的小游戲。</p><p>  4)基本實(shí)現(xiàn)俄羅斯方塊的應(yīng)用功能。</p><p><b>  實(shí)驗原理:</b></p><p>

10、  JAVA程序分析與設(shè)計、類的靈活運(yùn)用、多態(tài)技術(shù)、模板技術(shù)、異常處理等。</p><p><b>  實(shí)驗內(nèi)容:</b></p><p>  本俄羅斯方塊游戲是對于隨機(jī)給出不同的形狀(長條形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充給定的區(qū)域,若填滿一條便消掉,記分,當(dāng)達(dá)到一定的分?jǐn)?shù)時,過關(guān),每關(guān)方塊下落的速度不同,若在游戲中各形狀填滿了給定區(qū)域,為

11、輸者。 </p><p><b>  第二章 設(shè)計概要</b></p><p><b>  2.1 功能設(shè)計</b></p><p>  本項目是為了實(shí)現(xiàn)俄羅斯方塊的基本功能而設(shè)計的,基本能夠達(dá)到俄羅斯方塊的各種游戲性。項目需求分析如下:</p><p>  1)由方塊組成的不同的隨機(jī)圖形會從區(qū)域

12、上方開始緩慢落下。</p><p>  2)玩家可以做的操作有:</p><p>  以90度為單位旋轉(zhuǎn)方每一格塊。</p><p>  以格子為單位左右移動方塊,讓方塊加速落下。</p><p>  3)方塊移到區(qū)域最下方或是著地到其他方塊上無法移動時,就會固定在該處,而新的隨機(jī)圖形會出現(xiàn)在區(qū)域上方開始落下。</p><

13、p>  4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會自動消除并成為玩家的得分。</p><p>  5)當(dāng)固定的方塊堆到區(qū)域最上方,則游戲結(jié)束。</p><p>  2.2 程序系統(tǒng)功能模塊</p><p><b>  2.3 功能分析</b></p><p>  2.3.1 功能流程圖:</p&g

14、t;<p>  2.3.2 系統(tǒng)操作界面</p><p>  2.3.3 程序主要功能說明</p><p>  1.界面按鈕設(shè)計和功能的實(shí)現(xiàn)</p><p><b>  代碼:</b></p><p>  class ControlPanel extends JPanel</p><p

15、><b>  {</b></p><p><b>  /**</b></p><p><b>  * </b></p><p><b>  */</b></p><p>  private static final long serialVersio

16、nUID = 1L;</p><p>  protected static final String DO_NOTHING_ON_CLOSE = null;</p><p>  protected static final Frame Frame = null;</p><p>  protected static final int INFORMATION_MES

17、SAGE = 0;</p><p>  private JTextField</p><p>  tfLevel = new JTextField("" + ErsBlocksGame.initlevel),//初始級別</p><p>  tfScore = new JTextField("0");//初始得分</p&

18、gt;<p>  private JButton</p><p>  btList=new JButton("保存高分"),</p><p>  btAbout=new JButton("關(guān)于"),</p><p>  btPlay = new JButton("開始"),</p>

19、<p>  btPause = new JButton("暫停"),</p><p>  btStop = new JButton("停止"),</p><p>  btExit=new JButton("退出");</p><p>  private JPanel showbefore =

20、new JPanel(new BorderLayout());//設(shè)置顯示下一個圖案的容器</p><p>  private ShowBeforePanel plShowBeforeBlock = new ShowBeforePanel();</p><p>  private JPanel plInfo = new JPanel(new GridLayout(4, 1));</

21、p><p>  private JPanel plButton = new JPanel(new GridLayout(5, 1));</p><p>  private Timer timer;</p><p>  private ErsBlocksGame game;</p><p>  public ControlPanel(final E

22、rsBlocksGame game) {</p><p>  setLayout(new GridLayout(3, 1, 0, 4));//設(shè)置網(wǎng)格的行列以及水平垂直間距</p><p>  this.game = game;</p><p>  showbefore.add(new JLabel("即將到來"), BorderLayout.N

23、ORTH);//添加“即將到來”標(biāo)簽</p><p>  showbefore.add(plShowBeforeBlock);//添加下一個圖案</p><p>  plInfo.add(new JLabel("Level"));</p><p>  plInfo.add(tfLevel);</p><p>  plInf

24、o.add(new JLabel("Score"));</p><p>  plInfo.add(tfScore); </p><p>  tfLevel.setEditable(false);</p><p>  tfScore.setEditable(false);</p><p>  plButton.add(btP

25、lay);</p><p>  plButton.add(btPause);</p><p>  plButton.add(btStop);</p><p>  plButton.add(btExit);</p><p>  plButton.add(btAbout);</p><p>  plButton.add(b

26、tList);</p><p>  add(showbefore);</p><p>  add(plInfo);</p><p>  add(plButton);</p><p>  addKeyListener(new ControlKeyListener());</p><p>  btPlay.addActio

27、nListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent ae) {</p><p>  game.playGame();</p><p><b>  }</b></p><p><b>  });<

28、;/b></p><p>  btPause.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent ae) {</p><p>  if (btPause.getText().equals(new String("暫停&qu

29、ot;))) {</p><p>  game.pauseGame();</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  game.resumeGame(

30、);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  });</b></p><p>  btStop.addActionListener(new ActionListener() {</p><p

31、>  public void actionPerformed(ActionEvent ae) </p><p><b>  {</b></p><p>  game.stopGame();</p><p><b>  }</b></p><p><b>  });</b>

32、</p><p>  btExit.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent ae){</p><p>  setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);</p><

33、;p>  int option=JOptionPane.showConfirmDialog(btExit, "確定退出游戲? ", "退出 ",JOptionPane.YES_NO_CANCEL_OPTION); </p><p>  if(option==JOptionPane.YES_OPTION) {</p><p>  System.e

34、xit(0); </p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p><b>  return; </b></p><p><b&

35、gt;  }</b></p><p><b>  }</b></p><p>  private void setDefaultCloseOperation(String doNothingOnClose) {</p><p>  // TODO Auto-generated method stub</p><p

36、><b>  }</b></p><p><b>  });</b></p><p>  btAbout.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent ae){</p>

37、<p>  String message=" 俄羅斯方塊V1.0";</p><p>  String title="關(guān)于";</p><p>  JOptionPane.showMessageDialog(Frame, message,title,INFORMATION_MESSAGE);</p><

38、p><b>  }</b></p><p><b>  });</b></p><p>  btList.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent ae){</p>

39、<p>  JFileChooser jfc1=new JFileChooser();</p><p>  jfc1.setDialogTitle("保存到…");</p><p>  jfc1.showSaveDialog(null);</p><p>  jfc1.setVisible(true);</p><p

40、>  String url1=jfc1.getSelectedFile().getAbsolutePath();</p><p>  BufferedWriter bw;</p><p><b>  try {</b></p><p>  bw = new BufferedWriter(new FileWriter(url1+"

41、.txt"));</p><p>  bw.write("高分"+tfScore.getText());</p><p>  bw.close();</p><p>  } catch (IOException e1) {</p><p>  // TODO Auto-generated catch block&

42、lt;/p><p>  e1.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  );</b><

43、/p><p><b>  背景框圖形功能</b></p><p><b>  代碼:</b></p><p>  class GameCanvas extends JPanel //畫布類</p><p><b>  {</b></p><p><b&

44、gt;  /**</b></p><p><b>  * </b></p><p><b>  */</b></p><p>  private static final long serialVersionUID = 1L;</p><p>  private Color backCo

45、lor = Color.WHITE, frontColor = Color.BLUE;</p><p>  private int rows, cols, score = 0, scoreForLevelUpdate = 0;</p><p>  private ErsBox[][] boxes;</p><p>  private int boxWidth, bo

46、xHeight;</p><p>  public GameCanvas(int rows, int cols)</p><p><b>  {</b></p><p>  this.rows = rows;</p><p>  this.cols = cols;</p><p>  boxes

47、= new ErsBox[rows][cols];</p><p>  for (int i = 0; i < boxes.length; i++) </p><p><b>  {</b></p><p>  for (int j = 0; j < boxes[i].length; j++)</p><p>

48、;<b>  {</b></p><p>  boxes[i][j] = new ErsBox(false);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>&

49、lt;p>  public GameCanvas(int rows, int cols,</p><p>  Color backColor, Color frontColor) </p><p><b>  {</b></p><p>  this(rows, cols);</p><p>  this.back

50、Color = backColor;</p><p>  this.frontColor = frontColor;</p><p><b>  }</b></p><p>  public void setBackgroundColor(Color backColor)</p><p><b>  {<

51、/b></p><p>  this.backColor = backColor;</p><p><b>  }</b></p><p>  public Color getBackgroundColor()</p><p><b>  {</b></p><p> 

52、 return backColor;</p><p><b>  }</b></p><p>  public void setBlockColor(Color frontColor)</p><p><b>  {</b></p><p>  this.frontColor = frontColo

53、r;</p><p><b>  }</b></p><p>  public Color getBlockColor()</p><p><b>  {</b></p><p>  return frontColor;</p><p><b>  }</b&

54、gt;</p><p>  public int getRows()</p><p><b>  {</b></p><p>  return rows;</p><p><b>  }</b></p><p>  public int getCols()</p>

55、<p><b>  {</b></p><p>  return cols;</p><p><b>  }</b></p><p>  public int getScore() </p><p><b>  {</b></p><p>

56、  return score;</p><p><b>  }</b></p><p>  public int getScoreForLevelUpdate()</p><p><b>  {</b></p><p>  return scoreForLevelUpdate;</p>

57、<p><b>  }</b></p><p>  public void resetScoreForLevelUpdate()</p><p><b>  {</b></p><p>  scoreForLevelUpdate -= ErsBlocksGame.everylevelscore;</p&g

58、t;<p><b>  }</b></p><p>  public ErsBox getBox(int row, int col)</p><p><b>  {</b></p><p>  if (row < 0 || row > boxes.length - 1|| col < 0 |

59、| col > boxes[0].length - 1)</p><p>  return null;</p><p>  return (boxes[row][col]);</p><p><b>  }</b></p><p>  public void fanning()</p><p&g

60、t;<b>  {</b></p><p>  boxWidth = getSize().width / cols;</p><p>  boxHeight = getSize().height / rows;</p><p><b>  }</b></p><p>  public void pa

61、intComponent(Graphics g)</p><p><b>  {</b></p><p>  super.paintComponent(g);</p><p>  g.setColor(frontColor);</p><p>  for (int i = 0; i < boxes.length;

62、i++)</p><p><b>  {</b></p><p>  for (int j = 0; j < boxes[i].length; j++) </p><p><b>  {</b></p><p>  g.setColor(boxes[i][j].isColorBox() ? f

63、rontColor : backColor);</p><p>  g.fill3DRect(j * boxWidth, i * boxHeight,</p><p>  boxWidth, boxHeight, true);</p><p><b>  }</b></p><p><b>  }</b&

64、gt;</p><p><b>  }</b></p><p>  public synchronized void removeLine(int row)</p><p><b>  {</b></p><p>  for (int i = row; i > 0; i--) </p&g

65、t;<p><b>  {</b></p><p>  for (int j = 0; j < cols; j++)</p><p>  boxes[i][j] = (ErsBox) boxes[i - 1][j].clone();</p><p><b>  }</b></p><

66、p>  score += ErsBlocksGame.alinescore;</p><p>  scoreForLevelUpdate += ErsBlocksGame.alinescore;</p><p>  repaint();</p><p><b>  }</b></p><p>  public vo

67、id reset() </p><p><b>  {</b></p><p>  score = 0;</p><p>  scoreForLevelUpdate = 0;</p><p>  for (int i = 0; i < boxes.length; i++) </p><p>

68、<b>  {</b></p><p>  for (int j = 0; j < boxes[i].length; j++)</p><p>  boxes[i][j].setColor(false);</p><p><b>  }</b></p><p>  repaint();<

69、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  方塊自動下落功能</b></p><p><b>  代碼:</b></p><p>  public void run()//方

70、塊自動下落</p><p><b>  {</b></p><p>  while (moving)</p><p><b>  {</b></p><p><b>  try </b></p><p><b>  {</b><

71、;/p><p>  sleep(betweenleveltime</p><p>  * (ErsBlocksGame.maxlevel - level));//級別越高速度越快(多線程)</p><p>  } catch (InterruptedException ie)</p><p><b>  {</b></

72、p><p>  ie.printStackTrace();</p><p><b>  }</b></p><p>  if (!pausing)</p><p>  moving = (moveTo(y + 1, x) && moving);</p><p><b>  }

73、</b></p><p><b>  }</b></p><p><b>  游戲運(yùn)行功能</b></p><p><b>  代碼:</b></p><p>  private class Game implements Runnable //游戲流程!</

74、p><p><b>  {</b></p><p>  public void run() </p><p><b>  {</b></p><p>  int col = (int) (Math.random() * (canvas.getCols() - 3)),</p><p&

75、gt;  style = ErsBlock.STYLES[(int) (Math.random() * 7)][(int)(Math.random() * 4)];</p><p>  while (playing)</p><p><b>  {</b></p><p>  if (block != null)</p><

76、p><b>  { </b></p><p>  if (block.isAlive()) </p><p><b>  {</b></p><p><b>  try </b></p><p><b>  {</b></p>&

77、lt;p>  Thread.currentThread();</p><p>  Thread.sleep(100);</p><p>  } catch (InterruptedException ie) </p><p><b>  {</b></p><p>  ie.printStackTrace();&l

78、t;/p><p><b>  }</b></p><p><b>  continue;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  checkFullLine();

79、 </p><p>  if (isGameOver())</p><p><b>  { </b></p><p>  ctrlPanel.setPlayButtonEnable(true);</p><p>  ctrlPanel.setPauseButtonLabel(true);</p>

80、;<p>  reportGameOver();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  block = new ErsBlock(style, -1, col, getLevel(), canvas);</p><p

81、>  block.start();</p><p>  col = (int) (Math.random() * (canvas.getCols() - 3));</p><p>  style = ErsBlock.STYLES[(int) (Math.random() * 7)][(int)(Math.random() * 4)];</p><p>  c

82、trlPanel.setShowBeforeStyle(style);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  調(diào)試分析與測試結(jié)果</b></p><p>  3.1 游戲運(yùn)行界面</p>&l

83、t;p><b>  3.2 測試項目</b></p><p>  3.2.1 功能區(qū)按鍵測試</p><p><b>  測試結(jié)果:</b></p><p>  開始:游戲開始,方塊下落;</p><p><b>  暫停:游戲暫停;</b></p>&

84、lt;p><b>  繼續(xù):游戲繼續(xù);</b></p><p>  停止:游戲停止,再按開始則重新開局;</p><p><b>  退出:游戲退出;</b></p><p>  關(guān)于:打印游戲信息;</p><p>  保存高分:顯示保存路徑選擇。</p><p> 

85、 3.2.2 鍵盤功能測試</p><p><b>  測試結(jié)果:</b></p><p>  方向鍵“↑”:旋轉(zhuǎn)方塊;</p><p>  方向鍵“↓”:使方塊加速下落;</p><p>  方向鍵“←”:使方塊左移;</p><p>  方向鍵“→”:使方塊右移。</p>&l

86、t;p>  3.2.3 計分與過關(guān)測試</p><p>  測試結(jié)果:經(jīng)過測試員不斷的親身游戲,本程序的計分與過關(guān)項目基本無問題,由于能力有限,只能測試到第五關(guān)。</p><p>  3.2.4 游戲結(jié)束測試</p><p><b>  設(shè)計總結(jié)</b></p><p><b>  4.1 改進(jìn)意見

87、</b></p><p>  本程序中還存在一些不足之處,例如:</p><p>  1.進(jìn)一步地功能擴(kuò)展,如添加音效等;</p><p>  2.美化玩家進(jìn)入游戲的界面;</p><p>  3.對軟件進(jìn)行進(jìn)一步更詳細(xì)的測試,以保證軟件的可用性和適應(yīng)性;</p><p>  利用internet 進(jìn)行用戶

88、意見的收集,以加強(qiáng)對軟件的及時更新。</p><p>  4.2 《Java課程設(shè)計》心得體會</p><p>  通過短短的一周的時間,我們從一個對JAVA編程懵懂的學(xué)生到現(xiàn)在可以試著用JAVA進(jìn)行簡單程序的設(shè)計與編寫,雖然在實(shí)驗過程中,我們遇到了許多的困難,特別是因為大多數(shù)的同學(xué)還不太適應(yīng)面向?qū)ο蟮木幊田L(fēng)格和思想,看待問題時總是想到用什么結(jié)構(gòu)來實(shí)現(xiàn)該功能,而沒有將問題看成一個封裝的整體

89、來考慮,所以在這次課程設(shè)計中我們接觸、體驗了面向?qū)ο笤O(shè)計,使得思維在向面過程向面向?qū)ο筮^度。而且,在這個過程中,我們還學(xué)到了彼此之間怎么去配合,我們一致認(rèn)為同伴之間的合作是最重要的。在程序的設(shè)計中,我們彼此之間在設(shè)計的選擇中發(fā)生了很多的分歧,但是通過大家的討論協(xié)商,都達(dá)到了一個共識,最后大家共同努力完成了這次設(shè)計實(shí)驗。所以,首先,在這里,感謝古平老師在這周來的教導(dǎo),以及感謝小組同學(xué)在這段時間里的幫助,因為有你們,才使我們這次課程設(shè)計能夠

90、預(yù)期完成老師布置的任務(wù)。</p><p>  其次,因為這次的學(xué)習(xí),使我們對JAVA面向?qū)ο蟮木幊逃辛松钜徊降牧私?,因為這次的課程設(shè)計,使我在今后的工作和學(xué)習(xí)中,都有了很到的啟發(fā)。我想,這對于我們都是個很好的經(jīng)驗,因為團(tuán)隊合作是一種很必要的能力,每個人的能力都是有局限的,沒有人能只憑借自己一個人的能力就把一件事情做好,只有通過團(tuán)隊中每個成員的努力,發(fā)揮自身的長處,取長補(bǔ)短,最后才能將其做到最好。在這次課程設(shè)計實(shí)驗

91、中,我們學(xué)到的所有東西都將讓我們獲益良多,不管是對于以后的學(xué)習(xí)還是工作、生活。</p><p><b>  參考文獻(xiàn)</b></p><p>  1.《JAVA程序設(shè)計》朱慶生 古平主編,清華大學(xué)出版社。</p><p>  2.《java課程設(shè)計》黃明 梁旭 周紹斌編著,電子工業(yè)出版社出版。</p><p>  3.《

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論