Blogs


Which Apps Should I Use for LEGO Robots?

Recently, LEGO has updated its robotics software, especially for the products of LEGO MindStorms EV3 and LEGO MindStorms Inventor. Facing so many apps, you might wonder which apps you should install and what are their differences? In this post, I will introduce the apps of three LEGO robots, their download positions and differences. LEGO MindStorms …

Continue reading Which Apps Should I Use for LEGO Robots?

From PyGame to GoDot – What’s Their Difference?

About PyGame If you would like to use Python to develop 2D game, your first choice might be PyGame, which is popular among Python game developers. Go to the website https://www.pygame.org/docs/ref/key.html, you could browse all of the classes and their explanation. All of the stuffs are grouped into the pygame library. If you do not …

Continue reading From PyGame to GoDot – What’s Their Difference?

Use PyGame to Create Tetris Game – An Updated Version Part 2

In my previous post, I introduced the first part of Tetris game written in Python. Today, let’s continue the left part of the code. In the first part, we have introduced the class Piece and several functions which will be used by the main() function. Now, let’s see what the main() function is doing. Starting …

Continue reading Use PyGame to Create Tetris Game – An Updated Version Part 2

Use PyGame to Create Tetris Game – an Updated Version

In the previous posts, I once analyzed a Tetris game developed in Scratch. It uses Pen drawing tab to draw all the tetris pieces. However, due to the limitation of data structure in Scratch, the code structure is super complicated compared to other Scratch projects. How about we implement it in Python? On YouTube, some …

Continue reading Use PyGame to Create Tetris Game – an Updated Version

Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 4

In the previous posts, I introduced the core sprite of the Blocky game, the “Blocks” sprite, which is responsible for adding, deleting or editing the environment blocks. Starting from this post, we are going to switch to the other core sprite – Hitbox. Homescreen UI Sprite Before introducing the code of Hitbox sprite, I would …

Continue reading Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 4

Python Programming: Use Turtle Library to Realize Animation

In the previous post, I use Scratch 3.0 to create animation with Pen functionality. Could we do the same thing using Python? Definitely Yes. We could use Turtle library to generate the same effect, but with more concise code structure. In this post, Let me introduce how to implement it. If you would like to …

Continue reading Python Programming: Use Turtle Library to Realize Animation

Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 3

In the previous post, I introduced part of the Stamp block. As I have said, this is a very long code segment and its functionality could be divided into three parts. In the previous Part 2 analysis, I analysed the first functionality – drawing the blocks on the stage. In this post, I will continue …

Continue reading Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 3

Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 2

In Part 1 of this project, I introduced how this game realized some stylish visual effects, how to encode its data and store the data in a file, and how to import the data from a file by decoding its data and filling in several lists. In this post, I would like to explain how …

Continue reading Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 2

Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 1

In previous post, I summarized the key points of platformer game tutorial video uploaded by well known Youtuber. However, some platformer games could even go further. They could allow user to define the ground, obstacles, checkpoints and then save their level setting information to their computer. When the user plays the game, they could start …

Continue reading Learn Scratch by Analyzing Others’ Project – Platformer Game with Editing Functionality Part 1

Analyze Python Project – Integrate Tkinter and Turtle and Respond to Mouse and Keypress

In previous posts, I introduced some sample projects from Pygame installation folder. Besides Pygame, Turtle and Tkinter modules are also popular for Python learning beginners. Tkinter package is a standard Python interface to Tk GUI toolkit. It could design window and different widgets, such as button, textbox, label, canvas and handle the interaction with user …

Continue reading Analyze Python Project – Integrate Tkinter and Turtle and Respond to Mouse and Keypress

Analyze PyGame Example Project – Music_drop_fade.py – Part 2

In the previous post, I introduced the first part of the project Music_drop_fade.py. It defines functions that would be called by main() function. In this post, I will introduce the main() function and wrap up the whole project. So let’s start now! The main() function starts at line 148. It first defines several global variables …

Continue reading Analyze PyGame Example Project – Music_drop_fade.py – Part 2

Analyze PyGame Example Project – Music_drop_fade.py – Part 1

In this post, I would like to analyze another Python sample project. Its function is to play the music file when dragging and dropping them to the project window. The program could also respond to different keys to change volume, play forward or rewind. Those functions have being listed at the header section of the …

Continue reading Analyze PyGame Example Project – Music_drop_fade.py – Part 1

Design Puzzle Game “Eight Queens” with PyGame – A Detailed Code Analysis

In previous post, I introduced how to use PyGame to convert a Scratch project into a Python project. If you are interested in that project, you could refer to this post: Forest Maze. In today’s post, I would like to introduce another project written in Python and run on PyGame. Compared to previous project, this …

Continue reading Design Puzzle Game “Eight Queens” with PyGame – A Detailed Code Analysis

New LEGO MindStorms – Exploration Rover Model Analysis

In the new released LEGO MindStorms, its app contains multiple models. Some models come from LEGO Community. In today’s post, let’s build one model and analyze its structure. You could find this model from LEGO app shown as below. Model Structure This model is pretty big and heavy. Its body is widely stretched and symmetric. …

Continue reading New LEGO MindStorms – Exploration Rover Model Analysis

Learn Scratch 3.0 by Analyzing Project – Melting Line Puzzle Game Part 2

In the last post, I analyzed those UI related sprite of the Melting Line puzzle game. In this post, I would like to introduce the list structure and how to judge pass/fail condition of the game. All of these functions are implemented by Algorithm Sprite. Algorithm Sprite “when I receive start a level” Code Segment …

Continue reading Learn Scratch 3.0 by Analyzing Project – Melting Line Puzzle Game Part 2

Learn Scratch 3.0 by Analyzing Project – Melting Line Puzzle Game Part 1

In the previous posts, I analyzed many puzzle projects, such as Gliding Puzzle, Game 2048, Tetris, etc. There is much difference between puzzle game and other popular Scratch games. Puzzle games usually have static background and focus less on sprite’s costume and actions. Therefore, some players might feel that puzzle games are not so shiny. …

Continue reading Learn Scratch 3.0 by Analyzing Project – Melting Line Puzzle Game Part 1

The Video Sensing Could not Work in Scratch 3.0? – Allow Scratch to Visit Webcam First

If you are using Video Sensing to make interactive game in Scratch 3.0, you might meet the issue that the camera seems not being able to be turned on. Recently, I met this issue. I searched Scratch discussion forum and noticed someone had reported the same problem but no answer was given in the post, …

Continue reading The Video Sensing Could not Work in Scratch 3.0? – Allow Scratch to Visit Webcam First

LEGO Spike Prime – Explanation of Accelerometer Data and Line Graph Analysis

In the App of LEGO Spike Prime, there is an advanced unit category which creates different devices, logs and analyzes gyroscope or accelerometer data. In today’s post, I will use the same model of “Build a Smart Kettlebell” project and introduce how to read and analyze the recorded accelerometer data. I will also update the …

Continue reading LEGO Spike Prime – Explanation of Accelerometer Data and Line Graph Analysis

LEGO Spike Prime – Use PID to Control A Self-balancing Robot and Some Key Points

On YouTube, I just accidentally found a video introducing a self-balanced robot controlled with PID. That is really amazing. However, when I tried to build the model and copied its code, I met some problems. It seems not as easy to get the robot keeping balanced as shown in the video. In this post, I …

Continue reading LEGO Spike Prime – Use PID to Control A Self-balancing Robot and Some Key Points

Which New Model to Choose From – LEGO Spike Prime or LEGO MindStorms Inventor?

In August of 2020, LEGO released a new version of LEGO MindStorms called LEGO MindStorms Inventor, which is released just a few months after the release of LEGO Spike Prime. So what is the difference between MindStorms Inventor and Spike Prime? Does that mean I have to upgrade my LEGO Spike Prime in order to …

Continue reading Which New Model to Choose From – LEGO Spike Prime or LEGO MindStorms Inventor?

Play LEGO Spike Prime – Upgrade Demo Project Security Box – Python Code

In my previous post, I introduced how to upgrade the model and programming blocks of the demo project – Security Box. In this post, I would “translate” the programming blocks into Python code. I would say it is an efficient way to get familiar with LEGO Spike Python module and improve your Python coding skills. …

Continue reading Play LEGO Spike Prime – Upgrade Demo Project Security Box – Python Code


Follow Our Future Articles

Get new content delivered directly to your inbox.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.