A tic-tac-toe application for foss-weekend.

Overview

TIC - TAC - TOE

How to Setup?

  • Fork the repository to your GitHub account.
  • Clone the forked repository to your local machine.
  • Add upstream to the cloned repository using the command git remote add upstream keeping the terminal head at the cloned project folder.
  • The project is now setup and can be directly opened from Android Studio.

How to Contribute?

  • Get yourself assigned to the issue you would like working on.
  • Create a new working branch from clean main branch using git checkout -b . All your changes should be made on new created branch only.
  • Stage and commit the changes once done. (git add . && git commit -m "".)
  • Push your committed changes to your forked repository using git push origin .
  • Create a pull request merging changes from origin/ to upstream/main.
  • In case of requested changes, do those changes and repeat from step 3.
  • Get your PR merged. πŸŽ‰

How to resolve a merge conflict using Android Studio?

Usually Git is able to automatically merge files when pulling changes from another branch. But sometimes a conflict arises when two separate branches have made edits to the same line in a file, or when a file has been deleted in one branch but edited in the other.

You can use Android Studio to resolve merge conflicts through its UI-based Git features. Here's how to do it:

  • Go to VCS > Git > Pull (set the remote to be upstream and branch to be develop). Or, use VCS > Git > Resolve Conflicts if you have already pulled the changes but haven’t resolved the conflicts.

image
(this may look different in the latest android studio update)

  • Usually, this will automatically merge the files. However, in the case of conflicts, it will prompt you to tell it what to do with those files.

image

  • You can either directly accept the changes from develop (discarding your local changes) or keep your own changes (discarding the changes from develop) based on the situation but it is suggested to go through each file line by line using the merge button in the prompt.

image

The file on the left shows changes from your local working branch and the file on the right shows the changes from the develop branch while the centre file being the final state of it. You can decide accordingly which change (or both) you want to keep for each conflict one by one using the arrows and cross sign on those highlighted lines. Once the conflicts are successfully resolved you can then commit and push your changes to your working branch.

Alternatively, merge conflicts can also be handeled using the terminal :

Resolving merge conflicts using the terminal.

Resolving merge conflicts using the terminal To resolve conflicts between β€˜new-branch-name’ (in your fork) and β€˜main', run:

git checkout new-branch-name
git fetch upstream
git merge upstream/main
git commit -a
git push origin new-branch-name

Feel free to ask any questions in case you are stuck somewhere.

