Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
39dcf97
Setting up GitHub Classroom Feedback
github-classroom[bot] Mar 20, 2024
e9c0247
Add Boolean Bonanza game design documentation
angelo123r Mar 20, 2024
09ec447
Update README.md
pattiam Mar 20, 2024
7f59266
generate ceneterd board
pattiam Apr 2, 2024
1f531f9
dragging tiles functionality (doesnt work yet)
pattiam Apr 2, 2024
43c4843
Update tile size and add tile types
angelo123r Apr 3, 2024
af64626
dragging progress
pattiam Apr 3, 2024
60abe49
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
pattiam Apr 3, 2024
c179688
swapping tiles functionality
pattiam Apr 4, 2024
8aae023
select rows and cols
pattiam Apr 5, 2024
cae552d
quick redundancy fix
pattiam Apr 5, 2024
7d3ee65
unselects row if switching
pattiam Apr 5, 2024
bf3012a
tiles cant swap while other tiles are swapping
pattiam Apr 5, 2024
84dcf1c
Add tile removal functionality based on current direction
angelo123r Apr 5, 2024
d5eb81d
Refactor tile removal and addition logic in MainScene
angelo123r Apr 6, 2024
08d1ee7
Refactor tile movement and animation in MainScene
angelo123r Apr 6, 2024
6345d18
Add score display and update score when removing tiles
angelo123r Apr 8, 2024
3a98a86
added independent score setting functions
pattiam Apr 9, 2024
34ad51a
defined setScore method
pattiam Apr 9, 2024
931e46b
shake tile if inccorrect
pattiam Apr 9, 2024
20ac307
created board/tile class (need to fix addRow/Col)
pattiam Apr 9, 2024
d0a8034
refactor 2
pattiam Apr 9, 2024
5410e40
fixed tile added
pattiam Apr 9, 2024
4133af0
menu and tutorial screen
pattiam Apr 9, 2024
cc99a8a
pause menu added
pattiam Apr 9, 2024
2daeaa8
adjust column add tween
pattiam Apr 10, 2024
0c66e88
enums file for single source truth
pattiam Apr 10, 2024
f1ec4ec
removed enums.ts file: fixed unused DirectionType
pattiam Apr 10, 2024
bee4a6b
fixed NONE declared but not used
pattiam Apr 10, 2024
200f5df
Update tile images & fix board swap
angelo123r Apr 10, 2024
0b6d3a4
Refactor checkRow and checkCol methods to use checkLine
angelo123r Apr 11, 2024
11b1aeb
checkline should now work for all odd board sizes
pattiam Apr 11, 2024
6463905
Added extra condition to checkLine
pattiam Apr 11, 2024
d775a77
tile doesnt get deselected after swap
pattiam Apr 11, 2024
153384d
progression system
pattiam Apr 11, 2024
6e48c09
credits scene
pattiam Apr 11, 2024
896c3f3
added background of looseleaf
pattiam Apr 11, 2024
de50bf1
updated credits
pattiam Apr 11, 2024
99db472
changed tint of selected
pattiam Apr 11, 2024
0304293
removed unneeded Phaser import in Stages
pattiam Apr 11, 2024
e6ba5ec
background music and SFX :))
pattiam Apr 12, 2024
d1ac09d
pause menu sfx
pattiam Apr 12, 2024
4f5c2a0
fixed "unneccessary condition" prevent deployment
pattiam Apr 12, 2024
410b987
removed some print statements for cleaner console
pattiam Apr 12, 2024
a992467
title img added
pattiam Apr 12, 2024
4a18d46
Refactor checkRow and checkCol methods in Board.ts
angelo123r Apr 13, 2024
23212d7
Update Game and MainScene to pass game data between scenes
angelo123r Apr 15, 2024
f67bc92
Refactor mainScene
angelo123r Apr 17, 2024
830cea1
Comment out Board import in tutorialScene.ts
angelo123r Apr 17, 2024
50e4bc9
resizes tiles based off tile size
pattiam Apr 17, 2024
67acc13
patched glitch where spamming enter button shifts the tiles
pattiam Apr 17, 2024
469b40e
fixed showGames
pattiam Apr 18, 2024
5941676
freeplay added + resize board based on boardsize
pattiam Apr 18, 2024
95480a5
removed console log used for debugging
pattiam Apr 18, 2024
6c9da98
time limit
pattiam Apr 18, 2024
619fcd8
lives and swap limits
pattiam Apr 18, 2024
329a8aa
Add GameOverScene
angelo123r Apr 18, 2024
cc4dbaf
objectives implemented
pattiam Apr 19, 2024
f16763a
randomized objectives in freeplay
pattiam Apr 19, 2024
80f1aa3
randomized objectives for freeplay
pattiam Apr 19, 2024
7e6c1db
created "complex" random objectives
pattiam Apr 19, 2024
07ba430
cleaned unnused constants
pattiam Apr 19, 2024
d579124
updated complex objectives to combine duplicates
pattiam Apr 19, 2024
2ff43a8
commented sample objective for ref+cleaned unused
pattiam Apr 19, 2024
15b9b47
cleaned unused import
pattiam Apr 19, 2024
38706c8
Refactor GameOverScene UI elements for better readability and consist…
angelo123r Apr 19, 2024
d6d1ef1
Reset objectives in Game.ts and Objective.ts
angelo123r Apr 20, 2024
2e53f20
Refactor scene imports and rename TutorialScene to ControlScene
angelo123r Apr 22, 2024
7f5a28c
Refactor handleObjectives method in Game.ts and mainScene.ts for bett…
angelo123r Apr 22, 2024
c090b98
fix column objective check
angelo123r Apr 23, 2024
a0ef0b4
refactor progressionScene increment and decrement buttons in openFree…
angelo123r Apr 23, 2024
87613e8
Refactor settings labels in ProgressionScene to use createFreeplayTex…
angelo123r Apr 23, 2024
5b21a4b
added objectives to levels
angelo123r Apr 24, 2024
45d9d71
add tutorialScene for first levels labeled beginner
angelo123r Apr 27, 2024
8b6ed12
create tutorial level to teach controls
angelo123r Apr 30, 2024
8286935
numCompletions in objective & tut only needs 1
pattiam Apr 30, 2024
8d47c31
updated gameover and victory screne
pattiam Apr 30, 2024
1ff458e
change tutorial text font
angelo123r May 1, 2024
89b45f5
added paren and xor tiles
angelo123r May 1, 2024
4358633
added not tile
angelo123r May 1, 2024
d3574d9
fixed swap to wait for animation and changed levels
angelo123r May 1, 2024
60db8e5
added new tiles to freeplay
pattiam May 2, 2024
a47890c
added checker for possible board (not implemented)
pattiam May 2, 2024
811e1d3
corrected number of objectives on even boards
pattiam May 2, 2024
5162d94
updated default Game and progression
pattiam May 2, 2024
47517c5
fixed visual if selecting row/col during anim
pattiam May 2, 2024
3279022
fixed visual when swapTiles if row/col is selected
pattiam May 2, 2024
8241f84
refresh board logic
pattiam May 2, 2024
3a64dfb
swapValue fix
pattiam May 2, 2024
59dbe55
change up print statements
pattiam May 2, 2024
9b62055
calcualated "Usable Nots"
pattiam May 2, 2024
abee622
removed usable nots feature...
pattiam May 2, 2024
e133558
more edgecase stuff for possiblesolutions
pattiam May 2, 2024
c7da7d5
edited RandomComplexObjectives
pattiam May 2, 2024
8ee9f46
removed always false condition
pattiam May 2, 2024
8838027
menu anim
pattiam May 2, 2024
3aee8d6
added button class and refactored most buttons
pattiam May 2, 2024
335dff1
more button refactoring
pattiam May 2, 2024
7670386
added brackets to void arrow functions
pattiam May 2, 2024
21bbc35
import phaser on button
pattiam May 2, 2024
525f025
updated MenuScene
pattiam May 2, 2024
2d9475c
more sketches
pattiam May 2, 2024
bfbab95
import phaser
pattiam May 2, 2024
55d772e
started attempt of progressionScene update
pattiam May 2, 2024
c62d212
added sprites for tiles
angelo123r May 4, 2024
40c2fb9
add settingsScene
angelo123r May 6, 2024
d9bf772
fixed and added settings for music and sfx
angelo123r May 8, 2024
e2985b4
feat: Add sound effect when adjusting SFX volume in settings
angelo123r May 8, 2024
ee01535
fixed overlay on freeplay mode
angelo123r May 12, 2024
f6746b8
Updated game over scene and fixed freeplay overlay
angelo123r May 12, 2024
6a25627
updated victory screen
angelo123r May 12, 2024
f70f253
feat: updated icons and readme
angelo123r May 15, 2024
034f0a4
Update README.md
angelo123r May 15, 2024
b172c5e
chore: Update package name and homepage URL
angelo123r May 15, 2024
2df61a0
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
angelo123r May 15, 2024
e6cf515
Update README.md
angelo123r May 15, 2024
f7d3f3d
updated tutorial scene
angelo123r May 16, 2024
b5c1e90
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
angelo123r May 16, 2024
673082b
feat: Add logic to determine next game in victory scene
angelo123r May 17, 2024
c8b38a7
progression mostly worked, need to save local data
pattiam May 18, 2024
aa62bae
progression working
pattiam May 18, 2024
c0f3064
only progresses if youre at highest lvl
pattiam May 18, 2024
1c6d3e6
clean up
pattiam May 18, 2024
d70051a
update
pattiam May 18, 2024
7ac4bbf
cleanup
pattiam May 18, 2024
800f544
clean up
pattiam May 18, 2024
cd58259
freeplay update
pattiam May 18, 2024
fc98002
registry update
pattiam May 18, 2024
ece7b68
some art updates
pattiam May 18, 2024
6ebf98b
Add back button depth to control, credits, freeplay, and settings scenes
angelo123r May 18, 2024
b51f61b
add animation to level complete
angelo123r May 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 46 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,46 @@
REPLACE THIS WITH A DESCRIPTION OF YOUR GAME (in the README.md file).
# Game Name

