ホールドはとりあえず完成した。
ただし、ホールドした時にバグで一部のブロックの破片が表示されたまま(ゲームに支障はない)が残る。
引数を増やしたがあまり意味はない(?)かもしれない
ホールドしたブロックの表示はできないまま
次回からの課題
・ホールドの破片バグの解消
・ホールドブロックの表示
・今回作ったソースコードの関数化
6/5
ホールドの表示の完成、ただし、前の表示がのこる。
腰がイキました
6/12
ホールドをブロックが落ちるまでに一度のみの使用に変更
7/3 ヘッダファイルの追加(佐藤浩との共同開発にシフトチェンジした。)
https://svn.cis.iwate-u.ac.jp/svn/csd/15/g08/proj/game/battle_mod/tetris.h
7/10タイトルを作った。かっちょいい。
7/31画面表示モジュールをやった。キャラを選択画面の上に表示できた。
・講義の感想
テトリス自体はネットにあったのだが、それを改良していくのはなかなか苦労した。
例えばホールド機能を付け加えるのでさえ4-5週かけてやっと完成したし、動作の設定をするのにも苦労した。
オープニングの画像を作るのは楽しかった。
みんな予想以上に凄いものを作っていたし、完成が速かったので、とてもよかった。
library IEEE;
use IEEE.std_logic_1164.all;
entity TRISTATE is
port ( A : in std_logic_vector(31 downto 0);
Y : out std_logic_vector(31 downto 0));
end TRISTATE;
architecture RTL of TRISTATE is
signal X :std_logic;
begin
process(A,X)
variable TMP :std_logic;
begin
TMP := '0';
for I in 0 to 31 loop
TMP := TMP xor A(I);
end loop;
X <= TMP;
if ( X = '0') then
Y <= A;
elsif( X = '1') then
for I in 0 to 31 loop
Y(I) <= 'Z';
end loop;
end if;
end process;
end RTL;