在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用Excel去開發一種俄羅斯方塊游戲呢

大魚機器人 ? 來源:編碼珠璣 ? 作者:劉亞曦 ? 2022-08-25 10:00 ? 次閱讀

前言

看到這個題目,想必你一定會感到非常驚訝,什么,Excel居然能開發游戲?

沒錯,Excel的強大取決于使用者,遇強則強,遇弱則弱。

但我這篇文章并不是為了展示Excel使用過程中的奇技淫巧,而是主要寫給那些準備學習編程但又沒什么計算機基礎的那些人,或者對Excel感興趣的那些人。

如果這篇文章對你有一定幫助,我希望你能夠將這片文章分享出去,讓更多的人看到;如果你已經是一名有經驗的開發者,我也希望你能提出寶貴的意見。

對于那些正在學習編程的人,尤其是那些從其他領域跨入這個行業的人,興趣才是最大的動力。我從事計算機編程這么長時間,感覺編程是一件非常有意義的事情。

然而我卻我經常聽到有些人,尤其是那些在校學生們抱怨說編程學起來太枯燥了,堅持不下去。

覺得這部分人一方面是方向錯了,另一方面就是在實際學習過程中對自己做出成果沒有任何的成就感,而后者,往往占據了重要原因。

我認為,對于編程的初學者,選擇第一門語言應該具備下面兩個特點:

1)盡可能簡單,盡量少與底層硬件(諸如內存管理等)相關聯,調試方便,IDE界面簡單;

2)功能相對強大,能開發各種小插件工具;

就目前行業內比較常用的編程語言中,能夠同時滿足上述兩個特點的也就數Python,office for VBA,Java了,然而,Python雖然簡單功能又強大,但是需要配置環境,而且要安裝臃腫的IDE,這些對于初學者來說,無形之中又增加了學習成本,更別說Java了,所以剩下的就數VBA(Visual Basic for Application)了。

VBA屬于visual basic語言的子集,除了繼承了部分vb功能外,還特意針對一些軟件做了接口封裝,使用方便。有人說VBA語法太隨意,對于初學者不是件好事,如果學C的話,將來學C++就簡單很多了。

我不同意這種觀點,對于前者,仁者見仁,但后者就是在扯淡,因為C++是一門極其復雜的編程語言,除了繼承了C的繁瑣指針以外,還衍生出了諸如多重繼承、類模板、智能指針等恐怖級別的編程范式,所以說,對于初學者,我不建議直接就去學C++.

為什么選擇VBA作為初學者的語言呢,因為他除了滿足上面所說的兩個特點外,還有一些其他的優點,諸如:

1)使用簡單:不需要安裝開發工具,更不需要配環境、安裝語言包,只要你電腦里面有office軟件即可。

2)用途廣泛:幾乎所有的工程軟件、辦公軟件都支持用VBA做二次開發,例如財務人員如果發現Excel自帶的公式有局限性的話,完全可以自己用VBA開發自己需要的控件;

機械設計人員如果學了VBA后可以開發一些自己需要的代碼塊,極大程度地提高自己CAD的繪圖速度。很難想象,Excel的重度用戶尤其是財務人員不懂VBA的話他的工作量有多可怕。

3)調試簡單方便。

所以,這次我也選擇VBA作為這次編寫Demo的語言,為了照顧更多的初學者,我將每一步的細節都盡可能地呈現出來,由于每個Excel版本不一樣,我電腦用的是2010版的。

所以,我就用2010版進行說明,其他版本也一樣,只是界面可能稍有區別。我相信,只要親手按照我的方法做出這個游戲,除了你將認識到Excel的強大之處外,你也將逐步體會到編程的樂趣。

鑒于時間所限,內容可能有部分疏忽之處,還望大家提出改正。

游戲框架

首先看一下游戲最終大致的效果圖:

84e559c4-1ab9-11ed-ba43-dac502259ad0.gif

首先我們思考一下俄羅斯方塊游戲的大致架構:

1)初始化界面:創建方塊所需要的地圖。

2)隨機生成俄羅斯方塊:俄羅斯方塊總共有7種形態,每種形態均有4個框格組成,每種方塊各對應一種顏色。可以創建一個數組存儲每種方塊的坐標,再用另外一個數組存儲方塊的對應的顏色。

