目录

有没有简单图形编程语言

有没有简单图形编程语言?

问题背景:

现在有没有简单图形编程语言?

最好手机能用,用C做了一个小游戏,觉得字符难看,决定改成图形。

QPython 3,看了一下实例的贪吃蛇是用字符拼的。

C4driod,能用但是麻烦,主要是有很多渲染器画笔的概念,文字还要使用字库,手机不确定能不能用文件。。printf和getchar之类似乎不能用

有没有类似qbasic,logo,VB之类的语言。screen,line,pset等几个命令就能画图,

在现代的编程环境中,虽然大多数主流编程语言更加注重性能和灵活性,但仍然有一些 简单易用的图形编程语言 和工具,适合快速开发图形化小游戏,尤其是在手机或简单环境下使用。以下是几个推荐方案,它们的重点是 简单的绘图命令(如 linecirclepset 等) ,且适合在移动设备或轻量环境中使用:


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;
}
  • 运行方法
    1. 在电脑上可以直接运行在 。
    2. 在手机上可以用浏览器访问运行,或者通过 p5.js 的离线支持。

2. BASIC 语言:QB64

简介

  • QB64 是经典的 QBasic 的现代实现,支持图形化命令(如 LINECIRCLEPSET 等),同时扩展了对现代硬件的支持。
  • 适合人群 :怀旧 QBasic 的开发者,想用类似 SCREENLINE 的命令。

核心命令

  • 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
  • 运行方法

    1. 安装 。
    2. 运行代码,窗口会直接显示图形。
  • 适配手机

    虽然 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
  • 运行方法
    1. 下载并安装 Love2D 引擎。
    2. 将代码保存为 main.lua ,运行 Love2D 即可。
    3. 在手机上,可以使用 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
  • 运行方法

    1. 安装 。
    2. 直接运行代码。
  • 适配手机

    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

总结

根据你的需求(简单图形命令,适合手机运行),以下是推荐:

  1. p5.js :适合手机浏览器运行,命令直观,在线支持。
  2. Lua + Love2D :轻量且跨平台,适合制作小型游戏。
  3. BASIC-256 或 QB64 :复古风格,经典图形命令,适合怀旧开发者。

如果你追求快速上手和移动设备支持,推荐 p5.jsLove2D