Comments
  • Adjusting size of the Button in activity_main.xml

    Adjusting size of the Button in activity_main.xml

    • The text Play With Human in btnplaywithhuman Button has trailing and leading white spaces So that it matches the width of the button below (i.e.,btnplaywithcomp)
    • Remove the trailing and leading white spaces for that text and make some UI changes for that button So that it should look the same as before
    easy foss-weekend to-be-assigned 
    opened by Rohit1173 2
  • Missing Content Description for ImageButtons in the 3rd Row in activity_menu.xml

    Missing Content Description for ImageButtons in the 3rd Row in activity_menu.xml

    Set a Content Description for the ImageButton in the 3rd row for the 3x3 grid (i.e., btn7, btn8, btn9), and don't forget to use the @string resource while writing the Content Description

    easy foss-weekend to-be-assigned 
    opened by Rohit1173 2
  • Shift the dimensions of activity_main.xml to dimens.xml

    Shift the dimensions of activity_main.xml to dimens.xml

    Check the activity_main.xml and transfer every dimension value (i.e., represented in dp) to dimens.xml. After transferring you can use the @dimen to set the dimensions of a particular value

    easy foss-weekend to-be-assigned 
    opened by Rohit1173 2
  • Use snackbar instead of toasts for feedback messages.

    Use snackbar instead of toasts for feedback messages.

    Currently, the app uses toasts for feedback messages to the user for example, when clicked on PLAY WITH COMPUTER button.

    We want to replace this by snackbars instead of toasts for having a better looking material UI.

    Take references from stackoverflow and Android developers guide.

    medium foss-weekend to-be-assigned 
    opened by ayush0402 2
  • replaced setText with text

    replaced setText with text

    This PR fixes issue #17 Changes made: I have replaced binding.msgtext.setText("msg") with binding.msgtext.text = "msg" where ever it appears in MainActivity.kt

    accepted-3 
    opened by TsarPrince 1
  • Insert a new activity in between activity_menu.xml and activity_main.xml

    Insert a new activity in between activity_menu.xml and activity_main.xml

    • While playing the game the text below the game appears like Player X's turn or Player O's Turn
    • It would be better if we show the original names of the people playing the game
    • So we are going to create a new activity in between activity_menu.xml and activity_main.xml which collects the names of the 2 people So that we can use that names to represent Player X and O
    • The task for this issue is to create an activity named activity_details.xml which contains a black background and a button that takes us to the activity main.xml
    • activity_menu.xml ->activity_details.xml -> activity_main.xml
    • The editTexts and UI in activity_details.xml will be taken care in further issues
    hard foss-weekend to-be-assigned 
    opened by Rohit1173 1
  • Create a GitHub button in MenuActivity linking to this repo.

    Create a GitHub button in MenuActivity linking to this repo.

    • Create an ImageButton with GitHub's logo on Menu Acitivity.

    Clicking on that button should open this repository using an external web browser with Intents.

    medium foss-weekend to-be-assigned 
    opened by Rohit1173 1
  • Implement view binding in the project to access views easily replacing redundant findViewById function.

    Implement view binding in the project to access views easily replacing redundant findViewById function.

    Currently all views in the project are being referenced into the Kotlin files using findViewById method.

    We want to enable view binding at all places so that views can be directly accessed using binding.<view_id> instead.

    Reference: https://developer.android.com/topic/libraries/view-binding

    medium foss-weekend to-be-assigned 
    opened by ayush0402 1
  • Add logic for DetailsActivity's button. [Blocked on #20]

    Add logic for DetailsActivity's button. [Blocked on #20]

    The DetailsActivity should collect the names of the players and navigate to the next activity along with passing the collected data on button press. The messages about player turns at the MainActivity should also be replaced with the actual player names.

    More Details : #20

    hard foss-weekend to-be-assigned 
    opened by ayush0402 0
  • Create a new empty activity called DetailsActivity and design its layout.

    Create a new empty activity called DetailsActivity and design its layout.

    Currently, MenuActivity redirects to MainActivity on starting the game. We want to add an intermediate activity between these two and have two EditTexts to take input of the player names and show this instead of Player X and Player O in the MainActivity.

    This issue aims to design the layout for that activity only. It should be in according to the current theme of the app and should have two EditTexts and a Button.

    Note: Writing logic for passing the names data to the MainAcitivity on button press and showing the names there is not part of this issue. The goal here is to only create the xml layout design for the same.

    medium foss-weekend to-be-assigned 
    opened by ayush0402 2
  • Prepare a UI for activity_main.xml (land)

    Prepare a UI for activity_main.xml (land)

    • If we rotate the screen and see in the landscape mode, we could observe that the views are not arranged properly.
    • So we should create a landscape file and arrange the views in a good-looking way.
    • Ignore the data changes for this issue
    • PR with the best design gets merged
    medium foss-weekend to-be-assigned 
    opened by Rohit1173 0
  • Prepare a UI for activity_menu.xml (land)

    Prepare a UI for activity_menu.xml (land)

    • If we rotate the screen and see in the landscape mode, we could observe that the views are not arranged properly.
    • So we should create a landscape file and arrange the views in a good-looking way.
    • PR with the best design gets merged
    medium foss-weekend to-be-assigned 
    opened by Rohit1173 0
  • Missing Content Description for ImageButtons in the 2nd Row in activity_menu.xml

    Missing Content Description for ImageButtons in the 2nd Row in activity_menu.xml

    Set a Content Description for the ImageButtons in the 2nd row of the 3x3 grid (i.e., btn4, btn5, btn6 ), and don't forget to use the @string resource while writing the Content Description

    easy foss-weekend to-be-assigned 
    opened by Rohit1173 0
  • Missing Content Description for ImageButtons in the1st Row in activity_menu.xml

    Missing Content Description for ImageButtons in the1st Row in activity_menu.xml

    Set a Content Description for the ImageButtons in the 1st row of the 3x3 grid(i.e., btn1, btn2, btn3), and don't forget to use the @string resource while writing the Content Description

    easy foss-weekend to-be-assigned 
    opened by Rohit1173 0
Owner
Ayush Kumar
A Competitive Programmer and Android Development Enthusiast.
Ayush Kumar
TicTacToe - An android Tic-tac-toe, also known as noughts and crosses

Tic Tac Toe An android Tic-tac-toe, also known as noughts and crosses, or Xs and

null 2 Feb 28, 2022
Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid

Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid.

Sylwia 2 Feb 26, 2022
OpenModInstaller is an innovative open-source application for universal Minecraft mod management.

OpenModInstaller is an innovative open-source application for universal Minecraft mod management.

OpenModInstaller 11 Dec 9, 2021
A Sudoku Application using Graph Data Structure(Directed Colored Graph).

Project Overview Graph Sudoku is an application which was created with three goals in mind: Teach myself Jetpack Compose Teach myself Graph Datastruct

null 3 Aug 10, 2022
Application for downloading and installing mods for minecraft

Mods Rainbow Application for downloading and installing mods for minecraft. Also user can choose favourites mods. Table of Contents Screenshots Genera

Vladyslav 3 May 8, 2022
Android-application used as an introduction to Android development and Android APIs.

Android-application used as an introduction to Android development and Android APIs. This application is an implementation of the game Thirty and written in Kotlin.

Oscar Johansson 0 Nov 6, 2021
Wordle-solver - This application supports in finding the correct answer to the daily word puzzle game Wordle

Wordle-solver - This application supports in finding the correct answer to the daily word puzzle game Wordle

Jiri Bakker 1 Jan 19, 2022
Gameforma is a simple game list application where user could explore more than 350.000 games

Gameforma is a simple game list application where user could explore more than 350.000 games data provided from RAWG Video Games Database API. Built with MVVM repositoy pattern, clean architecture in order to finish Dicoding Menjadi Android Developer Expert's (MADE) class submission.

Naufal Aldy Pradana 3 Sep 22, 2022
This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and there is a button to continue playing and the game determines the result of each player

Game-X-O This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and the

Mohamed Rafat 2 Aug 20, 2022
Tic Tac Toe game using Test Driven Development

Tic Tac Toe About this Kata This short and simple Kata should be performed using Test Driven Development (TDD). Rules The rules are described below :

null 0 Oct 11, 2021
TicTacToe - An android Tic-tac-toe, also known as noughts and crosses

Tic Tac Toe An android Tic-tac-toe, also known as noughts and crosses, or Xs and

null 2 Feb 28, 2022
Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid

Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid.

Sylwia 2 Feb 26, 2022
ABCTingle is a simple app that i made over the weekend. Clicking each alphabets from letter 'A' to 'Z' plays the tranditional ABC song

I made ABCTingle over the weekend just for fun. Clicking each alphabets from letter A to Z plays the tranditional ABC song. I'm sure kids would enjoy their day with this app.

Gana Ebenezer 2 Feb 21, 2022
NekoX is an free and open source third-party Telegram client, based on Telegram-FOSS with features added.

NekoX NekoX is an free and open source third-party Telegram client, based on Telegram-FOSS with features added. We are no longer able to update versio

NekoX Dev 3.4k Dec 29, 2022
Unofficial, FOSS-friendly fork of the original Telegram client for Android

or 1McafEgMvqAVujNLtcJumZHxp2UfaNByqs Telegram-FOSS Telegram is a messaging app with a focus on speed and security. It’s superfast, simple and free. T

null 2k Jan 1, 2023
100% FOSS keyboard, based on AOSP.

OpenBoard 100% FOSS keyboard, based on AOSP. Community [matrix] channel Join here Common issues Cannot open settings in MIUI: See issue #46. Contribut

null 1.9k Jan 8, 2023
A FOSS Git multiplatform client based on Compose and JGit.

Gitnuro A FOSS Git client based on (Jetbrains) Compose and JGit. The main goal of Gitnuro is to provide a multiplatform open source Git client without

Abdelilah El Aissaoui 238 Dec 24, 2022
Simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.

GreenStash GreenStash is a simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money. ?? S

Pool-Of-Tears 112 Dec 3, 2022
D4rK QR & Bar Code Scanner Plus is a FOSS scanner app for every Android. πŸ“·

?? QR & Bar Code Scanner Plus ?? ╔╦╦╦═╦╗╔═╦═╦══╦═╗ β•‘β•‘β•‘β•‘β•©β•£β•šβ•£β•β•£β•‘β•‘β•‘β•‘β•‘β•©β•£ β•šβ•β•β•©β•β•©β•β•©β•β•©β•β•©β•©β•©β•©β•β• D4rK QR & Bar Code Scanner Plus is a FOSS scanner app for every

D4rK 8 Dec 19, 2022
Android application compatible with ZX2C4's Pass command line application

Password Store Download Documentation We're in the process of rewriting our documentation from scratch, and the work-in-progress state can be seen her

Android Password Store 2.2k Jan 8, 2023