3)移動旋轉方塊:分為向左,向右,向下。擦拭完后重新繪制,產生移動旋轉的效果。

4)沒產生新的方塊,都進行一定速度的下落,一旦碰到障礙物,不能下落,再生成新的方塊。

5)不斷掃描是否有任何一行填滿,如果為真,則本行刪除,上面下落。每行積分為10分。

開發過程

首先創建一個Excel文件,隨意命名。打開后,由于office默認隱藏了開發工具狀態欄,所以我們需要在Excel選項>自定義功能區將其調出來,將其勾選后確認:

850ea784-1ab9-11ed-ba43-dac502259ad0.gif

85292348-1ab9-11ed-ba43-dac502259ad0.jpg

隨后,我們發現主界面多了開發工具的選項:

853c0558-1ab9-11ed-ba43-dac502259ad0.png

我們再在Sheet1表格里面將A~K列的列寬大致調成跟行高一樣,讓它大致稱為一個正方形的區域:

8548cb76-1ab9-11ed-ba43-dac502259ad0.gif

856d406e-1ab9-11ed-ba43-dac502259ad0.png

我們點擊Visual Basic菜單,打開編寫代碼界面,我們插入首先插入一個代碼模塊,用于編寫我們自己的代碼:

8578281c-1ab9-11ed-ba43-dac502259ad0.gif

由于方塊有7中形狀,為了讓程序繪制方便,我用一個三維數組存儲所有形狀的坐標,每種形狀都有一個中心坐標(0,0),其余三個方框的坐標按照中心坐標來計算相對坐標,例如丁字形狀的方塊:

8593d602-1ab9-11ed-ba43-dac502259ad0.png

如果中心的坐標為(0,0)的話,剩余三個從右到左逆時針三個坐標分別為(0,1),(-1,0),(0,-1),之所以將垂直方向作為X軸是因為Excel坐標的固有屬性。

例如Cells(1,2)代表第一行第二列個單元格。每個方塊的對象有中心坐標,顏色,形狀等屬性,所以我們需要定義幾個模塊變量,代碼如下:

Option Explicit

Dim MySheet As Worksheet
Dim iCenterRow As Integer '方塊中心行
Dim iCenterCol As Integer '方塊中心列
Dim ColorArr() '7種顏色
Dim ShapeArr() '7種方塊
Dim iColorIndex As Integer '顏色索引
Dim MyBlock(4, 2) As Integer '每個方框的坐標數組,會隨著方塊的移動而變化
Dim bIsObjectEnd As Boolean '本個方塊是否下降到最低點
Dim iScore As Integer '分數

考慮到每種方塊坐標的不一樣,所以我采用一個三維數組來存儲方塊坐標,為了方便,我采用VBA自帶的接口Array()函數給自己的ShapeArr()賦值。

同時要在主界面上顯示出玩家的分數,所以這兩個功能我們作為一個初始化函數,我們定義一個Init()子過程,代碼如下:


'初始化 By@yaxi_liu
Private Sub Init()
Set MySheet = Sheets("Sheet1")
ColorArr = Array(3, 4, 5, 6, 7, 8, 9)
ShapeArr = Array(Array(Array(0, 0), Array(0, 1), Array(0, -1), Array(0, 2)), _
Array(Array(0, 0), Array(0, 1), Array(0, -1), Array(-1, -1)), _
Array(Array(0, 0), Array(0, 1), Array(0, -1), Array(-1, 1)), _
Array(Array(0, 0), Array(-1, 1), Array(-1, 0), Array(0, 1)), _
Array(Array(0, 0), Array(0, -1), Array(-1, 0), Array(-1, 1)), _
Array(Array(0, 0), Array(0, 1), Array(-1, 0), Array(-1, -1)), _
Array(Array(0, 0), Array(0, 1), Array(0, -1), Array(-1, 0)))

With MySheet.Range("B1:K20")
.Interior.Pattern = xlNone
.Borders.LineStyle = xlNone

.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).Weight = xlMedium
.Borders(xlEdgeLeft).Weight = xlMedium
End With

'設定長寬比例
MySheet.Columns("A:L").ColumnWidth = 2
MySheet.Rows("1:30").RowHeight = 13.5

iScore = 0
MySheet.Range("N1").Value = "分數"
MySheet.Range("O1").Value = iScore
End Sub

這時候,我們初始化變量與功能的函數基本上實現了。下一步我們要編寫生成一個新方塊的函數,為了實現程序的模塊化,低耦合,我們將本功能封裝成一個獨立的函數。

由于繪制函數DrawBlock()需要根據傳遞過來的做標數組來進行繪制,同時我們需要知道這個方塊的中心坐標在哪里,還有對應的顏色,所以我們需要傳遞4個參數,其中數組需要傳址(ByRef),代碼如下:


'繪制方塊,By@yaxi_liu
Private Sub DrawBlock(ByVal center_row As Integer, ByVal center_col As Integer, ByRef block() As Integer, ByVal icolor As Integer)
Dim Row As Integer, Col As Integer
Dim i As Integer
For i = 0 To 3
Row = center_row + block(i, 0)
Col = center_col + block(i, 1)
MySheet.Cells(Row, Col).Interior.ColorIndex = icolor '顏色索引
MySheet.Cells(Row, Col).Borders.LineStyle = xlContinuous '周圍加外框線
Next
End Sub

至此,繪制函數已經完成,為了防止Bug出現,我們需要測試一下,我們再定義一個入口函數,Start(),同時定義一個臨時方塊數組,調用DrawBlock()進行測試。在主界面添加一個按鈕,將其指定到Start函數,并將其拖入合適的位置:

85a93bd2-1ab9-11ed-ba43-dac502259ad0.gif

Start函數代碼如下:

Sub Start()
Call Init

iCenterRow = 5
iCenterCol = 6
iColorIndex = 4
Dim i As Integer
For i = 0 To 3
MyBlock(i, 0) = ShapeArr(iColorIndex)(i)(0)
MyBlock(i, 1) = ShapeArr(iColorIndex)(i)(1)
Next
Call DrawBlock(iCenterRow, iCenterCol, MyBlock, ColorArr(iColorIndex))
End Sub

我們運行一下,看看效果:

85c5f74a-1ab9-11ed-ba43-dac502259ad0.gif

好,測試結果顯示完全沒問題。

由于后期我們需要在表格最上方的固定位置不斷隨機生成新的方塊,所以我們應該將此功能再次封裝為一個獨立函數,為了防止產生偽隨機數,我們采用Timer作為當前種子,隨機生成0~6之間的數組,每個對應形狀數組與顏色數組的索引,代碼如下:

'隨機生成新的方塊函數 By@yaxi_liu
Private Sub GetBlock()
Randomize (Timer)
Dim i As Integer
iColorIndex = Int(7 * Rnd)
iCenterRow = 2
iCenterCol = 6

For i = 0 To 3
MyBlock(i, 0) = ShapeArr(iColorIndex)(i)(0)
MyBlock(i, 1) = ShapeArr(iColorIndex)(i)(1)
Next
Call DrawBlock(iCenterRow, iCenterCol, MyBlock, ColorArr(iColorIndex))
End Sub

既然生成了方塊,我們就要讓方塊能夠左右下移動,分為三個方向。移動的方法是首先擦除掉當前的方塊,再根據規定的移動方向,計算新的坐標,再根據新的坐標重新繪制,這樣就產生了移動的現象。但是,在移動之前,我們需要判斷是否可以移動。

首先,我們需要編寫判斷是否能夠移動或者旋轉的函數CanMoveRotate,此函數很簡單,也就是將移動后或者旋轉后的坐標傳遞過來,判斷是否越界,或者當前位置上是否有其他顏色即可,代碼如下:

'是否能夠移動或者旋轉函數,By@yaxi_liu
Private Function CanMoveRotate(ByVal center_row As Integer, ByVal center_col As Integer, ByRef block() As Integer) As Boolean
'本函數形參均為變換后的坐標

'首先判斷是否越界
Dim Row As Integer, Col As Integer
Dim i As Integer
CanMoveRotate = True
For i = 0 To 3
Row = center_row + block(i, 0)
Col = center_col + block(i, 1)
If Row > 20 Or Row < 0 Or Col > 11 Or Col < 2 Then '越界
CanMoveRotate = False
End If
If MySheet.Cells(Row, Col).Interior.Pattern <> xlNone Then '只要有一個顏色,則為阻擋
CanMoveRotate = False
End If
Next
End Function

我們還需要一個擦除當前方塊的函數EraseBlock,根據傳遞過來的坐標直接擦拭掉,代碼如下:

'擦除方塊 By@yaxi_liu
Private Sub EraseBlock(ByVal center_row As Integer, ByVal center_col As Integer, ByRef block() As Integer)
Dim Row As Integer, Col As Integer
Dim i As Integer
For i = 0 To 3
Row = center_row + block(i, 0)
Col = center_col + block(i, 1)
MySheet.Cells(Row, Col).Interior.Pattern = xlNone
MySheet.Cells(Row, Col).Borders.LineStyle = xlNone
Next
End Sub

我們再編寫移動方塊的函數MoveBlock,我們規定,形參direction代表方向,-1代表向左,0代表向下,1代表向右,注意移動后需要保存當前坐標。新增形參direction,代碼如下:

'移動方塊 By@yaxi_liu
Private Sub MoveBlock(ByVal center_row As Integer, ByVal center_col As Integer, ByRef block() As Integer, ByVal icolor As Integer, ByVal direction As Integer)
Dim Row As Integer, Col As Integer
Dim i As Integer
Dim old_row As Integer, old_col As Integer '保存最早的中心坐標
old_row = center_row
old_col = center_col

'首先擦除掉原來位置的
Call EraseBlock(center_row, center_col, block)

'-1 代表向左,1 代表向右,0 代表鄉下
Select Case direction
Case Is = -1
center_col = center_col - 1
Case Is = 1
center_col = center_col + 1
Case Is = 0
center_row = center_row + 1
End Select

'再繪制
If CanMoveRotate(center_row, center_col, block) Then
Call DrawBlock(center_row, center_col, block, icolor)
'保存中心坐標
iCenterRow = center_row
iCenterCol = center_col
Else
Call DrawBlock(old_row, old_col, block, icolor)
'保存中心坐標
iCenterRow = old_row
iCenterCol = old_col
If direction = 0 Then
bIsObjectEnd = True
End If
End If

'保存方塊坐標
For i = 0 To 3
MyBlock(i, 0) = block(i, 0)
MyBlock(i, 1) = block(i, 1)
Next

End Sub

移動方塊實現后,我們再來編寫旋轉方塊函數RotateBlock,這里我們統一規定為逆時針旋轉。跟移動函數一樣,方法也是先擦除掉舊坐標的后,再根據新坐標繪制出新的方塊。只不過旋轉稍微麻煩一點。

不難計算出,假如一個向量(x,y)在逆時針旋轉90度后的坐標為(-y,x).根據這個公式,編寫旋轉函數。但是注意事先應該先判斷是否達到旋轉的條件。代碼如下:



'旋轉方塊函數 By@yaxi_liu
Private Sub RotateBlock(ByVal center_row As Integer, ByVal center_col As Integer, ByRef block() As Integer, ByVal icolor As Integer)
Dim i As Integer
'先擦除原來的
Call EraseBlock(center_row, center_col, block)
Dim tempArr(4, 2) As Integer
'保存數組
For i = 0 To 3
tempArr(i, 0) = block(i, 0)
tempArr(i, 1) = block(i, 1)
Next
'旋轉后的坐標重新賦值
For i = 0 To 3
block(i, 0) = -tempArr(i, 1)
block(i, 1) = tempArr(i, 0)
Next i

'重新繪制新的方塊
If CanMoveRotate(center_row, center_col, block) Then
Call DrawBlock(center_row, center_col, block, icolor)
'保存方塊坐標
For i = 0 To 3
MyBlock(i, 0) = block(i, 0)
MyBlock(i, 1) = block(i, 1)
Next
Else
Call DrawBlock(center_row, center_col, tempArr, icolor)
'保存方塊坐標
For i = 0 To 3
MyBlock(i, 0) = tempArr(i, 0)
MyBlock(i, 1) = tempArr(i, 1)
Next
End If

'保存中心坐標
iCenterRow = center_row
iCenterCol = center_col

End Sub

這時候,旋轉、移動函數均已編寫完畢。為了能夠讓游戲相應鍵盤事件,我們需要在對應的工作表代碼層添加事件函數,注意這里我們需要調用Windows API

我們規定鍵盤的左鍵為方塊向左MoveObject(-1),右鍵為方塊向右MoveObject(1),下鍵為方塊向下MoveObject(0),上鍵為方塊旋轉RotateObject()。我們再Sheet1工作表里面編寫如下WorkSheet事件代碼:



'鍵盤事件代碼,By@yaxi_liu
#If VBA7 And Win64 Then
Private Declare PtrSafe Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
#Else
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
#End If
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim keycode(0 To 255) As Byte
GetKeyboardState keycode(0)
If keycode(38) > 127 Then '上
Call RotateObject
ElseIf keycode(39) > 127 Then '右
Call MoveObject(1)
ElseIf keycode(40) > 127 Then '下
Call MoveObject(0)
ElseIf keycode(37) > 127 Then '左
Call MoveObject(-1)
End If
End Sub

由于我們自己定義的MoveBlock與RotateBlock包類對象的形參,因此事件響應中不能直接調用。

在這里我們將用兩個 Public 的MoveObject與RotateObject函數在類模塊里面再次封裝,方便事件調用,代碼如下:


'移動對象 By@yaxi_liu
Public Sub MoveObject(ByVal dir As Integer)
Call MoveBlock(iCenterRow, iCenterCol, MyBlock, ColorArr(iColorIndex), dir)
End Sub


'旋轉對象 By@yaxi_liu
Public Sub RotateObject()
Call RotateBlock(iCenterRow, iCenterCol, MyBlock, ColorArr(iColorIndex))
End Sub

至此,方塊功能方面已經完全實現,我們隨機生成一個進行測試:

85d46b18-1ab9-11ed-ba43-dac502259ad0.gif

為了方便,我們將按鈕1里面的文字更改成“啟動游戲四個字”:

85e54d8e-1ab9-11ed-ba43-dac502259ad0.gif

隨后,開始編寫程序自動運行的代碼。由于俄羅斯方塊是生成方塊后,按照一定的速度進行下降,一旦碰到障礙物后本方塊結束,再生成新的方塊,如此循環。由于VBA不支持定時器,所以我們采用while(true)循環的方法進行不斷生成方塊。

為了避免CPU資源過度占用,我們在循環之間加入延時函數,供循環調用,代碼如下:


'延時函數 By@yaxi_liu
Private Sub delay(T As Single)
Dim T1 As Single
T1 = Timer
Do
DoEvents
Loop While Timer - T1 < T
End Sub

在下降過程中,我們需要知道是否某一行已經滿了,判斷的方法很簡單,查詢整行是否全部涂色即可。

如果滿了,我們刪除本行,同時將第一行到本行下降填充。同時更新分數。因此我們再引入一個函數DeleteFullRow,代碼如下:


'消除滿行函數 By@yaxi_liu
Private Sub DeleteFullRow()
Dim i As Integer, j As Integer
For i = 1 To 20
For j = 2 To 11
If MySheet.Cells(i, j).Interior.ColorIndex < 0 Then
Exit For
ElseIf j = 11 Then
MySheet.Range(Cells(1, 2), Cells(i - 1, j)).Cut Destination:=MySheet.Range(Cells(2, 2), Cells(i, j)) 'Range("B2:K18")
iScore = iScore + 10
End If
Next j
Next i
MySheet.Range("N1").Value = "分數"
MySheet.Range("O1").Value = iScore
End Sub


再在Start()函數里面添加while循環,上面兩個函數一樣添加進去代碼如下:

'啟動函數By@yaxi_liuSubStart()CallInit While (True) Call GetBlock bIsObjectEnd = False '本方塊對象是否結束 While (bIsObjectEnd = False) Call delay(0.5) Call MoveBlock(iCenterRow, iCenterCol, MyBlock, ColorArr(iColorIndex), 0) MySheet.Range("L21").Select With MySheet.Range("B1:K20") .Borders(xlEdgeBottom).Weight = xlMedium .Borders(xlEdgeRight).Weight = xlMedium .Borders(xlEdgeLeft).Weight = xlMedium End With Wend Call DeleteFullRow WendEnd Sub

到這里,本游戲的編寫就算徹底結束了,點擊Sheet1界面上面的“按鈕1”按鈕即可開始游戲。

我們再試玩一下,向左鍵代表向左,右鍵代表向右,上鍵代表旋轉,下鍵代表下降。看一下效果:

85f8e5c4-1ab9-11ed-ba43-dac502259ad0.gif

哈哈,試玩結束沒問題,非常完美,過程雖然長久,但值得你細細研究,也希望你能從中夠體會到編程的樂趣。




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1950

    瀏覽量

    34985
  • Excel
    +關注

    關注

    4

    文章

    224

    瀏覽量

    55627
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85038
  • 俄羅斯方塊
    +關注

    關注

    0

    文章

    22

    瀏覽量

    10659

原文標題:用Excel編寫俄羅斯方塊?沒錯!

文章出處:【微信號:All_best_xiaolong,微信公眾號:大魚機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    聯核科技攜新品無人叉車亮相俄羅斯CeMAT Russia 2024

    9月17日,俄羅斯物流裝備行業規模最大、最具影響力CeMAT RUSSIA (2024年俄羅斯莫斯科運輸物流展覽會)在莫斯科Crocus-Expo IEC盛大開幕。 作為智能物流站式解決方案提供商
    的頭像 發表于 09-23 11:27 ?377次閱讀
    聯核科技攜新品無人叉車亮相<b class='flag-5'>俄羅斯</b>CeMAT Russia 2024

    俄羅斯微電子論壇:未來科技的脈動,150+企業的創新盛宴-俄羅斯電子元器件展強力推動

    俄羅斯微電子論壇2024是該行業本年度的關鍵活動,該論壇將于 2024 年 9 月 23 日至 28 日在俄聯邦直轄區“天狼星”舉行。自2019年以來,論壇期間也有展覽舉行,在5年的時間里,該展覽已從個小型演示區發展成為
    的頭像 發表于 08-27 17:17 ?467次閱讀
    <b class='flag-5'>俄羅斯</b>微電子論壇:未來科技的脈動,150+企業的創新盛宴-<b class='flag-5'>俄羅斯</b>電子元器件展強力推動

    俄羅斯電子元器件展:俄羅斯微電子論壇-ExpoElectronica 全力支持

    2024 年 4 月 16 日,2024 年 俄羅斯微電子論壇 的回顧和分析會議在莫斯科:ExpoElectronica俄羅斯國際電子元器件、組件、模塊及加工設備與技術展(以下簡稱“俄羅斯電子元器件
    的頭像 發表于 08-14 12:45 ?612次閱讀
    <b class='flag-5'>俄羅斯</b>電子元器件展:<b class='flag-5'>俄羅斯</b>微電子論壇-ExpoElectronica 全力支持

    基于FPGA的“俄羅斯方塊”設計(附代碼)

    今天給各位大俠帶來基于FPGA的“俄羅斯方塊”設計,設計思路以及代碼參考文檔。本篇主要在FPGA上實現了個經典小游戲俄羅斯方塊”。本項目基本解決方案是,使用Xilinx Zynq
    發表于 07-14 08:31

    俄羅斯首臺光刻機問世

    部分,目前正在對其進行測試,該設備可確保生產350nm的芯片。什帕克還指出,到2026年將獲得130nm的國產光刻機,下步將是開發90nm光刻機,并繼續向下邁進。 此前,俄羅斯
    的頭像 發表于 05-28 15:47 ?846次閱讀

    俄羅斯推出首臺光刻機:350nm

    的芯片。Shpak表示,“我們組裝并制造了第臺國產光刻機。作為澤廖諾格勒技術生產線的部分,目前正在對其進行測試。”俄羅斯接下來的目標是在2026年制造可以支持130nm工藝的光刻機。 據報道,
    的頭像 發表于 05-28 09:13 ?719次閱讀

    英特爾在俄羅斯的業務僅剩名員工,去年損失231萬

    這場整頓始于2022年2月俄烏戰爭之后不久。同年4月,英特爾宣布暫停其在俄羅斯的所有商業活動,原因是此前已決定停止向這個國家供應相關技術。
    的頭像 發表于 05-06 09:45 ?317次閱讀

    基于FPGA的“俄羅斯方塊”系統設計

    今天給各位大俠帶來基于FPGA的“俄羅斯方塊”設計。 設計目的 通過此次項目,完成以下目的: 1) 熟悉Xilinx FPGA的架構及開發流程; 2) 設計個功能完整的系統
    發表于 05-02 19:27

    英特爾在俄羅斯的業務大幅削減至

    英特爾在俄羅斯的業務調整始于2022年2月俄烏沖突爆發后不久。同年4月,英特爾宣布暫停在俄羅斯的全部業務,并決定停止向該國輸送技術。
    的頭像 發表于 04-29 09:21 ?468次閱讀

    它人機器人與俄羅斯的AVIALIFT正式攜手,達成里程碑式合作

    4月15日,它人機器人與俄羅斯的AVIALIFT正式攜手,達成里程碑式合作。這次合作不僅將我們的機器人產品、尖端技術和優質服務帶到了廣袤的俄羅斯,更是它人機器人在國際舞臺上的大飛躍。
    的頭像 發表于 04-17 09:26 ?614次閱讀
    它人機器人與<b class='flag-5'>俄羅斯</b>的AVIALIFT正式攜手,達成里程碑式合作

    第36屆俄羅斯國際通信展來襲,易天與您共赴科技盛宴

    萬物生長的季節,第36屆俄羅斯國際通信展(SVIAZ)即將在莫斯科開幕。作為俄羅斯通信展的常駐嘉賓,易天光通信本屆展會也不會缺席,期待與全球同仁共赴這場科技盛宴。
    的頭像 發表于 04-12 16:56 ?431次閱讀
    第36屆<b class='flag-5'>俄羅斯</b>國際通信展來襲,易天與您共赴科技盛宴

    通過51單片機實現俄羅斯方塊游戲編程,Proteus仿真,論文,LCD12864液晶

    設計要求 (1)利用51單片機,設計俄羅斯方塊游戲,完成硬件電路的開發和程序的編寫調試; (2)采用LCD12864液晶作為游戲運行界面
    發表于 04-03 19:59

    俄羅斯自主芯片嚴重受挫:超過50%的都是廢片!

    %。 ? 報道援引消息人士的話稱:“(貝加爾電子)超過半的芯片都是瑕疵品,原因是相關設備還需要正確調校,二是芯片封裝工人技能不足。” ? 消息人士還透露,俄羅斯已經可以小批量封裝處理器,但達到
    的頭像 發表于 04-02 08:42 ?179次閱讀

    俄羅斯:2024年推出本土游戲主機,助力游戲產業發展

     同年2月,專注于電子游戲產業發展的RVI機構曾向俄羅斯政府提交了份涵蓋八十三個要點的五年整體戰略規劃,以助力俄游戲開發者實現飛躍式進步。
    的頭像 發表于 03-28 15:14 ?846次閱讀

    FPGA實現的“俄羅斯方塊游戲系統設計

    本項目主要在FPGA上實現了個經典小游戲俄羅斯方塊”。本項目基本解決方案是,使用Xilinx Zynq系列開發板 ZedBoard 作為平臺,實現主控模塊,通過VGA接口來控制屏幕
    發表于 03-28 10:41 ?2078次閱讀
    FPGA實現的“<b class='flag-5'>俄羅斯方塊</b>”<b class='flag-5'>游戲</b>系統設計
    主站蜘蛛池模板: 欧美午夜网 | 天天操夜夜摸 | 欧美三级中文字幕hd | 婷婷六月综合网 | 狠狠涩 | 色噜噜狠狠狠综合曰曰曰 | 手机看片神马午夜片 | 中文字幕亚洲天堂 | 成年网站在线在免费播放 | 美女 免费 视频 黄的 | 韩国三级视频在线 | 六月婷婷七月丁香 | 天天狠狠弄夜夜狠狠躁·太爽了 | 深夜桃色影院 | 日日爽夜夜爽 | 久久久夜 | 亚洲色图 第一页 | 国产经典一区 | 夜夜偷影视 | 久久天天躁夜夜躁狠狠躁2015 | 亚洲精品电影天堂网 | 四虎影院免费在线 | 一卡二卡≡卡四卡亚洲高清 | 四虎影院最新地址 | 色狠狠一区二区 | 久久久综合色 | 国产色丁香久久综合 | 免费大秀视频在线播放 | 成人a大片高清在线观看 | 视频二区在线观看 | 精品免费福利视频 | 永久免费影视在线观看 | 午夜69成人做爰视频网站 | 免费看欧美一级特黄a大片一 | 国产青草| 在线观看日本免费视频大片一区 | 噜噜色噜噜色 | 性瘾高h姚蕊全文免费阅读 性做久久久久 | 男操女视频在线观看 | 亚洲综合精品一区二区三区中文 | 日韩一卡 二卡 三卡 四卡 免费视频 |