簡體   English   中英

如何在Smalltalk Visual Works中制作矩陣類?

[英]How to make a Matrix Class in smalltalk Visual Works?

我是Smalltalk的新手,正在嘗試制作一個簡單的TicTacToe游戲,我希望我的模型類成為矩陣,但我找不到在Visual Works上做到這一點的方法。 我一直在關注本教程: http : //nerdysermons.blogspot.fr/2012/03/tictactoe-game-in-pharo-smalltalk.html ,它在Pharo上工作正常,但在使用Matrix類型時遇到問題以及simplebuttonmorph。 誰能解釋一下Pharo和VisualWorks之間的語法/軟件包/庫嗎? 謝謝 。

以下是一個建議-有很多實現矩陣的方法。

  1. 將一個類定義為Object的子類,並具有單元格,numberOfRows和numberOfColumns的實例變量。
  2. 創建一個類方法以給定行數和列數來初始化矩陣-使單元格為大小為行*列的數組
  3. 創建諸如at:at:和at:at:put:之類的方法,這些方法將按以下方式計算單元格數組的索引:
 cellNumberAt: row at: column ^(row - 1) * numberOfColumns + column at: row at: column put: value cells at: (self cellNumberAt: row at: column) put: value at: row at: column ^cells at: (self cellNumberAt: row at: column) rowAt: rowNumber | row | row := OrderedCollection new. 1 to: numberOfColumns do: [:columnNumber | row add: (self at: rowNumber at: columnNumber)]. ^row columnAt: columnNumber | column | column := OrderedCollection new. 1 to: numberOfRows do: [:rowNumber | column add: (self at: rowNumber at: columnNumber)]. ^column 

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM