Skip to content

Instantly share code, notes, and snippets.

View Dev-Owl's full-sized avatar
🦉

Christian Dev-Owl

🦉
View GitHub Profile
@Dev-Owl
Dev-Owl / maze_example.dart
Created December 8, 2019 15:27
Example to get a maze
import 'package:theseus/theseus.dart';
import 'package:theseus/src/formatters/formatters.dart' as formatters;
main(List<String> arguments) {
var mazeOption = MazeOptions(width: 8, height: 8);
var orthogonalMaze = OrthogonalMaze(mazeOption);
print("generating the maze...");
orthogonalMaze.generate();
printMaze(orthogonalMaze);
@Dev-Owl
Dev-Owl / output.txt
Created December 8, 2019 15:32
Output of the maze generator
mode: ASCIIMode.lines
_________________
_____ | _ |
|_ | _|___| _|
| _|___ |_ |
| | ___|_ | |
| | | | _ |_| |
| |_| | | | | _|
| | | | | | | |
|_|_|_____|______
@Dev-Owl
Dev-Owl / wall.dart
Created December 15, 2019 14:58
The wall for the maze ball game
import 'dart:ui';
import 'package:box2d_flame/box2d.dart';
import 'package:mazeball/game.dart';
import 'package:mazeball/helper.dart';
class Wall {
//Ref to our game object
final MazeBallGame game;
//Size of the ball, radius in meter
static final double wallWidth = 5;
@Dev-Owl
Dev-Owl / mazeBuilder.dart
Created December 15, 2019 15:02
Build a maze for maze ball game
import 'dart:ui';
import 'package:box2d_flame/box2d.dart' as box2d;
import 'package:mazeball/Elements/wall.dart';
import 'package:mazeball/game.dart';
import 'package:theseus/theseus.dart';
class MazeBuilder {
//Size of the maze
int _width;
int _height;
@Dev-Owl
Dev-Owl / baseView.dart
Created December 19, 2019 12:16
view for maze ball game
import 'package:flutter/widgets.dart';
import 'package:mazeball/Views/base/viewSwtichMessage.dart';
import 'package:mazeball/Views/viewManager.dart';
enum GameView {
MainMenuBackground,
Playing,
Win,
Options,
}
@Dev-Owl
Dev-Owl / viewManager.dart
Created December 19, 2019 12:18
Manager for views in maze ball game
import 'dart:ui';
import 'package:mazeball/Views/base/baseView.dart';
import 'package:mazeball/Views/mainMenuBackground.dart';
import 'package:mazeball/Views/optionBackground.dart';
import 'package:mazeball/Views/playingView.dart';
import 'package:mazeball/game.dart';
import 'base/viewSwtichMessage.dart';
class ViewManager {
List<BaseView> views;
@Dev-Owl
Dev-Owl / mainMenuBackground.dart
Created December 19, 2019 12:23
Background main menu for maze ball
import 'dart:ui';
import 'package:box2d_flame/box2d.dart';
import 'package:mazeball/Elements/ball.dart';
import 'package:mazeball/Elements/wall.dart';
import 'package:mazeball/Views/base/viewSwtichMessage.dart';
import 'package:mazeball/Views/viewManager.dart';
import 'package:mazeball/helper.dart';
import 'base/baseView.dart';
@Dev-Owl
Dev-Owl / mainMenu.dart
Created December 19, 2019 12:29
Full main menu of maze ball game
import 'package:flutter/material.dart';
import 'package:mazeball/Views/aboutDialog.dart';
import 'package:mazeball/Views/base/baseView.dart';
import 'package:mazeball/Views/option.dart';
import 'package:mazeball/game.dart';
class StartScreen extends StatefulWidget {
@override
_StartScreenState createState() => _StartScreenState();
}
@Dev-Owl
Dev-Owl / example.dart
Created December 19, 2019 12:40
settings for maze ball game
var prefs = await SharedPreferences.getInstance();
var savedHeight = prefs.getInt("maze_height") ?? 8;
var savedWidth = prefs.getInt("maze_width") ?? 8;
await prefs.setInt("maze_width", toInt(widthController.text,defaultValue: 8));
await prefs.setInt("maze_height", toInt(heightController.text,defaultValue: 8));
@Dev-Owl
Dev-Owl / settings.dart
Created April 1, 2020 13:17
Settings drawer for SIR Flutter
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:sirflutter/simulation_data.dart';
typedef SettingChangedCallback = void Function(SirSimulation data);
class Settings extends StatelessWidget {
final VoidCallback expandToggleTap;
final SettingChangedCallback settingChangedCallback;