Boolean Bonanza

# Team Color

Teal

# Developers

- Angelo Ramos (angelora@udel.edu)
- Patrick Tiamson (pattiam@udel.edu)

# Blurb

Dive into the exciting world of programming with our interactive puzzle game designed to make learning fun! Master the essential coding skill of boolean expressions as you solve engaging challenges that stimulate your mind. Perfect for beginners and experienced coders alike, our game transforms complex concepts into easy-to-understand, enjoyable puzzles. Whether you're looking to boost your programming skills or just love a good brain teaser, this game is your gateway to coding mastery. Ready to code and play your way to success? Join us and turn learning into an adventure!

# Basic Instructions

### Objective

- Evaluate boolean expressions to `true` to complete objectives

### Controls

- **Arrow Keys (Up, down, left, right) or WASD Keys**: Swap and move tiles around the board
- **R Key**: Select a row
- **C Key**: Select a column
- **ENTER Key**: Confirm your choice

# Screenshot

![Screenshot of gameplay in action](docs/large.png)

# Gameplay Video

https://drive.google.com/file/d/1C1m25t_aci_TQ4Rk8dyEPvJn0G0vVa6e/view

# Educational Game Design Document

Link to our [EGDD](https://ud-s24-cisc374.github.io/final-project-teal/docs/egdd)

# Credits

- <a href="https://www.vecteezy.com/vector-art/145740-children-drawing-vector">Children Drawing Vector Vectors by Vecteezy</a>
- <a href="https://www.vecteezy.com/vector-art/6561612-icon-in-hand-draw-style-drawing-with-wax-crayons-children-s-creativity">Icon in hand draw style. Drawing with wax crayons, children&#39;s creativity Vectors by Vecteezy</a>
Binary file modified assets/favicon.ico
Binary file not shown.
Binary file added assets/img/crumbled-paper-background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/fail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/game-over.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/level-complete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/looseleaf.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/soundSprites/sliderHandle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/soundSprites/soundHigh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/soundSprites/soundLow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/soundSprites/soundMedium.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/soundSprites/soundMute.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/title-screen-boolean-bonanza.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
120 changes: 78 additions & 42 deletions assets/index.html
Original file line number Diff line number Diff line change
@@ -1,53 +1,89 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />

<meta name="theme-color" content="#000000" />

<link rel="manifest" href="./manifest.json" />

<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="application-name" content="<%= htmlWebpackPlugin.options.gameName %>" />
<meta name="apple-mobile-web-app-title" content="<%= htmlWebpackPlugin.options.gameName %>" />
<meta name="msapplication-starturl" content="./" />

<link rel="icon" type="image/png" sizes="192x192" href="./icons/icons-192.png" />
<link rel="apple-touch-icon" type="image/png" sizes="192x192" href="./icons/icons-192.png" />

<link rel="icon" type="image/png" sizes="512x512" href="./icons/icons-512.png" />
<link rel="apple-touch-icon" type="image/png" sizes="512x512" href="./icons/icons-512.png" />

<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />

<title><%= htmlWebpackPlugin.options.gameName %></title>
<style>
html,
body {
height: 100%;
margin: 0;
background-color: #000000;
}
</style>
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />

<meta name="theme-color" content="#000000" />

<link rel="manifest" href="./manifest.json" />

<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta
name="application-name"
content="<%= htmlWebpackPlugin.options.gameName %>"
/>
<meta
name="apple-mobile-web-app-title"
content="<%= htmlWebpackPlugin.options.gameName %>"
/>
<meta name="msapplication-starturl" content="./" />

<link
rel="icon"
type="image/png"
sizes="192x192"
href="./icons/icons-192.png"
/>
<link
rel="apple-touch-icon"
type="image/png"
sizes="192x192"
href="./icons/icons-192.png"
/>

<link
rel="icon"
type="image/png"
sizes="512x512"
href="./icons/icons-512.png"
/>
<link
rel="apple-touch-icon"
type="image/png"
sizes="512x512"
href="./icons/icons-512.png"
/>

<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />

<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap"
rel="stylesheet"
/>

<title><%= htmlWebpackPlugin.options.gameName %></title>
<style>
html,
body {
height: 100%;
margin: 0;
background-color: #000000;
}
</style>

<noscript>Please enable javascript to continue using this application.</noscript>
<noscript
>Please enable javascript to continue using this
application.</noscript
>

<!-- installs the serviceWorker -->
<!-- <script>
<!-- installs the serviceWorker -->
<!-- <script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('./sw.js')
})
}
</script> -->
</head>
<body>
<div id="phaser-game"></div>
</body>
</head>
<body>
<div id="phaser-game"></div>
</body>
</html>
Binary file added assets/music/bg-music-1.wav
Binary file not shown.
Binary file added assets/sfx/click-1.wav
Binary file not shown.
Binary file added assets/sfx/crumple-paper-1.wav
Binary file not shown.
Binary file added assets/sfx/incorrect-1.wav
Binary file not shown.
Binary file added assets/sfx/pop-1.wav
Binary file not shown.
Binary file added assets/sfx/pop-click-1.wav
Binary file not shown.
Binary file added assets/sfx/slide-1.wav
Binary file not shown.
Binary file added assets/sfx/slide-2.wav
Binary file not shown.
Binary file added assets/sfx/sweep-1.wav
Binary file not shown.
Binary file added assets/sketches/sketch-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/sketches/sketch-9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/story-img1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/story-img2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/story-img3.png
Binary file added assets/story-img4.png
Binary file added assets/story-img5.png
Binary file added assets/tiles/andTile.png
Binary file added assets/tiles/andTileSelect.png
Binary file added assets/tiles/falseTile.png
Binary file added assets/tiles/falseTileSelect.png
Binary file added assets/tiles/leftParenTile.png
Binary file added assets/tiles/leftParenTileSelect.png
Binary file added assets/tiles/notTile.png
Binary file added assets/tiles/notTileSelect.png
Binary file added assets/tiles/orTile.png
Binary file added assets/tiles/orTileSelect.png
Binary file added assets/tiles/rightParenTile.png
Binary file added assets/tiles/rightParenTileSelect.png
Binary file added assets/tiles/trueTile.png
Binary file added assets/tiles/trueTileSelect.png
Binary file added assets/tiles/xorTile.png
Binary file added assets/tiles/xorTileSelect.png
Binary file added assets/victorySketches/victorySketch1.png
Binary file added assets/victorySketches/victorySketch10.png
Binary file added assets/victorySketches/victorySketch11.png
Binary file added assets/victorySketches/victorySketch12.png
Binary file added assets/victorySketches/victorySketch13.png
Binary file added assets/victorySketches/victorySketch14.png
Binary file added assets/victorySketches/victorySketch15.png
Binary file added assets/victorySketches/victorySketch16.png
Binary file added assets/victorySketches/victorySketch17.png
Binary file added assets/victorySketches/victorySketch18.png
Binary file added assets/victorySketches/victorySketch19.png
Binary file added assets/victorySketches/victorySketch2.png
Binary file added assets/victorySketches/victorySketch20.png
Binary file added assets/victorySketches/victorySketch21.png
Binary file added assets/victorySketches/victorySketch22.png
Binary file added assets/victorySketches/victorySketch23.png
Binary file added assets/victorySketches/victorySketch24.png
Binary file added assets/victorySketches/victorySketch25.png
Binary file added assets/victorySketches/victorySketch26.png
Binary file added assets/victorySketches/victorySketch3.png
Binary file added assets/victorySketches/victorySketch4.png
Binary file added assets/victorySketches/victorySketch5.png
Binary file added assets/victorySketches/victorySketch6.png
Binary file added assets/victorySketches/victorySketch7.png
Binary file added assets/victorySketches/victorySketch8.png
Binary file added assets/victorySketches/victorySketch9.png
191 changes: 190 additions & 1 deletion docs/egdd.md
Original file line number Diff line number Diff line change
@@ -1 +1,190 @@
REPLACE THIS TEXT WITH YOUR EGDD MARKDOWN.
# Boolean Bonanza

