在电子制作中LCD显示屏是常见的器件。对于一些廉价的LCD显示屏来说,每个字符是以5x8的点阵显示的,例如LCD1602,是16列2行的单元组成,每个单元是由5x8的点阵构成,可以显示数字、字母、符号等。在软件开发中,字符点阵常常用于游戏信息的打印,许多古老的游戏也是基于点阵显示的,例如贪吃蛇与俄罗斯方块等。我用javascript写了一段程序,用于模拟字符点阵的显示。主要功能是在网页上打印点阵字符,并可以滚动显示。代码如下:
<!doctype html>
<html>
<head>
<title>Tetris</title>
<style>
.dot{
width: 11px;
height: 11px;
margin: 2px;
background-color: rgb(89, 69, 61);
border-radius: 2px;
float:left;
}
.row{
clear:both;
width: 1200px;
height: 15px;
}
#game_area{
width: 1200px;
margin: auto;
border: 10px rgb(166, 137, 124) solid;
border-radius: 2px;
}
.body{
background-color:rgb(219, 207, 202);
}
</style>
</head>
<body>
<div id='game_area'>
<script>
function $(name){
return document.getElementById(name);
}
var w=80;
var h=10;
for (i = 0;i < h;++i){
document.write('<div class="row">');
for (j = 0;j < w;++j){
document.write('<div class="dot" id="'+(i*w+j)+'"></div>');
}
document.write('</div>');
}
</script>
</div>
<script>
letter = [
[ 0x00, 0x00, 0x00, 0x00, 0x00 ], // sp
[ 0x00, 0x00, 0x2f, 0x00, 0x00 ], // !
[ 0x00, 0x07, 0x00, 0x07, 0x00 ], // "