有没有简单图形编程语言
目录
有没有简单图形编程语言?
问题背景:
现在有没有简单图形编程语言?
最好手机能用,用C做了一个小游戏,觉得字符难看,决定改成图形。
QPython 3,看了一下实例的贪吃蛇是用字符拼的。
C4driod,能用但是麻烦,主要是有很多渲染器画笔的概念,文字还要使用字库,手机不确定能不能用文件。。printf和getchar之类似乎不能用
有没有类似qbasic,logo,VB之类的语言。screen,line,pset等几个命令就能画图,
在现代的编程环境中,虽然大多数主流编程语言更加注重性能和灵活性,但仍然有一些
简单易用的图形编程语言
和工具,适合快速开发图形化小游戏,尤其是在手机或简单环境下使用。以下是几个推荐方案,它们的重点是
简单的绘图命令(如
line
、
circle
、
pset
等)
,且适合在移动设备或轻量环境中使用:
1. Processing / p5.js
简介
- Processing 是一种专注于图形和交互的语言,语法简单直观,适合新手学习和快速开发小游戏。
- p5.js 是 Processing 的 JavaScript 实现,可以在手机浏览器上运行。
- 适合人群 :需要简单绘图命令,快速上手编程。
核心命令
line(x1, y1, x2, y2)
:画线。rect(x, y, w, h)
:画矩形。ellipse(x, y, w, h)
:画椭圆。point(x, y)
:画点。text("string", x, y)
:绘制文字。
优点
- 入门简单,几乎不需要复杂的设置。
- 可视化极强,直接支持图形绘制。
- p5.js 在手机浏览器中可以直接运行,无需安装额外的软件。
示例:贪吃蛇
以下是一个简单的贪吃蛇实现的代码片段(使用 p5.js):
let x = 250, y = 250, size = 10;
function setup() {
createCanvas(500, 500); // 创建画布
}
function draw() {
background(0); // 背景颜色
fill(255); // 填充颜色
rect(x, y, size, size); // 绘制蛇的方块
}
function keyPressed() {
if (keyCode === UP_ARROW) y -= size;
if (keyCode === DOWN_ARROW) y += size;
if (keyCode === LEFT_ARROW) x -= size;
if (keyCode === RIGHT_ARROW) x += size;
}
- 运行方法
:
- 在电脑上可以直接运行在 。
- 在手机上可以用浏览器访问运行,或者通过 p5.js 的离线支持。
2. BASIC 语言:QB64
简介
- QB64
是经典的 QBasic 的现代实现,支持图形化命令(如
LINE
、CIRCLE
、PSET
等),同时扩展了对现代硬件的支持。 - 适合人群
:怀旧 QBasic 的开发者,想用类似
SCREEN
和LINE
的命令。
核心命令
SCREEN
:设置图形模式。LINE
:画线。CIRCLE
:画圆。PSET
:画点。PRINT
:在屏幕上显示文字。
优点
- 和经典的 QBasic 非常类似,学习成本低。
- 直接支持简单的图形操作,无需复杂配置。
- 支持文件操作、音频、以及现代 API。
示例代码:贪吃蛇
SCREEN 12
x = 320
y = 240
DO
LINE (x, y)-(x + 10, y + 10), 15, BF ' 绘制蛇身体
a$ = INKEY$ ' 获取键盘输入
SELECT CASE a$
CASE "w": y = y - 10
CASE "s": y = y + 10
CASE "a": x = x - 10
CASE "d": x = x + 10
END SELECT
SLEEP 50
LOOP
运行方法 :
- 安装 。
- 运行代码,窗口会直接显示图形。
适配手机 :
虽然 QB64 主要适配桌面,但可以通过一些 DOS 模拟器(如 Magic DOSBox )在手机上运行。
3. Lua + Love2D
简介
- Lua 是一种轻量级嵌入式脚本语言,结合 Love2D 框架,可以非常方便地进行 2D 游戏开发。
- 适合人群 :希望在手机或轻量环境中快速开发小游戏。
核心命令
love.graphics.line(x1, y1, x2, y2)
:画线。love.graphics.rectangle(mode, x, y, w, h)
:画矩形。love.graphics.circle(mode, x, y, r)
:画圆。love.graphics.print(text, x, y)
:绘制文字。
优点
- 体积小,运行效率高。
- 支持跨平台(包括手机)。
- 语法简单,适合初学者。
示例:贪吃蛇
function love.load()
x, y = 100, 100
size = 10
end
function love.update(dt)
if love.keyboard.isDown("up") then y = y - size end
if love.keyboard.isDown("down") then y = y + size end
if love.keyboard.isDown("left") then x = x - size end
if love.keyboard.isDown("right") then x = x + size end
end
function love.draw()
love.graphics.rectangle("fill", x, y, size, size) -- 画蛇
end
- 运行方法
:
- 下载并安装 Love2D 引擎。
- 将代码保存为
main.lua
,运行 Love2D 即可。 - 在手机上,可以使用 Love2D Player 应用直接运行。
4. Small Basic
简介
- Microsoft Small Basic 是一款专为初学者设计的简单编程语言,支持基本的图形功能。
- 适合人群 :希望用极少的命令实现小游戏。
核心命令
GraphicsWindow.DrawLine(x1, y1, x2, y2)
:画线。GraphicsWindow.FillRectangle(x, y, width, height)
:画矩形。GraphicsWindow.DrawEllipse(x, y, width, height)
:画椭圆。GraphicsWindow.ShowMessage(text, title)
:显示消息框。
优点
- 极简语法,易学易用。
- 内置图形窗口,适合图形化开发。
示例:贪吃蛇
x = 100
y = 100
size = 10
While ("True")
GraphicsWindow.Clear()
GraphicsWindow.FillRectangle(x, y, size, size)
key = GraphicsWindow.LastKey
If (key = "W") Then y = y - size
If (key = "S") Then y = y + size
If (key = "A") Then x = x - size
If (key = "D") Then x = x + size
Program.Delay(100)
EndWhile
运行方法 :
- 安装 。
- 直接运行代码。
适配手机 :
Small Basic 主要适配桌面,暂不支持手机。
5. BASIC-256
简介
- 一种面向教育的 BASIC 实现,支持图形命令和交互。
- 适合人群 :希望用简单的命令快速开发图形程序。
核心命令
color
:设置颜色。line
:绘制线条。circle
:绘制圆形。text
:绘制文字。
示例代码
clg
x = 160
y = 120
do
color red
rect x, y, 10, 10
key = input("")
if key = "w" then y = y - 10
if key = "s" then y = y + 10
if key = "a" then x = x - 10
if key = "d" then x = x + 10
loop
总结
根据你的需求(简单图形命令,适合手机运行),以下是推荐:
- p5.js :适合手机浏览器运行,命令直观,在线支持。
- Lua + Love2D :轻量且跨平台,适合制作小型游戏。
- BASIC-256 或 QB64 :复古风格,经典图形命令,适合怀旧开发者。
如果你追求快速上手和移动设备支持,推荐 p5.js 或 Love2D 。