## Elevator Pitch

Picture a game where players dive into the exciting world of programming through interactive puzzles, focusing specifically on mastering boolean expressions, empowering learners with essential coding skills in a fun and engaging way!

## Influences (Brief)

- Candy Crush:
- Medium: Mobile Game
- Explanation: Candy crush is a simple match-3 puzzle game where you swap candies to match three or more of the same color. The game has similiar gameplay as candy crush.
- Yoshi's Cookie:
- Medium: Game
- Explanation: The game will have similar gameplay to Yoshi's cookie where you have to match rows

## Core Gameplay Mechanics (Brief)

- Click on tiles to swap between two tiles
- Having a row or column that has a true boolean will give you points and also delete the tiles
- Each level has a goal that you have to reach to advance to the next stage
- Each level gets more difficult with new boolean logic
- If a player doesn't complete the level in a certain amount of time then they fail and have to retry

# Learning Aspects

## Learning Domains

Introduction to boolean expressions

## Target Audiences

* Students studying computer science or programming at a beginner level
* Anyone seeking to understand basic programming concepts

## Target Contexts

* This would be used in introductory computer science classes teaching boolean expressions

## Learning Objectives

*Remember, Learning Objectives are NOT simply topics. They are statements of observable behavior that a learner can do after the learning experience. You cannot observe someone "understanding" or "knowing" something.*

- By the end of the lesson, players will be able to identify true or false boolean expressions
- By the end of the lesson, players will be able to apply boolean logic to solve simple programming problems
- By the end of the lesson, players will be able to construct boolean expressions involving logical operators AND, OR, NOT, and XOR

## Prerequisite Knowledge

*What do they need to know prior to trying this game?*

- Players should be familiar with boolean data type
- Players should know simple logic operators (AND, OR, NOT)
- Players should have a basic understanding of boolean algebra

## Assessment Measures

A short pre-test and matching post-test should be designed to assess student learning

- Given a boolean expression, identify if the expression evaluates to true or false
- Construct a boolean expression using certain logical operators

# What sets this project apart?

- Unlike most games, this one is designed to specifically teach fundamental programming concepts
- Players interact with boolean expressions through gameplay, reinforcing their understanding

# Player Interaction Patterns and Modes

## Player Interaction Pattern

This is a one person game. The player clicks on two tiles to swap them

## Player Modes

- Single-player: You repeatedly advance through levels until you reach the end

# Gameplay Objectives

- Create true boolean expressions:
- Description: Complete level-specific goals by creating rows or columns of true boolean expressions. Score more points by getting more rows/columns.
- Alignment: Reinforces understanding of boolean expressions and operators.
- Unlock new and more challenging levels:
- Description: Progress through increasingly challenging levels, introducing new boolean logic.
- Alignment: Provides opportunities to apply and expand knowledge of boolean concepts.


# Procedures/Actions

- Players swap tiles to create rows or columns of true boolean expressions.
- Each level presents specific goals to achieve within a time limit.

# Rules

- Players can swap adjacent tiles to create matches.
- Complete a level by getting the desired score within specified constraints like time limits or move/swap limits
- Different tiles represent true, false, and logical operators

# Objects/Entities
- Tiles
- Animations/Particles
- Music/SFX
- Navigation Menus

## Core Gameplay Mechanics (Detailed)

- Swap Tiles: Players swap tiles to create rows or columns of true boolean expressions, with different tiles representing true, false, and logical operators. An animation will occur on swipe and effects will pop up when the row/column is complete.
- Level Up: Each level presents specific goals to achieve using boolean expressions, introducing new logic and challenges. Each level is randomly generated but offers new challenges such as different boolean operators. There will be more rows and columns as the player progresses
- Time Limit: Time limit adds urgency, encouraging quick thinking and decision-making.


## Feedback

Short Term Feedback:
- "Ding" noises on correct swipes
- Score Indicator (text) showcase how well they are doing in the game

Long Term Feedback:
- Leveling System Will Indicate Long Term Progress
- Visuals that indicate What Level You are (Progress Bar)

# Story and Gameplay

## Presentation of Rules

- An animamtion of a cursor swapping two tiles to show how the swap tiles
- Tutorial that shows how to make completed row/col on a small board (3x3)
- Highlight the on-screen timer during the tutorial mode
- Visual and audio cues indicate successful matches and progress towards level goals.

## Presentation of Content

- Introduce a small interactice tutorial when a new logical operator is added to the level.
- Possible tutorial menu to relearn boolean concepts

## Story (Brief)

Boolean Bonanza challenges players with progressively difficult puzzles, immersing them in the world of boolean expressions. The graphics are fun similar to Candy Crush.

## Storyboarding

[![image1](/assets/story-img1.png "image1")](https://docs.google.com/presentation/d/1ByYG8yYKBdqLnavDl0nlWLJHGGYMCE1L/edit?usp=sharing&ouid=112997788902853184335&rtpof=true&sd=true)

[![image2](/assets/story-img2.png "image2")](https://docs.google.com/presentation/d/1ByYG8yYKBdqLnavDl0nlWLJHGGYMCE1L/edit?usp=sharing&ouid=112997788902853184335&rtpof=true&sd=true)

[![image3](/assets/story-img3.png "image3")](https://docs.google.com/presentation/d/1ByYG8yYKBdqLnavDl0nlWLJHGGYMCE1L/edit?usp=sharing&ouid=112997788902853184335&rtpof=true&sd=true)

[![image4](/assets/story-img4.png "image4")](https://docs.google.com/presentation/d/1ByYG8yYKBdqLnavDl0nlWLJHGGYMCE1L/edit?usp=sharing&ouid=112997788902853184335&rtpof=true&sd=true)

[![image5](/assets/story-img5.png "image5")](https://docs.google.com/presentation/d/1ByYG8yYKBdqLnavDl0nlWLJHGGYMCE1L/edit?usp=sharing&ouid=112997788902853184335&rtpof=true&sd=true)

# Assets Needed

## Aethestics

- Vibrant visuals with a playful, educational atmosphere.
- Engaging sound effects and music enhancing the gaming experience.

## Graphical

- Characters List
- No "characters"
- Tiles representing true, false, and logical operators
- Textures:
- Playful cube textures for the tile
- Fun colors similar to Candy Crush
- Environment Art/Textures:
- Menu graphics
- Level Map graphics
- Background art during levels


## Audio

- Music List (Ambient sound)
- In Game Music: Ambient music to accompany gameplay, increases pace as time runs out
- Main menu music: Fun, 8-bit style music when player is in main menu/choosing a level

*Game Interactions are things that trigger SFX, like character movement, hitting a spiky enemy, collecting a coin.*

- Sound List (SFX)
- Swapping Tiles: the sound of tiles rubbing against each other
- Scoring Points: coin collection sound
- Completed Rows/Column: Mini Checkmark noise (like the duolingo sound)
- Clicking/Hovering over Menu Items: Short click noises for auditory feedback


# Metadata

* Template created by Austin Cory Bart <acbart@udel.edu>, Mark Sheriff, Alec Markarian, and Benjamin Stanley.
* Version 0.0.3
Binary file added docs/large.png
Binary file added docs/small.png
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "final-project",
"name": "boolean-bonanza",
"version": "4.0.0",
"description": "Phaser 3 Final Project",
"homepage": "https://github.com/UD-S24-CISC374/final-project-template#readme",
"description": "Boolean Bonanza Game",
"homepage": "https://github.com/UD-S24-CISC374/final-project-teal#readme",
"main": "index.js",
"scripts": {
"start": "webpack serve --config webpack/webpack.dev.js",
Expand Down
Binary file modified pwa/icons/icons-192.png
Binary file modified pwa/icons/icons-512.png
Loading